7.3.2 Setting Up Driver-Managed Queues

The DriverEntry routine must set up each interlocked queue and/or each supplemental device queue that an NT driver has, as follows:

If a new NT driver sets up an internal queue for an indefinite (but limited at any given moment) number of fixed-size, driver-structured entries, a zone buffer can be useful for allocating and freeing memory for such entries. For more information about using zones, see Chapter 16.

For more information about setting up and using an interlocked queue or a device queue object, see also Chapter 3. For specific information about calling the Ex...Zone, ExInterlocked..List, Ke..SpinLock, and Ke..DeviceQueue routines, see the Kernel-mode Driver Reference.