CcDereferencePartition
CHAR __fastcall CcDereferencePartition(INT64 a1){
signed __int64 v1;
CHAR v2;
bool v3;
bool v4;
bool v5;
signed __int64 v6;
v1 = _InterlockedExchangeAdd64((volatile signed __int64 *)(a1 + 968), 0xFFFFFFFFFFFFFFFFui64);
v2 = 0;
v5 = __OFSUB__(v1, 1i64);
v3 = v1 == 1;
v4 = v1 - 1 < 0;
v6 = v1 - 1;
if( v4 ^ v5 | v3 )
{
if( v6 )
__fastfail(0xEu);
v2 = 1;
KeSetEvent((PRKEVENT)(a1 + 1000), 0);
}
return v2;
}Referenced by:
CcAsyncReadWorker
CcAsyncReadWorkerThread
CcCompleteAsyncReadWorker
CcDeferWrite
CcDeletePartition
CcDeleteSharedCacheMap
CcForEachPartition
CcFreeWorkQueueEntry
CcPostDeferredWrites
CcQueueLazyWriteScanThread
CcUninitializeCacheMap
CcUnmapInactiveViews
CcWorkerThread
CcZeroData