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_INIT を呼び出して初期化した呼び出し元によって割り当てられた WDF_INTERRUPT_EXTENDED_POLICY構造体へのポインター。
戻り値
なし
解説
このメソッドは、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 |
Header | wudfddi.h |
[DLL] | WUDFx.dll |