CcSetParallelFlushFile
VOID __stdcall CcSetParallelFlushFile(PFILE_OBJECT FileObject, BOOL EnableParallelFlush){
_SECTION_OBJECT_POINTERS *SectionObjectPointer;
_DWORD *SharedCacheMap;
unsigned __int64 *Partition;
int v6;
unsigned int v7;
_KLOCK_QUEUE_HANDLE LockHandle;
SectionObjectPointer = FileObject->SectionObjectPointer;
memset(&LockHandle, 0, sizeof(LockHandle));
SharedCacheMap = SectionObjectPointer->SharedCacheMap;
Partition = (unsigned __int64 *)CcGetPartition(SharedCacheMap);
KeAcquireInStackQueuedSpinLock(Partition + 16, &LockHandle);
v6 = SharedCacheMap[38];
if( EnableParallelFlush )
v7 = v6 | 0x40000;
else
v7 = v6 & 0xFFFBFFFF;
SharedCacheMap[38] = v7;
KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
__writecr8(LockHandle.OldIrql);
}Referenced by:
No references.