KeInitializeDpc function (wdm.h)

The KeInitializeDpc routine initializes a DPC object, and registers a CustomDpc routine for that object.

Syntax

void KeInitializeDpc(
  [out]          __drv_aliasesMem PRKDPC Dpc,
  [in]           PKDEFERRED_ROUTINE      DeferredRoutine,
  [in, optional] __drv_aliasesMem PVOID  DeferredContext
);

Parameters

[out] Dpc

Pointer to a KDPC structure that represents the DPC object to initialize. The caller must allocate storage for the structure from resident memory.

[in] DeferredRoutine

Pointer to the CustomDpc routine to associate with the DPC.

[in, optional] DeferredContext

Specifies the value to pass as the DeferredContext parameter to CustomDpc.

Return value

None

Remarks

The caller can queue an initialized DPC with KeInsertQueueDpc. The caller also can set up a timer object associated with the initialized DPC object and queue the DPC with KeSetTimer.

Storage for the DPC object must be resident: in the device extension of a driver-created device object, in the controller extension of a driver-created controller object, or in nonpaged pool allocated by the caller.

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

See also

CustomDpc

KeInsertQueueDpc

KeRemoveQueueDpc

KeSetTimer