KeInitializePriQueue

VOID __fastcall KeInitializePriQueue(_KPRIQUEUE *Queue, UINT64 Count){
  __int64 v3; 
  _LIST_ENTRY *EntryListHead; 
  volatile int *CurrentCount; 
  LOWORD(Queue->Header.Lock) = 21;
  Queue->Header.WaitListHead.Blink = &Queue->Header.WaitListHead;
  Queue->Header.WaitListHead.Flink = &Queue->Header.WaitListHead;
  Queue->Header.Size = -84;
  Queue->ThreadListHead.Blink = &Queue->ThreadListHead;
  Queue->ThreadListHead.Flink = &Queue->ThreadListHead;
  v3 = 32i64;
  Queue->Header.SignalState = 0;
  EntryListHead = Queue->EntryListHead;
  CurrentCount = Queue->CurrentCount;
  do
  {
    EntryListHead->Blink = EntryListHead;
    EntryListHead->Flink = EntryListHead;
    ++EntryListHead;
    *CurrentCount++ = 0;
    --v3;
  }
  while( v3 );
  if( !(_DWORD)Count )
    LODWORD(Count) = KeQueryActiveProcessorCountEx(0xFFFFu);
  Queue->MaximumCount = Count;
}

Referenced by:

ExpWorkQueueInitialize