PsReferencePartitionSafe
CHAR __fastcall PsReferencePartitionSafe(INT64 a1){
signed __int64 v1;
unsigned __int64 i;
signed __int64 v3;
_m_prefetchw((const void *)(a1 + 24));
v1 = *(_QWORD *)(a1 + 24);
for( i = v1 + 1; i > 1; i = v1 + 1 )
{
v3 = v1;
v1 = _InterlockedCompareExchange64((volatile signed __int64 *)(a1 + 24), i, v1);
if( v3 == v1 )
return 1;
}
if( i != 1 )
__fastfail(0xEu);
return 0;
}Referenced by:
CcGetPartitionWithCreate
MiCheckTrimUnusedPageFileRegions
MiCheckZeroFreeRebalance
MiCommitExistingVad
MiContractWsSwapPageFile
MiCreateImageOrDataSection
MiObtainFreePages
MiPartitionObjectToPartition
MiQueryAddressState
MiScanPagefiles
MiWakeLargePageRebuild
MmMarkPhysicalMemoryAsBad
MmQueryMemoryListInformation
MmQueryVirtualMemory
PsGetNextPartition
PsReferencePartitionByHandle
PspAllocateProcess