VOID
SoundFreeQ(
PLIST_ENTRY ListHead,
NTSTATUS IoStatus
);
The SoundFreeQ function traverses a queue of IRPs. For each IRP, the function completes the interrupt request and removes the IRP from the queue.
None.
The function completes the interrupt request by calling IoCompleteRequest, with a priority boost argument of IO_SOUND_INCREMENT.
SoundFreeQ only works for IRP queues created by calling SoundAddIrpToCancellableQ. It dequeues entries by calling SoundRemoveFromCancellableQ.
Generally, drivers using soundlib.lib do not need to manipulate IRP queues because DPCs in soundlib.lib handle IRP completion. For drivers that do manipulate IRP queues, the SoundAddIrpToCancellableQ, SoundRemoveFromCancellableQ, SoundMoveCancellableQueue, SoundFreePendingIrps, and SoundFreeQ functions are provided.