The KeRemoveQueueDpc routine removes the specified DPC object from the system DPC queue.
NTKERNELAPI BOOLEAN KeRemoveQueueDpc( PRKDPC Dpc );
A pointer to an initialized DPC object that was queued by a previous call to the KeInsertQueueDpc routine.
KeRemoveQueueDpc returns TRUE if the DPC object is in the DPC queue. If the specified DPC object is not currently in the DPC queue, no operation is performed and FALSE is returned.
If the specified DPC object is currently queued, it is removed from the queue, canceling a call to the associated DPC routine.
Starting with Windows Vista with Service Pack 1 (SP1) and Windows Server 2008, a return value of TRUE always means that KeRemoveQueueDpc successfully removed the DPC object from the DPC queue before the DPC routine started to run. In earlier versions of Windows, the DPC routine might occasionally run even if KeRemoveQueueDpc returns TRUE. In these earlier versions of Windows, drivers that cannot tolerate ambiguity in the TRUE return value should treat return values of TRUE and FALSE identically.
|Minimum supported client||Available starting with Windows 2000.|
|Header||wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)|
|DDI compliance rules||HwStorPortProhibitedDDIs|