VerifierMmUnlockPages
VOID __stdcall VerifierMmUnlockPages(_MDL *MemoryDescriptorList){
__int64 v1;
__int64 v2;
unsigned __int8 CurrentIrql;
ULONG_PTR MdlFlags;
UINT64 v6;
UINT64 v7;
VOID *retaddr;
CurrentIrql = KeGetCurrentIrql();
if( CurrentIrql > 2u && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x78u, CurrentIrql, (ULONG_PTR)MemoryDescriptorList, 0, v7);
MdlFlags = MemoryDescriptorList->MdlFlags;
if( (MdlFlags & 2) == 0 && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x7Cu, (ULONG_PTR)MemoryDescriptorList, MdlFlags, 0, v7);
if( (unsigned int)VfVerifyMode >= 3 && (MdlFlags & 4) != 0 && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x7Du, (ULONG_PTR)MemoryDescriptorList, MdlFlags, 0, v7);
if( (MdlFlags & 0x10) != 0 && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0xB4u, (ULONG_PTR)MemoryDescriptorList, MdlFlags, 0x10u, v7);
if( (MdlFlags & 1) != 0 && (MmVerifierData & 0x1000) != 0 )
ViTargetAddToCounter(retaddr, 0xC0ui64, 0xC8ui64, -(__int64)MemoryDescriptorList->ByteCount);
v6 = -(__int64)MemoryDescriptorList->ByteCount;
if( (MmVerifierData & 0x1000) != 0 )
ViTargetAddToCounter(retaddr, 0xB0ui64, 0xB8ui64, v6);
((void(__fastcall *)(_MDL *, __int64, __int64, UINT64))pXdvMmUnlockPages)(MemoryDescriptorList, v1, v2, v6);
}Referenced by:
No references.