PerfEnumerateCounterSetInstances 函式 (perflib.h)

取得 上設定之計數器之使用中實例的名稱和標識碼

指定的系統。

語法

ULONG PerfEnumerateCounterSetInstances(
  [in, optional]  LPCWSTR               szMachine,
  [in]            LPCGUID               pCounterSetId,
  [out, optional] PPERF_INSTANCE_HEADER pInstances,
                  DWORD                 cbInstances,
  [out]           LPDWORD               pcbInstancesActual
);

參數

[in, optional] szMachine

要取得 pCounterSet 參數所指定計數器集作用中實例相關信息的電腦名稱。 如果為 NULL,函式會擷取本機計算機所指定計數器集之作用中實例的相關信息。

[in] pCounterSetId

您要取得使用中實例相關信息之計數器集的計數器集標識碼。

[out, optional] pInstances

緩衝區的指標,足以接收 cbInstances 參數所指定的數據量。 可能

如果 cbInstances 為 0,則為 NULL。

cbInstances

pInstances 參數指定之緩衝區的大小,以位元組為單位。

[out] pcbInstancesActual

實際取得使用中實例相關信息所需的緩衝區大小。 意義取決於函式的值

返回。

函式傳回值 對的意義 Actual
ERROR_SUCCESS 的數目

指定之計數器之作用中實例的相關信息位元組,該計數器集是 儲存在 pInstances 所指定之緩衝區中的函式。

ERROR_NOT_ENOUGH_MEMORY The

儲存指定計算機上所設定之計數器作用中實例的相關信息所需的緩衝區大小,以位元組為單位。 將緩衝區放大為必要的

重設大小並再次呼叫 函式。

其他 值未定義,不應使用。

傳回值

傳回碼 Description
ERROR_SUCCESS
函式已成功儲存 pInstances 所指定之緩衝區中計數器集之作用中實例的所有資訊。 以位元組表示實際儲存在緩衝區中之信息數量,而 其值 會指向此值。
ERROR_NOT_ENOUGH_MEMORY
指定的 pInstances 緩衝區不夠大,無法儲存計數器集作用中實例的所有資訊。 根據此值,此值會指出儲存所有資訊所需的緩衝區大小。 將緩衝區放大為必要的

重設大小並再次呼叫 函式。

 

針對其他類型的失敗,傳回值是 系統錯誤碼

備註

指定計數器集的作用中實例相關信息會寫入 pInstances 指定為 PERF_INSTANCE_HEADER 區塊序列的緩衝區。 大小以 位元組為單位

區塊序列會寫入 至 azureInstancesActual。 每個 PERF_INSTANCE_HEADER 區塊都包含

PERF_INSTANCE_HEADER 結構,緊接著以 Null 終止的 UTF-16LE

實例名稱,後面接著填補,讓 大小

PERF_INSTANCE_HEADER 區塊是8個字節的倍數。

規格需求

需求
最低支援的用戶端 Windows 10 版本 1607 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
目標平台 Windows
標頭 perflib.h
程式庫 AdvAPI32.lib
Dll AdvAPI32.dll

另請參閱

PERF_INSTANCE_HEADER

PerfEnumerateCounterSet