GetProcessDefaultCpuSetMasks 関数 (processthreadsapi.h)
SetProcessDefaultCpuSetMasks または SetProcessDefaultCpuSets によって設定されたプロセスの既定のセット内の CPU セットの一覧を取得します。
構文
BOOL GetProcessDefaultCpuSetMasks(
HANDLE Process,
PGROUP_AFFINITY CpuSetMasks,
USHORT CpuSetMaskCount,
PUSHORT RequiredMaskCount
);
パラメーター
Process
クエリを実行するプロセスのプロセス ハンドルを指定します。 このハンドルには、 PROCESS_QUERY_LIMITED_INFORMATION アクセス権が必要です。 GetCurrentProcess によって返される値は、ここで指定することもできます。
CpuSetMasks
プロセスの既定の CPU セットを表す GROUP_AFFINITY 構造体の一覧を取得する省略可能なバッファーを指定します。
CpuSetMaskCount
CpuSetMasks 配列のサイズを要素単位で指定します。
RequiredMaskCount
正常に返された場合は、配列に書き込まれるアフィニティ構造体の数を指定します。 CpuSetMasks 配列が小さすぎる場合、関数は ERROR_INSUFFICIENT_BUFFER で失敗し、RequiredMaskCount パラメーターに必要な要素の数を設定します。 必要な要素の数は、 常に GetMaximumProcessorGroupCount によって返される最大グループ数以下です。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合、戻り値は 0 で、 GetLastError を呼び出すことで拡張エラー情報を取得できます。
指定された配列が小さすぎる場合、エラー値は ERROR_INSUFFICIENT_BUFFER され、 RequiredMaskCount は必要な要素の数に設定されます。
解説
特定のプロセスに既定の CPU セットが設定されていない場合、 RequiredMaskCount パラメーターは 0 に設定され、関数は成功します。
この関数は GetProcessDefaultCpuSets に似ていますが、CPU セット ID ではなくグループ アフィニティを使用して CPU セットの一覧を表す点が除きます。 つまり、プロセスの既定の CPU セットはホーム プロセッサにマップされ、それらのプロセッサはグループ アフィニティの結果の一覧で取得されます。
要件
サポートされている最小のクライアント | Windows 11 |
サポートされている最小のサーバー | Windows Server 2022 |
Header | processthreadsapi.h |
[DLL] | kernel32.dll |