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.