PiProcessStartSystemDevices

NTSTATUS __stdcall PiProcessStartSystemDevices(_PNP_DEVICE_ACTION_ENTRY *Request){
  _DEVICE_NODE *DeviceNode; 
  UINT64 ReallocateResources; 
  UINT64 Synchronous; 
  UINT64 ProcessOnlyIntermediateStates; 
  _ADD_CONTEXT AddContext; 

  AddContext = 0i64;
  PnpDiagnosticTrace(&KMPnPEvt_SystemStartPnPEnum_Start, 0, 0i64);
  LOBYTE(ProcessOnlyIntermediateStates) = 0;
  LOBYTE(Synchronous) = 0;
  LOBYTE(ReallocateResources) = 0;
  DeviceNode = (_DEVICE_NODE *)Request->DeviceObject->DeviceObjectExtension->DeviceNode;
  AddContext.DriverStartType = 3;
  AddContext.LoadDriver = *(&PnpReplaceEvent + 6682);
  PipProcessDevNodeTree(
    DeviceNode,
    Request,
    &AddContext,
    EnumTypeNone,
    ReallocateResources,
    Synchronous,
    ProcessOnlyIntermediateStates);
  PnpDiagnosticTrace(&KMPnPEvt_SystemStartPnPEnum_Stop, 0, 0i64);
  return 0;
}

Referenced by:

PnpDeviceActionWorker