MiLocateCloneAddress
_MMCLONE_DESCRIPTOR *__stdcall MiLocateCloneAddress(_EPROCESS *CurrentProcess, VOID *ProtoPte){
_MMCLONE_DESCRIPTOR *result;
result = (_MMCLONE_DESCRIPTOR *)CurrentProcess->CloneRoot.Root;
while( result )
{
if( ProtoPte > result->EndingCloneBlock )
{
result = (_MMCLONE_DESCRIPTOR *)result->CloneNode.Children[1];
}
else
{
if( ProtoPte >= result->StartingCloneBlock )
return result;
result = (_MMCLONE_DESCRIPTOR *)result->CloneNode.Children[0];
}
}
return 0i64;
}Referenced by:
MiActOnPte
MiCheckCommitReleaseFromVad
MiCompleteProtoPteFault
MiComputePageCommitment
MiCopyOnWrite
MiCopyToUserVa
MiDecommitPages
MiDeletePteList
MiDeletePteRun
MiDeleteVa
MiGetPageProtection
MiGetPfnProtection
MiMakeProtoPrivate
MiProbeLeafPteAccess
MiReferenceCloneProto
MiSetProtectionOnSection
MiSharedVaToPartition
MiSplitReducedCommitClonePage
MiTrimThisWsle
MiWsleFlush