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

関連項目

GROUP_AFFINITY