PerfSetCounterRefValue 函式 (perflib.h)

匯報 計數器的值,其值為實際數據的指標。 提供者會使用此函式。

語法

ULONG PerfSetCounterRefValue(
  [in] HANDLE                    Provider,
  [in] PPERF_COUNTERSET_INSTANCE Instance,
  [in] ULONG                     CounterId,
  [in] PVOID                     Address
);

參數

[in] Provider

提供者的句柄。 使用 CTRPP 工具為您產生的句柄變數。 如需變數的名稱,請參閱提供者專案的符號屬性。

Windows Vista: PerfStartProvider 函式會傳回句柄。

[in] Instance

包含計數器集合實例 的PERF_COUNTERSET_INSTANCE 結構。 PerfCreateInstance 函式會傳回此指標。

[in] CounterId

可唯一識別實例區塊中要更新之計數器的標識碼。 標識元定義於計數器專案的 id 屬性中,而且必須符合實例區塊中其中一個PERF_COUNTER_INFO結構的 CounterId 成員。 使用 CTRPP 工具為您產生的計數器識別碼常數。 如需常數的名稱,請參閱計數器專案的符號屬性。

Windows Vista: 計數器標識碼常數無法使用。

[in] Address

實際計數器數據的指標。

如果 為 NULL,取用者會收到ERROR_NO_DATA。

若要指出計數器數據是以傳址方式存取,指令清單中的計數器宣告必須包含 name 屬性設定為 “reference” 的 counterAttribute 元素。

傳回值

如果函式成功,則會傳回ERROR_SUCCESS。

如果函式失敗,則傳回值是 系統錯誤碼

備註

這是指定原始計數器數據的參考的便利函式。 若要自行更新原始計數器數據的參考,請使用 PERF_COUNTER_INFO 結構的 Offset 成員來存取特定計數器的計數器值。 Attrib 成員必須包含PERF_ATTRIB_BY_REFERENCE旗標。 PERF_COUNTERSET_INSTANCE結構區塊包含一或多個計數器信息結構。

根據計數器類型,指標必須參考 4 位元組或 8 位元組無符號整數。 收集計數器數據時,PERFLIB 會取值指標並傳回實際數據。

規格需求

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

另請參閱

PerfSetULongCounterValue

PerfSetULongLongCounterValue