GetThreadSelectedCpuSetMasks 函式 (processthreadsapi.h)

如果使用 SetThreadSelectedCpuSetMasksSetThreadSelectedCpuSets 設定任何指派,則會傳回指定線程的明確 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 集合標識符來代表 CPU 集合清單。 這表示選取的CPU集合會對應到其主處理器,而且這些處理器會擷取在產生的群組親和性清單中。

規格需求

需求
最低支援的用戶端 Windows 11
最低支援的伺服器 Windows Server 2022
標頭 processthreadsapi.h
Dll kernel32.dll