KeInitializeDpc 函数 (wdm.h)

KeInitializeDpc 例程初始化 DPC 对象,并为该对象注册 CustomDpc 例程。

语法

void KeInitializeDpc(
  [out]          __drv_aliasesMem PRKDPC Dpc,
  [in]           PKDEFERRED_ROUTINE      DeferredRoutine,
  [in, optional] __drv_aliasesMem PVOID  DeferredContext
);

参数

[out] Dpc

指向 KDPC 结构的指针,该结构表示要初始化的 DPC 对象。 调用方必须从常驻内存中为结构分配存储。

[in] DeferredRoutine

指向要与 DPC 关联的 CustomDpc 例程的指针。

[in, optional] DeferredContext

指定要作为 DeferredContext 参数传递给 CustomDpc 的值。

返回值

备注

调用方可以使用 KeInsertQueueDpc 将初始化的 DPC 排队。 调用方还可以设置与初始化的 DPC 对象关联的计时器对象,并使用 KeSetTimer 将 DPC 排队。

DPC 对象的存储必须驻留在驱动程序创建的设备对象的设备扩展中、驱动程序创建的控制器对象的控制器扩展中,或位于调用方分配的非分页池中。

要求

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

另请参阅

CustomDpc

KeInsertQueueDpc

KeRemoveQueueDpc

KeSetTimer