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.