IWDFInterrupt::SetPolicy 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 未向 UMDF 1 添加新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]

SetPolicy 方法指定指定中断的中断优先级、处理器相关性和关联策略。

语法

void SetPolicy(
  [in] WDF_INTERRUPT_POLICY   Policy,
  [in] WDF_INTERRUPT_PRIORITY Priority,
  [in] KAFFINITY              TargetProcessorSet
);

参数

[in] Policy

一个WDF_INTERRUPT_POLICY类型的枚举器,用于指定中断的处理器关联策略。

[in] Priority

一个WDF_INTERRUPT_PRIORITY类型的枚举器,用于指定中断的优先级。

[in] TargetProcessorSet

如果 Policy 参数设置为 WdfIrqPolicySpecifiedProcessors,则为中断指定处理器相关性的 KAFFINITY 类型值。

返回值

备注

从 Windows Vista 开始,驱动程序可以指定中断的优先级、处理器相关性和关联策略。 有关如何使用注册表替代 SetPolicy 设置的值的详细信息,请参阅 中断相关性和优先级

如果驱动程序在早于 Windows Vista 的操作系统版本上运行,框架将忽略驱动程序在调用 SetPolicy 时指定的值。

有关指定中断优先级、处理器相关性和关联策略的注册表值和 INF 部分的详细信息,请参阅 中断相关性和优先级

如果驱动程序调用 SetPolicy,则必须在调用 IWDFDevice3::CreateInterrupt 方法后在其 IDriverEntry::OnDeviceAdd 回调函数中执行此操作。

有关在 UMDF 驱动程序中处理中断的详细信息,请参阅 访问硬件和处理中断

示例

下面的代码示例将设备中断分配给具有正常优先级的处理器 0。

#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))

pIWdfInterrupt->SetPolicy(
                          WdfIrqPolicySpecifiedProcessors,
                          WdfIrqPriorityNormal,
                          AFFINITY_MASK(0)
                          );

要求

要求
结束支持 在 UMDF 2.0 及更高版本中不可用。
目标平台 桌面
最低 UMDF 版本 1.11
标头 wudfddi.h
DLL WUDFx.dll

另请参阅

IWDFInterrupt

KAFFINITY

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY