CcUpdateSharedCacheMapFlag
VOID __stdcall CcUpdateSharedCacheMapFlag(_SHARED_CACHE_MAP *SharedCacheMap, UINT64 Flag, UINT8 Set){
int v4;
unsigned __int64 *Partition;
int v7;
int v8;
_KLOCK_QUEUE_HANDLE LockHandle;
memset(&LockHandle, 0, sizeof(LockHandle));
v4 = Flag;
Partition = (unsigned __int64 *)CcGetPartition(SharedCacheMap);
KeAcquireInStackQueuedSpinLock(Partition + 16, &LockHandle);
v7 = *((_DWORD *)SharedCacheMap + 38);
if( Set )
v8 = v4 | v7;
else
v8 = ~v4 & v7;
*((_DWORD *)SharedCacheMap + 38) = v8;
KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
__writecr8(LockHandle.OldIrql);
}Referenced by:
CcApplyLowIoPriorityToThread
CcBoostLowPriorityWorkerThread
CcCopyReadEx
CcMapAndCopyFromCache
CcMdlRead
CcPurgeAndClearCacheSection
CcUnmapVacb
CcUpdateReadHistory