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