IoPageRead
VOID __stdcall IoPageRead(
_FILE_OBJECT *FileObject,
_MDL *MemoryDescriptorList,
_LARGE_INTEGER *StartingOffset,
_KEVENT *Event,
_IO_STATUS_BLOCK *IoStatusBlock){
int v7;
__int64 v8;
unsigned __int64 v9;
int v10;
int v11;
MDL *v12;
char v13;
UINT64 Flags;
v7 = 0;
if( ((unsigned __int8)FileObject & 3) != 0 )
{
v13 = (char)FileObject;
FileObject = (_FILE_OBJECT *)((unsigned __int64)FileObject & 0xFFFFFFFFFFFFFFFCui64);
v7 = 2 - ((v13 & 1) != 0i64);
}
v8 = (unsigned __int8)MemoryDescriptorList & 1;
v9 = (unsigned __int64)MemoryDescriptorList & 0xFFFFFFFFFFFFFFFEui64;
if( ((unsigned __int8)MemoryDescriptorList & 1) == 0 )
v9 = (unsigned __int64)MemoryDescriptorList;
v10 = v7 | 4;
if( !v8 )
v10 = v7;
v11 = v10 | 8;
if( (v9 & 2) == 0 )
v11 = v10;
v12 = (MDL *)(v9 & 0xFFFFFFFFFFFFFFFDui64);
if( (v9 & 2) == 0 )
v12 = (MDL *)v9;
LODWORD(Flags) = v11;
IoPageReadEx(FileObject, v12, StartingOffset, Event, IoStatusBlock, Flags, 0i64);
}Referenced by:
PopReadPagesFromHiberFile