Windows Driver Kit: Kernel-Mode Driver Architecture
KeInsertQueueDpc
The KeInsertQueueDpc routine queues a DPC for execution.
BOOLEAN
KeInsertQueueDpc(
IN PRKDPC Dpc,
IN PVOID SystemArgument1,
IN PVOID SystemArgument2
);
Parameters
- Dpc
- Pointer to the KDPC structure for the DPC object. This structure must have been initialized by either KeInitializeDpc or KeInitializeThreadedDpc.
- SystemArgument1
- Specifies driver-determined context data. This value is passed as the SystemArgument1 parameter to the DPC object's CustomDpc or CustomThreadedDpc routine.
- SystemArgument2
- Specifies driver-determined context data. This value is passed as the SystemArgument2 parameter to the DPC object's CustomDpc or CustomThreadedDpc routine.
Return Value
If the specified DPC object is not currently in a DPC queue, KeInsertQueueDpc queues the DPC and returns TRUE.
Comments
If the specified DPC object has already been queued, no operation is performed except to return FALSE. Otherwise, the DPC object is inserted in a DPC queue. For more information about DPC queues, see Organization of DPC Queues.
Note that a particular DPC object and the function that it represents can each be queued for execution only once at any particular time.
Requirements
IRQL: Any level
Headers: Declared in Wdm.h. Include Wdm.h, Ntddk.h, or Ntifs.h.
See Also
CustomDpc, CustomThreadedDpc, KeInitializeDpc, KeRemoveQueueDpc