VerifierMmProbeAndLockPages
VOID __stdcall VerifierMmProbeAndLockPages(_MDL *MemoryDescriptorList, UINT64 AccessMode, _LOCK_OPERATION Operation){
char v4;
unsigned __int8 CurrentIrql;
__int16 v7;
__int16 MdlFlags;
__int64 v9;
UINT64 v10;
VOID *retaddr;
v4 = AccessMode;
CurrentIrql = KeGetCurrentIrql();
if( CurrentIrql > 2u && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x70u, CurrentIrql, (ULONG_PTR)MemoryDescriptorList, (char)AccessMode, v10);
v7 = 2071;
if( (unsigned int)VfVerifyMode < 3 )
v7 = 2067;
MdlFlags = MemoryDescriptorList->MdlFlags;
if( ((unsigned __int16)MdlFlags & (unsigned __int16)v7) != 0 && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(
0xC4ui64,
0xB0u,
(ULONG_PTR)MemoryDescriptorList,
MemoryDescriptorList->MdlFlags,
(unsigned __int16)MdlFlags & (unsigned __int16)v7,
v10);
if( VfFaultsInjectResourceFailure(0i64) == 1 )
RtlRaiseStatus(-1073741663);
LOBYTE(v9) = v4;
((void(__fastcall *)(_MDL *, __int64, _QWORD))pXdvMmProbeAndLockPages)(
MemoryDescriptorList,
v9,
(unsigned int)Operation);
if( (MmVerifierData & 0x1000) != 0 )
ViTargetAddToCounter(retaddr, 0xB0ui64, 0xB8ui64, MemoryDescriptorList->ByteCount);
}Referenced by:
No references.