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 |