Share via


IWDFInterrupt::SetExtendedPolicy 方法 (wudfddi.h)

[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 來撰寫。 未將新功能新增至 UMDF 1,且較新版本的 Windows 10 上不支援 UMDF 1。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]

SetExtendedPolicy 方法會指定指定中斷優先順序、處理器親和性、同質原則,以及指定中斷的處理器群組。

語法

void SetExtendedPolicy(
  [in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);

參數

[in] PolicyAndGroup

呼叫端配置的 WDF_INTERRUPT_EXTENDED_POLICY 結構的指標,驅動程式先前已呼叫 WDF_INTERRUPT_EXTENDED_POLICY_INIT 來初始化。

傳回值

備註

這個方法相當於 KMDF 的 WdfInterruptSetExtendedPolicy。 如需此方法的詳細資訊,請參閱 WdfInterruptSetExtendedPolicy 的一節。

如果驅動程式在早於 Windows 7 的作業系統版本上執行,則當驅動程式呼叫 SetExtendedPolicy 時,會忽略驅動程式為處理器組號指定的值。

如需在 UMDF 驅動程式中處理中斷的詳細資訊,請參閱 存取硬體和處理中斷

範例

下列程式代碼範例會呼叫 WDF_INTERRUPT_EXTENDED_POLICY_INIT 來初始化 WDF_INTERRUPT_EXTENDED_POLICY 結構;會設定原則、優先順序和目標處理器集的值;並呼叫 SetExtendedPolicy。 此範例會設定中斷的一般優先順序,並將中斷指派給處理器群組 2 中的處理器 0。


IWDFInterrupt* pInterrupt;

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

WDF_INTERRUPT_EXTENDED_POLICY myExtendedPolicy;

WDF_INTERRUPT_EXTENDED_POLICY_INIT(&myExtendedPolicy);
myExtendedPolicy.Policy = WdfIrqPolicySpecifiedProcessors;
myExtendedPolicy.Priority = WdfIrqPriorityNormal;
myExtendedPolicy.TargetProcessorSetAndGroup.Mask = AFFINITY_MASK(0);
myExtendedPolicy.TargetProcessorSetAndGroup.Group = 2;

pInterrupt->SetExtendedPolicy(
                              &myExtendedPolicy
 );

規格需求

需求
終止支援 UMDF 2.0 和更新版本中無法使用。
目標平台 桌面
最低UMDF版本 1.11
標頭 wudfddi.h
Dll WUDFx.dll

另請參閱

IWDFInterrupt

WDF_INTERRUPT_EXTENDED_POLICY

WDF_INTERRUPT_EXTENDED_POLICY_INIT