MiWritePteShadow
CHAR __stdcall MiWritePteShadow(){
_ETHREAD *CurrentThread;
__int64 v1;
unsigned __int64 v2;
__int64 v3;
LODWORD(CurrentThread) = MiPteHasShadow();
if( (_DWORD)CurrentThread )
{
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v3 = *(_QWORD *)(*((_QWORD *)CurrentThread + 23) + 1928i64);
if( v3 )
{
LOBYTE(CurrentThread) = -(v1 & 1);
*(_QWORD *)(v3 + 8 * ((v2 >> 3) & 0x1FF)) = v1 & 0x7FFFFFFFFFFFFFFFi64 & -(__int64)((v1 & 1) != 0);
}
}
return(char)CurrentThread;
}Referenced by:
MiClearDriverHotPatchPtes
MiDeleteVa
MiFillGapPtes
MiInsertLargeUserMapping
MiMakeProtoReadOnly
MiMakeSystemLeavesNonZero
MiMapMdlCommon
MiMapMemoryDumpMdl
MiRewriteTrimPteAsDemandZero
MiScrubLargeMappedPage
MiTerminateWsleCluster
MiUpdatePfnBackingStore
MiWriteSharedDemandZeroPte
MiWriteTopLevelPxe
MiWriteUselessChildPte
MiWriteValidPteNewPage
MiWsleFlush
MiZeroAndFlushPtes
MmChangeKernelCfgBitmap
MxCreateFreePfns
RemoveListEntryPte