IoSynchronousCallDriver
INT64 __fastcall IoSynchronousCallDriver(_DEVICE_OBJECT *DeviceObject, _IRP *Irp){
__int64 v3;
INT64 result;
int Object[2];
_QWORD v6[4];
Object[1] = 0;
Object[0] = 393216;
v6[1] = v6;
v6[0] = v6;
v3 = *((_QWORD *)Irp + 23);
*(_QWORD *)(v3 - 16) = SmKmGenericCompletion;
*(_QWORD *)(v3 - 8) = Object;
*(_BYTE *)(v3 - 69) = -32;
LODWORD(result) = IofCallDriver(DeviceObject, Irp);
if( (_DWORD)result == 259 )
{
KeWaitForSingleObject(Object, Suspended, 0, 0, 0i64);
return *((unsigned int *)Irp + 12);
}
return result;
}Referenced by:
FsRtlGetFileExtents
FsRtlMdlReadEx
FsRtlPrepareMdlWriteEx
IoForwardIrpSynchronously
NT_DISK::Read
NT_DISK::Write
PopAcquireCoolingInterface
PopBatteryInitialize
PopBatteryQueryEstimatedTime
PopBatteryQueryStatus
PopBatteryReadTag
WmipGetFilePDO