VerifierMmProbeAndLockProcessPages
VOID __stdcall VerifierMmProbeAndLockProcessPages(
PVOID MemoryDescriptorList,
PVOID Process,
INT8 AccessMode,
_LOCK_OPERATION Operation){
unsigned __int8 CurrentIrql;
__int16 v9;
unsigned __int16 v10;
__int64 v11;
UINT64 v12;
VOID *retaddr;
CurrentIrql = KeGetCurrentIrql();
if( CurrentIrql > 2u && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(
0xC4ui64,
0x71u,
CurrentIrql,
(ULONG_PTR)MemoryDescriptorList,
(ULONG_PTR)Process,
v12);
v9 = 2071;
if( (unsigned int)VfVerifyMode < 3 )
v9 = 2067;
v10 = *((_WORD *)MemoryDescriptorList + 5);
if( (v10 & (unsigned __int16)v9) != 0 && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(
0xC4ui64,
0xB1u,
(ULONG_PTR)MemoryDescriptorList,
*((__int16 *)MemoryDescriptorList + 5),
v10 & (unsigned __int16)v9,
v12);
if( VfFaultsInjectResourceFailure(0i64) == 1 )
RtlRaiseStatus(-1073741663);
LOBYTE(v11) = AccessMode;
((void(__fastcall *)(PVOID, PVOID, __int64, _QWORD))pXdvMmProbeAndLockProcessPages)(
MemoryDescriptorList,
Process,
v11,
(unsigned int)Operation);
if( (MmVerifierData & 0x1000) != 0 )
ViTargetAddToCounter(retaddr, 0xB0ui64, 0xB8ui64, *((unsigned int *)MemoryDescriptorList + 10));
}Referenced by:
No references.