GetProcessDefaultCpuSetMasks 函式 (processthreadsapi.h)

擷取 由 SetProcessDefaultCpuSetMasksSetProcessDefaultCpuSets所設定之進程預設集中的 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所傳回的最大群組計數。

傳回值

如果函式成功,則傳回非零的值。

如果函式失敗,傳回值為零,而且呼叫 GetLastError即可擷取擴充錯誤資訊。

如果提供的陣列太小,則錯誤值 會ERROR_INSUFFICIENT_BUFFER ,而且 RequiredMaskCount 會設定為所需的元素數目。

備註

如果未為指定的進程設定預設 CPU 集合, 則 RequiredMaskCount 參數會設定為 0,且函式會成功。

此函式類似于 GetProcessDefaultCpuSets,不同之處在于它會使用群組親和性,而不是 CPU 集合識別碼來代表 CPU 集合清單。 這表示進程預設 CPU 集合會對應到其主處理器,而且這些處理器會擷取在產生的群組親和性清單中。

需求

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