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 |
ヘッダー | wudfddi.h |
DLL | WUDFx.dll |