IoReserveDependency

NTSTATUS __stdcall IoReserveDependency(
        _DEVICE_OBJECT *DependentPdo,
        _UNICODE_STRING *ProviderId,
        UINT64 DependencyTypes){
  NTSTATUS v3; 
  _PNP_BINDING_RESOLUTION Dependent[2]; 
  _DEVICE_OBJECT *v6; 
  _PNP_BINDING_REQUEST Request[2]; 
  _UNICODE_STRING *v8; 
  int v9; 
  int v10; 

  Dependent[1] = 0;
  Request[1] = 0;
  v10 = 0;
  if( !DependentPdo
    || !ProviderId
    || !ProviderId->Length
    || (DependencyTypes & 3) == 0
    || (DependencyTypes & 0xFFFFFFFC) != 0 )
  {
    return -1073741811;
  }
  Request[0] = 1;
  v8 = ProviderId;
  v9 = DependencyTypes;
  Dependent[0] = 0;
  v6 = DependentPdo;
  PnpAcquireDependencyRelationsLock(1);
  v3 = PipSetDependency(Dependent, Request);
  ExReleaseResourceLite((PERESOURCE)((char *)&stru_140C452E0 + 384));
  PpDevNodeUnlockTree(PPL_SIMPLE_READ);
  return v3;
}

Referenced by:

No references.