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 结构的指针。 此结构必须由 KeInitializeDpc 或 KeInitializeThreadedDpc 初始化。
[in, optional] SystemArgument1
指定驱动程序确定的上下文数据。 此值作为 SystemArgument1 参数传递给 DPC 对象的 CustomDpc 或 CustomThreadedDpc 例程。
[in, optional] SystemArgument2
指定驱动程序确定的上下文数据。 此值作为 SystemArgument2 参数传递给 DPC 对象的 CustomDpc 或 CustomThreadedDpc 例程。
返回值
如果指定的 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) |