KseDsCallbackHookIrpPnpFunction
VOID __fastcall KseDsCallbackHookIrpPnpFunction(_DEVICE_OBJECT *DeviceObject, _IRP *Irp){
_IO_STACK_LOCATION *CurrentStackLocation;
unsigned int MinorFunction;
__int64 MajorFunction;
VOID(__stdcall *v7)(_DEVICE_OBJECT *, _IRP *, VOID *);
__int64 v8;
INT64 Status;
CurrentStackLocation = Irp->Tail.CurrentStackLocation;
MinorFunction = CurrentStackLocation->MinorFunction;
MajorFunction = CurrentStackLocation->MajorFunction;
if( !CurrentStackLocation->MinorFunction )
{
v7 = KseDsCompletionHookForStartDevice;
LABEL_5:
(*(void(__fastcall **)(_DEVICE_OBJECT *, _IRP *, VOID(__stdcall *)(_DEVICE_OBJECT *, _IRP *, VOID *), _QWORD))(qword_140C03208 + 8))(
DeviceObject,
Irp,
v7,
0i64);
goto LABEL_6;
}
if( MinorFunction == 4 )
{
v7 = KseDsCompletionHookForStopDevice;
goto LABEL_5;
}
LABEL_6:
v8 = (*(__int64(__fastcall **)(_DRIVER_OBJECT *))qword_140C03208)(DeviceObject->DriverObject);
LODWORD(Status) = (*(__int64(__fastcall **)(_DEVICE_OBJECT *, _IRP *))(v8 + 8 * MajorFunction + 32))(
DeviceObject,
Irp);
KsepDsEventPnpIrp(DeviceObject->DriverObject, DeviceObject, Irp, MinorFunction, Status);
}Referenced by:
No references.