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)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别
DDI 符合性规则 HwStorPortProhibitedDIS(storport)MarkingQueuedIrps(wdm)

另请参阅

CustomDpc

CustomThreadedDpc

KeInitializeDpc

KeRemoveQueueDpc