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 |