1.1.5  Initializing Driver-Managed Queues

KeInitializeSpinLock

Initializes a variable of type KSPIN_LOCK. An initialized spin lock is a required parameter to the Ex..InterlockedList routines.

InitializeListHead

Sets up a queue header for a driver’s internal queue, given a pointer to driver-supplied storage for the queue header and queue.

KeInitializeDeviceQueue

Initializes a device queue object to a not-busy state, setting up an associated spin lock for multiprocessor-safe access to device queue entries.