IopAllocateBootResources

INT64 __fastcall IopAllocateBootResources(
        ARBITER_REQUEST_SOURCE ArbiterRequestSource,
        DEVICE_OBJECT *DeviceObject,
        CM_RESOURCE_LIST *BootResources){
  _ETHREAD *CurrentThread; 
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --*((_WORD *)CurrentThread + 242);
  KeWaitForSingleObject(&PpRegistrySemaphore, DelayExecution, 0, 0, 0i64);
  LODWORD(BootResources) = IopAllocateBootResourcesInternal(ArbiterRequestSource, DeviceObject, BootResources);
  KeReleaseSemaphore(&PpRegistrySemaphore, 0i64, 1i64, 0);
  KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
  return(unsigned int)BootResources;
}

Referenced by:

IopAllocateLegacyBootResources
IopReportBootResources