WdfInterruptSetPolicy 函式 (wdfinterrupt.h)
[適用於 KMDF 和 UMDF]
WdfInterruptSetPolicy 方法會指定指定中斷的中斷優先順序、處理器親和性和親和性原則。
語法
void WdfInterruptSetPolicy(
[in] WDFINTERRUPT Interrupt,
[in] WDF_INTERRUPT_POLICY Policy,
[in] WDF_INTERRUPT_PRIORITY Priority,
[in] KAFFINITY TargetProcessorSet
);
參數
[in] Interrupt
架構中斷物件的句柄。
[in] Policy
指定中斷處理器親和性原則 的WDF_INTERRUPT_POLICY型別列舉值。
[in] Priority
指定中斷優先順序 的WDF_INTERRUPT_PRIORITY型別列舉值。
[in] TargetProcessorSet
如果 Policy 參數設定為 WdfIrqPolicySpecifiedProcessors,則為 KAFFINITY 類型的值,指定中斷的處理器親和性。
傳回值
無
備註
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
Windows Vista 和更新版本的作業系統可讓驅動程式指定中斷的優先順序、處理器親和性和親和性原則。 如需如何使用登錄覆寫 WdfInterruptSetPolicy 設定 的值的相關信息,請參閱 中斷親和性和優先順序。
如果驅動程式在早於 Windows Vista 的作業系統版本上執行,架構會忽略驅動程式呼叫 WdfInterruptSetPolicy 時所指定的值。
如需有關指定中斷優先順序、處理器親和性和親和性原則之登錄值和 INF 區段的詳細資訊,請參閱 中斷親和性和優先順序。
如果驅動程式呼叫 WdfInterruptSetPolicy,在呼叫 WdfInterruptCreate 之後,通常會在其 EvtDriverDeviceAdd 回呼函式中執行此動作。
如果您的驅動程式在 EvtDevicePrepareHardware 中建立中斷,請勿使用 WdfInterruptSetPolicy 或 WdfInterruptSetExtendedPolicy。 相反地,藉由直接操作此回呼函式在其 IoResourceRequirementsList 參數中接收的中斷資源需求,在 EvtDeviceFilterAddResourceRequirements 中套用原則。
如需在架構型驅動程式中處理中斷的詳細資訊,請參閱 處理硬體中斷。
範例
下列程式代碼範例會將裝置中斷指派給處理器0,且優先順序正常。
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
WdfInterruptSetPolicy(
Interrupt,
WdfIrqPolicySpecifiedProcessors,
WdfIrqPriorityNormal,
AFFINITY_MASK(0)
);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfinterrupt.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) |