SetThreadGroupAffinity 関数 (processtopologyapi.h)
指定したスレッドのプロセッサ グループ アフィニティを設定します。
構文
BOOL SetThreadGroupAffinity(
[in] HANDLE hThread,
[in] const GROUP_AFFINITY *GroupAffinity,
[out, optional] PGROUP_AFFINITY PreviousGroupAffinity
);
パラメーター
[in] hThread
スレッドへのハンドル。
ハンドルには、THREAD_SET_INFORMATIONアクセス権が必要です。 詳細については、「 スレッド セキュリティとアクセス権」を参照してください。
[in] GroupAffinity
指定したスレッドに使用するプロセッサ グループアフィニティを指定する GROUP_AFFINITY 構造体。
[out, optional] PreviousGroupAffinity
スレッドの以前のグループ アフィニティを受け取る GROUP_AFFINITY 構造体へのポインター。 このパラメーターは、NULL でもかまいません。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 拡張エラー情報を取得するには、 GetLastError を使用します。
注釈
Windows 11 および Windows Server 2022 以降では、プロセッサ数が 64 を超えるシステムでは、プロセスとスレッドのアフィニティは、既定ですべてのプロセッサ グループにわたって、システム内のすべてのプロセッサにまたがっています。 SetThreadGroupAffinity 関数は、指定された GroupAffinity で指定された単一のプロセッサ グループに対して、スレッドのアフィニティをプロセッサに制限します。 このグループは、スレッドのプライマリ グループにもなります。
この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNT >= 0x0601を設定します。 詳細については、「 Windows ヘッダーの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | processtopologyapi.h |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |