#include "ki.h"
Go to the source code of this file.
Defines | |
#define | ASSERT_QUEUE(Q) ASSERT((Q)->Header.Type == QueueObject); |
Functions | |
VOID | KeInitializeQueue (IN PRKQUEUE Queue, IN ULONG Count OPTIONAL) |
LONG | KeReadStateQueue (IN PRKQUEUE Queue) |
LONG | KeInsertQueue (IN PRKQUEUE Queue, IN PLIST_ENTRY Entry) |
LONG | KeInsertHeadQueue (IN PRKQUEUE Queue, IN PLIST_ENTRY Entry) |
PLIST_ENTRY | KeRemoveQueue (IN PRKQUEUE Queue, IN KPROCESSOR_MODE WaitMode, IN PLARGE_INTEGER Timeout OPTIONAL) |
PLIST_ENTRY | KeRundownQueue (IN PRKQUEUE Queue) |
VOID FASTCALL | KiActivateWaiterQueue (IN PRKQUEUE Queue) |
LONG FASTCALL | KiInsertQueue (IN PRKQUEUE Queue, IN PLIST_ENTRY Entry, IN BOOLEAN Head) |
|
Definition at line 33 of file queueobj.c. Referenced by KeInsertHeadQueue(), KeInsertQueue(), KeReadStateQueue(), KeRemoveQueue(), KeRundownQueue(), and KiInsertQueue(). |
|
Definition at line 36 of file queueobj.c. References Count, KeNumberProcessors, and QueueObject. Referenced by ExpWorkerInitialization(), FsRtlInitializeWorkerThread(), and NtCreateIoCompletion().
|
|
Definition at line 181 of file queueobj.c. References ASSERT, ASSERT_QUEUE, DISPATCH_LEVEL, KiInsertQueue(), KiLockDispatcherDatabase, KiUnlockDispatcherDatabase(), and TRUE.
|
|
Definition at line 124 of file queueobj.c. References ASSERT, ASSERT_QUEUE, DISPATCH_LEVEL, FALSE, KiInsertQueue(), KiLockDispatcherDatabase, and KiUnlockDispatcherDatabase(). Referenced by ExQueueWorkItem(), FsRtlpPostStackOverflow(), IopCompleteRequest(), and IoSetIoCompletion().
|
|
Definition at line 92 of file queueobj.c. References ASSERT_QUEUE. Referenced by ExpDetectWorkerThreadDeadlock(), and NtQueryIoCompletion().
|
|
Definition at line 238 of file queueobj.c. References _KTHREAD::Alertable, APC_LEVEL, _KTHREAD::ApcState, ASSERT, ASSERT_QUEUE, DISPATCH_LEVEL, _KTIMER::DueTime, ExWorkerQueue, FALSE, _KTIMER::Header, KeBugCheckEx(), KeGetCurrentThread, _KAPC_STATE::KernelApcPending, KernelMode, KiActivateWaiterQueue(), KiComputeWaitInterval(), KiInsertTreeTimer(), KiInsertWaitList, KiLockDispatcherDatabase, KiSwapThread(), KiUnlockDispatcherDatabase(), _KWAIT_BLOCK::NextWaitBlock, NTSTATUS(), NULL, _KWAIT_BLOCK::Object, _KTHREAD::Queue, _KTHREAD::QueueListEntry, _KTHREAD::State, _KWAIT_BLOCK::Thread, _KTHREAD::Timer, TRUE, _KAPC_STATE::UserApcPending, _KTHREAD::WaitBlock, _KTHREAD::WaitBlockList, Waiting, _KTHREAD::WaitIrql, _KWAIT_BLOCK::WaitKey, _KWAIT_BLOCK::WaitListEntry, _DISPATCHER_HEADER::WaitListHead, _KTHREAD::WaitMode, _KTHREAD::WaitNext, _KTHREAD::WaitReason, _KTHREAD::WaitStatus, _KTHREAD::WaitTime, _KWAIT_BLOCK::WaitType, and WrQueue. Referenced by ExpWorkerThread(), FsRtlWorkerThread(), and NtRemoveIoCompletion().
|
|
Definition at line 570 of file queueobj.c. References ASSERT, ASSERT_QUEUE, DISPATCH_LEVEL, KiLockDispatcherDatabase, KiUnlockDispatcherDatabase(), NULL, and _KTHREAD::Queue. Referenced by IopDeleteIoCompletion().
|
|
Definition at line 649 of file queueobj.c. References KiUnwaitThread(), NULL, and _KWAIT_BLOCK::Thread. Referenced by KeDelayExecutionThread(), KeRemoveQueue(), KeTerminateThread(), KeWaitForMultipleObjects(), and KeWaitForSingleObject().
|
|
Definition at line 710 of file queueobj.c. References ASSERT_QUEUE, FALSE, _KTIMER::Header, _DISPATCHER_HEADER::Inserted, KeGetCurrentThread, KiReadyThread(), KiRemoveTreeTimer, _KTHREAD::Queue, _KWAIT_BLOCK::Thread, _KTHREAD::Timer, TRUE, _KTHREAD::WaitListEntry, _KTHREAD::WaitReason, _KTHREAD::WaitStatus, and WrQueue. Referenced by KeInsertHeadQueue(), KeInsertQueue(), and KeTerminateThread().
|