KeInitializeQueue
VOID __stdcall KeInitializeQueue(_KQUEUE *Queue, UINT64 a2){
Queue->Header.Type = 4;
*(_WORD *)((char *)&Queue->Header.Lock + 1) = 4096;
Queue->Header.WaitListHead.Blink = &Queue->Header.WaitListHead;
Queue->Header.WaitListHead.Flink = &Queue->Header.WaitListHead;
Queue->EntryListHead.Blink = &Queue->EntryListHead;
Queue->EntryListHead.Flink = &Queue->EntryListHead;
Queue->ThreadListHead.Blink = &Queue->ThreadListHead;
Queue->ThreadListHead.Flink = &Queue->ThreadListHead;
Queue->Header.SignalState = 0;
Queue->CurrentCount = 0;
if( !(_DWORD)a2 )
LODWORD(a2) = KeQueryActiveProcessorCountEx(0xFFFFu);
Queue->MaximumCount = a2;
}Referenced by:
EtwpCreateUmReplyObject
ExpWorkerFactoryInitialization
FsRtlInitializeWorkerThread
IopInitializePassiveInterruptServices
KeInitializeUmsThread
NtCreateIoCompletion