GetProcessDefaultCpuSetMasks 函数 (processthreadsapi.h)

检索由 SetProcessDefaultCpuSetMasksSetProcessDefaultCpuSets 设置的进程默认集中 CPU 集的列表。

语法

BOOL GetProcessDefaultCpuSetMasks(
  HANDLE          Process,
  PGROUP_AFFINITY CpuSetMasks,
  USHORT          CpuSetMaskCount,
  PUSHORT         RequiredMaskCount
);

parameters

Process

指定要查询的进程的进程句柄。 此句柄必须具有 PROCESS_QUERY_LIMITED_INFORMATION 访问权限。 也可以在此处指定 GetCurrentProcess 返回的值。

CpuSetMasks

指定用于检索表示进程默认 CPU 集 的GROUP_AFFINITY 结构列表的可选缓冲区。

CpuSetMaskCount

指定 元素中 CpuSetMasks 数组的大小。

RequiredMaskCount

成功返回时,指定写入数组的关联结构数。 如果 CpuSetMasks 数组太小,则函数将失败并 ERROR_INSUFFICIENT_BUFFER 并将 RequiredMaskCount 参数设置为所需的元素数。 所需的元素数始终小于或等于 GetMaximumProcessorGroupCount 返回的最大组计数。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零,可以通过调用 GetLastError 检索扩展错误信息。

如果提供的数组太小,则错误值 ERROR_INSUFFICIENT_BUFFER 并且 RequiredMaskCount 设置为所需的元素数。

注解

如果未为给定进程设置默认 CPU 集,则 RequiredMaskCount 参数设置为 0,函数成功。

此函数类似于 GetProcessDefaultCpuSets,只不过它使用组相关性而不是 CPU 集 ID 来表示 CPU 集的列表。 这意味着进程默认 CPU 集映射到其主处理器,并在生成的组相关性列表中检索这些处理器。

要求

   
最低受支持的客户端 Windows 11
最低受支持的服务器 Windows Server 2022
标头 processthreadsapi.h
DLL Kernel32.dll