KeRemoveQueueDpc function (wdm.h)

The KeRemoveQueueDpc routine removes the specified DPC object from the system DPC queue.

Syntax

BOOLEAN KeRemoveQueueDpc(
  [in, out] PRKDPC Dpc
);

Parameters

[in, out] Dpc

A pointer to an initialized DPC object that was queued by a previous call to the KeInsertQueueDpc routine.

Return value

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.

Remarks

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.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 2000.
Target Platform Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Any level
DDI compliance rules HwStorPortProhibitedDDIs(storport)

See also

KeInitializeDpc

KeInsertQueueDpc