HalpDriverEntry
NTSTATUS __stdcall HalpDriverEntry(_DRIVER_OBJECT *DriverObject, _UNICODE_STRING *RegistryPath){
_DRIVER_EXTENSION *DriverExtension;
NTSTATUS result;
_DEVICE_OBJECT *PhysicalDeviceObject;
DriverExtension = DriverObject->DriverExtension;
PhysicalDeviceObject = 0i64;
qword_140C49EC0 = 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,
0xFFFFFFFFui64,
0xFFFFFFFFui64,
0i64,
0i64,
0,
&PhysicalDeviceObject);
if( result >= 0 )
{
HalpAddDevice(DriverObject, PhysicalDeviceObject);
return 0;
}
return result;
}Referenced by:
No references.