IopfCallDriver
NTSTATUS __stdcall IopfCallDriver(_DEVICE_OBJECT *DeviceObject, _IRP *Irp){
unsigned __int8 *v2;
__int64 v3;
if( (char)--*((_BYTE *)Irp + 67) <= 0 )
KeBugCheckEx(0x35u, (ULONG_PTR)Irp, 0i64, 0i64, 0i64);
v2 = (unsigned __int8 *)(*((_QWORD *)Irp + 23) - 72i64);
*((_QWORD *)Irp + 23) = v2;
v3 = *v2;
*((_QWORD *)v2 + 5) = DeviceObject;
if( (_BYTE)v3 == 22 && (unsigned __int8)(v2[1] - 2) <= 1u )
return IopPoHandleIrp(Irp);
else
return(*(__int64(__fastcall **)(_DEVICE_OBJECT *))(*((_QWORD *)DeviceObject + 1) + 8 * v3 + 112))(DeviceObject);
}Referenced by:
IofCallDriverSpecifyReturn
IopPerfCallDriver
IovCallDriver
IovpCallDriverNoIrpTracking
IovpCallDriverWithStackBuffer