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.