HalpDriverEntry

NTSTATUS __stdcall HalpDriverEntry(DRIVER_OBJECT *DriverObject, UNICODE_STRING *RegistryPath){
  _DRIVER_EXTENSION *DriverExtension; 
  NTSTATUS result; 
  PDEVICE_OBJECT TargetDevice; 
  DriverExtension = DriverObject->DriverExtension;
  TargetDevice = 0i64;
  HalpDriverObject = DriverObject;
  DriverExtension->AddDevice = (int(__fastcall *)(_DRIVER_OBJECT *, _DEVICE_OBJECT *))HalpAddDevice;
  DriverObject->MajorFunction[27] = (int(__fastcall *)(_DEVICE_OBJECT *, _IRP *))HalpDispatchPnp;
  DriverObject->MajorFunction[22] = (int(__fastcall *)(_DEVICE_OBJECT *, _IRP *))HalpDispatchPower;
  DriverObject->MajorFunction[23] = (int(__fastcall *)(_DEVICE_OBJECT *, _IRP *))HalpDispatchWmi;
  result = IoReportDetectedDevice(
             DriverObject,
             InterfaceTypeUndefined,
             0xFFFFFFFF,
             0xFFFFFFFF,
             0i64,
             0i64,
             0,
             &TargetDevice);
  if( result >= 0 )
  {
    HalpAddDevice(DriverObject, TargetDevice);
    return 0;
  }
  return result;
}

Referenced by:

No references.