CcSetLoggedDataThreshold
VOID __stdcall CcSetLoggedDataThreshold(VOID *LogHandle, UINT64 NumberOfPages){
int v2;
__int64 *i;
__int64 v5;
_KLOCK_QUEUE_HANDLE LockQueue;
_KLOCK_QUEUE_HANDLE LockHandle;
v2 = NumberOfPages;
memset(&LockHandle, 0, sizeof(LockHandle));
memset(&LockQueue, 0, sizeof(LockQueue));
KeAcquireInStackQueuedSpinLock((PKSPIN_LOCK)&WheapErrorSourceTable + 189, &LockHandle);
for( i = (__int64 *)*(&CmpDummyThreadEvent + 366);
i != (__int64 *)((char *)&CmpDummyThreadEvent + 2928);
i = (__int64 *)*i )
{
if( (VOID *)i[3] == LogHandle )
{
v5 = *(_QWORD *)(PspSystemPartition + 8);
LockQueue.LockQueue.Next = 0i64;
LockQueue.LockQueue.Lock = (unsigned __int64 *volatile)(v5 + 128);
KxAcquireQueuedSpinLock(&LockQueue.LockQueue, (UINT64 *)(v5 + 128));
*((_DWORD *)i + 33) = v2;
KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockQueue);
break;
}
}
KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
__writecr8(LockHandle.OldIrql);
}Referenced by:
No references.