MiIssueSynchronousFlush
VOID __stdcall MiIssueSynchronousFlush(
_FILE_OBJECT *FileObject,
_MDL *Mdl,
UINT64 StartingOffset,
UINT8 IrpSpFlags,
VOID *IoAttributionContext,
_IO_STATUS_BLOCK *IoStatus){
_IO_STATUS_BLOCK *v9;
NTSTATUS v10;
int Object[2];
__int64 v12[3];
_LARGE_INTEGER StartingOffseta;
StartingOffseta.QuadPart = StartingOffset;
Object[1] = 0;
v12[1] = (__int64)v12;
Object[0] = 393216;
v12[0] = (__int64)v12;
KeResetEvent((_KEVENT *)Object);
v9 = IoStatus;
v10 = IoSynchronousPageWriteEx(
FileObject,
Mdl,
&StartingOffseta,
(_KEVENT *)Object,
IrpSpFlags,
IoAttributionContext,
IoStatus);
if( v10 < 0 )
v9->Status = v10;
else
KeWaitForSingleObject((UINT64)Object, 19, 0, 0, 0i64);
}Referenced by:
MiFlushSectionInternal