Core Kernel Library Support ...


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


Send feedback on this topic
Built on October 01, 2009
Page view tracker