PnpStartDevice
__int64 __fastcall PnpStartDevice(
_DEVICE_OBJECT *DeviceObject,
int (__fastcall *a2)(_DEVICE_OBJECT *, _IRP *, void *),
UINT64 *a3){
void *DeviceNode;
__int64 v7;
_IO_STACK_LOCATION TopStackLocation;
if( DeviceObject )
DeviceNode = DeviceObject->DeviceObjectExtension->DeviceNode;
else
DeviceNode = 0i64;
PoFxPrepareDevice((_DEVICE_NODE *)DeviceNode, 1u);
*((_DWORD *)DeviceNode + 39) = 1;
memset(&TopStackLocation, 0i64, sizeof(TopStackLocation));
TopStackLocation.Parameters.SecurityContext = (_IO_SECURITY_CONTEXT *)*((_QWORD *)DeviceNode + 52);
*(_QWORD *)&TopStackLocation.Parameters.Options = *((_QWORD *)DeviceNode + 53);
*(_WORD *)&TopStackLocation.MajorFunction = 27;
return PnpSendIrp(DeviceObject, &TopStackLocation, v7, a2, a3);
}Referenced by:
PnpStartDeviceNode