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