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

如果 策略 参数设置为 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