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 |