KeInsertQueueDpc 函数 (wdm.h)

KeInsertQueueDpc 例程将 DPC 排队等待执行。

语法

BOOLEAN KeInsertQueueDpc(
  [in, out]      PRKDPC                 Dpc,
  [in, optional] PVOID                  SystemArgument1,
  [in, optional] __drv_aliasesMem PVOID SystemArgument2
);

参数

[in, out] Dpc

指向 DPC 对象的 KDPC 结构的指针。 此结构必须由 KeInitializeDpcKeInitializeThreadedDpc 初始化。

[in, optional] SystemArgument1

指定驱动程序确定的上下文数据。 此值作为 SystemArgument1 参数传递给 DPC 对象的 CustomDpcCustomThreadedDpc 例程。

[in, optional] SystemArgument2

指定驱动程序确定的上下文数据。 此值作为 SystemArgument2 参数传递给 DPC 对象的 CustomDpcCustomThreadedDpc 例程。

返回值

如果指定的 DPC 对象当前不在 DPC 队列中, KeInsertQueueDpc 会将 DPC 排队并返回 TRUE

注解

如果指定的 DPC 对象已排队,则除了返回 FALSE 之外,不会执行任何操作。 否则,DPC 对象将插入到 DPC 队列中。 有关 DPC 队列的详细信息,请参阅 组织 DPC 队列

请注意,特定 DPC 对象及其表示的函数在每个特定时间只能排队一次执行。

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别
DDI 符合性规则 HwStorPortProhibitedDDI (storport) MarkingQueuedIrps (wdm)

另请参阅

CustomDpc

CustomThreadedDpc

KeInitializeDpc

KeRemoveQueueDpc