次の方法で共有


GetThreadSelectedCpuSetMasks 関数 (processthreadsapi.h)

SetThreadSelectedCpuSetMasks または SetThreadSelectedCpuSets を使用して割り当てが設定されている場合は、指定されたスレッドの明示的な CPU セット割り当てを返します

構文

BOOL GetThreadSelectedCpuSetMasks(
  HANDLE          Thread,
  PGROUP_AFFINITY CpuSetMasks,
  USHORT          CpuSetMaskCount,
  PUSHORT         RequiredMaskCount
);

パラメーター

Thread

選択した CPU セットのクエリを実行するスレッドを指定します。 このハンドルには、 PROCESS_QUERY_LIMITED_INFORMATION アクセス権が必要です。 GetCurrentProcess によって返される値は、ここで指定することもできます。

CpuSetMasks

スレッドが選択した CPU セットを表す GROUP_AFFINITY 構造体の一覧を取得する省略可能なバッファーを指定します。

CpuSetMaskCount

CpuSetMasks 配列のサイズを要素単位で指定します。

RequiredMaskCount

正常に返された場合は、配列に書き込まれるアフィニティ構造体の数を指定します。 配列が小さすぎる場合、関数は ERROR_INSUFFICIENT_BUFFER で失敗し、 RequiredMaskCount パラメーターに必要な要素の数を設定します。 必要な要素の数は、 常に GetMaximumProcessorGroupCount によって返される最大グループ数以下です。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合、戻り値は 0 で、 GetLastError を呼び出すことで拡張エラー情報を取得できます。

指定された配列が小さすぎる場合、エラー値は ERROR_INSUFFICIENT_BUFFER され、RequiredMaskCount は必要な要素の数に設定されます。

注釈

明示的な割り当てが設定されていない場合、 RequiredMaskCount は 0 に設定され、関数は成功します。

この関数は GetThreadSelectedCpuSets に似ていますが、CPU セット ID ではなくグループ アフィニティを使用して CPU セットの一覧を表す点が除きます。 つまり、選択したスレッドの CPU セットがホーム プロセッサにマップされ、それらのプロセッサがグループ アフィニティの結果の一覧で取得されます。

要件

要件
サポートされている最小のクライアント Windows 11
サポートされている最小のサーバー Windows Server 2022
Header processthreadsapi.h
[DLL] kernel32.dll