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 |