GetThreadSelectedCpuSetMasks 函数 (processthreadsapi.h)

如果已使用 SetThreadSelectedCpuSetMasks 或 SetThreadSelectedCpuSet 设置任何分配,则返回指定线程的显式 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 返回的最大组计数。

返回值

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

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

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

注解

如果未设置显式赋值, 则 RequiredMaskCount 设置为 0,函数成功。

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

要求

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