KeRevertToUserAffinityThreadEx 関数 (wdm.h)
KeRevertToUserAffinityThreadEx ルーチンは、現在のスレッドの以前のアフィニティを復元します。
構文
void KeRevertToUserAffinityThreadEx(
[in] KAFFINITY Affinity
);
パラメーター
[in] Affinity
KAFFINITY現在のスレッドの新しいシステム アフィニティを指定する型指定された変数です。 このパラメーターは、KeSetSystemAffinityThreadEx ルーチンへの前回の呼び出しによって返された値に設定します。
戻り値
何一つ
備考
KeRevertToUserAffinityThreadEx 、現在のスレッドのアフィニティが変更されます。 アフィニティ値は、スレッドを実行できるプロセッサのセットを識別するマスクです。 成功した場合、ルーチンは、このセット内のプロセッサで実行するスレッドをスケジュールします。
Affinity 値が 0 以外の場合、KeRevertToUserAffinityThreadEx スレッドのアフィニティ マスクを Affinity 値に設定します。 Affinity 値が 0 の場合、KeRevertToUserAffinityThreadEx はスレッドの元のユーザー アフィニティ マスクを復元します。 この元のユーザー アフィニティ マスクは、KeSetSystemAffinityThreadExへの以前の呼び出しによって スレッド オブジェクトに保存されました。 KeRevertToUserAffinityThreadEx の呼び出しは、KeSetSystemAffinityThreadExの呼び出しが先行しない限り、効果はありません。
Affinity 値が 0 以外の場合、ルーチンは現在のスレッドのアフィニティ マスクを Affinity 値に変更します。これは、次の両方が true の場合のみです。
- Affinity 値は有効です (つまり、論理プロセッサに対応するマスク ビットのみが設定されます)。
- Affinity 値で指定されているプロセッサの少なくとも 1 つがアクティブです。
Windows 7 以降のバージョンの Windows では、プロセッサ グループがサポートされています。 プロセッサ グループに関する情報を処理するように設計されたドライバーでは、KeRevertToUserGroupAffinityThreadEx ではなく、プロセッサ グループを指定する KeRevertToUserGroupAffinityThread ルーチン使用する必要があります。このルーチンは使用しません。 ただし、Windows 7 以降のバージョンの Windows KeRevertToUserAffinityThreadEx の実装では、プロセッサ グループをサポートしていない以前のバージョンの Windows 用に記述されたドライバーの互換性が提供されます。 この実装では、0 以外の Affinity 値は、スレッドを実行できるグループ 0 の論理プロセッサのセットを指定するアフィニティ マスクです。 Affinity が 0 の場合、スレッドは元のユーザー モード グループ番号とアフィニティ マスクに戻ります。
KeRevertToUserAffinityThreadEx が IRQL <= APC_LEVEL で呼び出され、呼び出しが成功した場合、新しい (元に戻された) アフィニティ マスクが直ちに有効になります。 呼び出しが戻ると、呼び出し元のスレッドは、新しいアフィニティ マスクで指定されたプロセッサで既に実行されています。 KeRevertToUserAffinityThreadEx が IRQL = DISPATCH_LEVEL で呼び出され、呼び出しが成功した場合、保留中のプロセッサ変更は、呼び出し元が DISPATCH_LEVEL 以下の IRQL を下げるまで延期されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (「解説」セクションを参照)。 |
DDI コンプライアンス規則 を する | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
関連項目
KeRevertToUserGroupAffinityThread の
KeSetSystemAffinityThreadEx の