Windows Driver Kit: Kernel-Mode Driver Architecture
KeInitializeDpc
The KeInitializeDpc routine initializes a DPC object, and registers a CustomDpc routine for that object.
VOID
KeInitializeDpc(
IN PRKDPC Dpc,
IN PKDEFERRED_ROUTINE DeferredRoutine,
IN PVOID DeferredContext
);
Parameters
- Dpc
- Pointer to a KDPC structure that represents the DPC object to initialize. The caller must allocate storage for the structure from resident memory.
- DeferredRoutine
- Pointer to the CustomDpc routine to associate with the DPC.
- DeferredContext
- Specifies the value to pass as the DeferredContext parameter to CustomDpc.
Return Value
None
Comments
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
IRQL: Any level
Headers: Declared in Wdm.h. Include Wdm.h, Ntddk.h, or Ntifs.h.
See Also
CustomDpc, KeInsertQueueDpc, KeRemoveQueueDpc, KeSetTimer