VerifierMmMapLockedPagesSpecifyCache
VOID *__stdcall VerifierMmMapLockedPagesSpecifyCache(
PMDL MemoryDescriptorList,
INT64 AccessMode,
_MEMORY_CACHING_TYPE CacheType,
VOID *RequestedAddress,
UINT64 BugCheckOnFailure,
_MM_PAGE_PRIORITY Priority){
CHAR v8;
VOID *v10;
UINT64 Param4;
UINT64 v13;
VOID *retaddr;
v8 = AccessMode;
if( (MmVerifierData & 1) != 0 )
ViMmMapLockedPagesSanityChecks(MemoryDescriptorList, AccessMode);
VfCheckPagePriority(Priority, retaddr);
if( (MemoryDescriptorList->MdlFlags & 0x2000) == 0 && (_DWORD)BugCheckOnFailure )
{
if( VfFaultsIsSystemSufficientlyBooted() && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(
0xC4ui64,
0x82u,
(ULONG_PTR)MemoryDescriptorList,
MemoryDescriptorList->MdlFlags,
BugCheckOnFailure,
v13);
goto LABEL_8;
}
if( VfFaultsInjectResourceFailure(0i64) != 1 )
{
LABEL_8:
LODWORD(v13) = Priority;
LODWORD(Param4) = BugCheckOnFailure;
v10 = MmMapLockedPagesSpecifyCache(MemoryDescriptorList, v8, CacheType, RequestedAddress, Param4, v13);
VfAllocPoolNotification(v10, MemoryDescriptorList->ByteCount);
if( v10 )
{
if( (MmVerifierData & 0x1000) != 0 )
ViTargetAddToCounter(retaddr, 0xC0ui64, 0xC8ui64, MemoryDescriptorList->ByteCount);
}
return v10;
}
if( v8 )
RtlRaiseStatus(-1073741670);
return 0i64;
}Referenced by:
No references.