共用方式為


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

如果 原則 參數設定為 WdfIrqPolicySpecifiedProcessors,則為 KAFFINITY型別值,指定中斷的處理器親和性。

返回值

沒有

備註

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

Windows Vista 和更新版本的作系統可讓驅動程式指定中斷的優先順序、處理器親和性和親和性原則。 如需如何使用登錄覆寫 WdfInterruptSetPolicy 值的相關信息,請參閱 中斷親和性和優先順序

如果驅動程式在早於 Windows Vista 的作系統版本上執行,架構會忽略驅動程式在呼叫 WdfInterruptSetPolicy 時所指定的值。

如需指定中斷優先順序、處理器親和性和親和性原則之登錄值和 INF 區段的詳細資訊,請參閱 中斷親和性和優先順序

如果驅動程式呼叫 WdfInterruptSetPolicy,在 呼叫 WdfInterruptCreate之後,通常會在 EvtDriverDeviceAdd 回呼函式中執行此動作。

如果您的驅動程式在 EvtDevicePrepareHardware中建立中斷,請勿使用 WdfInterruptSetPolicyWdfInterruptSetExtendedPolicy。 相反地,藉由直接作此回呼函式在其 IoResourceRequirementsList 參數中接收的中斷資源需求,在 EvtDeviceFilterAddResourceRequirements中套用原則。

如需在架構型驅動程式中處理中斷的詳細資訊,請參閱 處理硬體中斷

範例

下列程式代碼範例會將裝置中斷指派給處理器0,並具有一般優先順序。

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

WdfInterruptSetPolicy(
                      Interrupt,
                      WdfIrqPolicySpecifiedProcessors,
                      WdfIrqPriorityNormal,
                      AFFINITY_MASK(0)
                      );

需求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
標題 wdfinterrupt.h (包括 Wdf.h)
程式庫 Wdf01000.sys (KMDF):WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate(kmdf)

另請參閱

EvtDriverDeviceAdd

WdfInterruptCreate

WdfInterruptSetExtendedPolicy