PerfSetCounterRefValue-Funktion (perflib.h)
Updates den Wert eines Zählers, dessen Wert ein Zeiger auf die tatsächlichen Daten ist. Anbieter verwenden diese Funktion.
Syntax
ULONG PerfSetCounterRefValue(
[in] HANDLE Provider,
[in] PPERF_COUNTERSET_INSTANCE Instance,
[in] ULONG CounterId,
[in] PVOID Address
);
Parameter
[in] Provider
Das Handle des Anbieters. Verwenden Sie die Handle-Variable, die das CTRPP-Tool für Sie generiert hat. Den Namen der Variablen finden Sie im Symbol-Attribut des Anbieterelements .
Windows Vista: Die PerfStartProvider-Funktion gibt das Handle zurück.
[in] Instance
Eine PERF_COUNTERSET_INSTANCE-Struktur, die den Zählersatz instance enthält. Die PerfCreateInstance-Funktion gibt diesen Zeiger zurück.
[in] CounterId
Bezeichner, der den zu aktualisierenden Zähler im instance-Block eindeutig identifiziert. Der Bezeichner wird im id-Attribut des Counterelements definiert und muss mit dem CounterId-Member einer der PERF_COUNTER_INFO Strukturen im instance-Block übereinstimmen. Verwenden Sie die Zähler-ID-Konstante, die das CTRPP-Tool für Sie generiert hat. Den Namen der Konstante finden Sie im Symbol-Attribut des Zählerelements .
Windows Vista: Die Zähler-ID-Konstante ist nicht verfügbar.
[in] Address
Zeiger auf die tatsächlichen Zählerdaten.
Bei NULL erhält der Consumer ERROR_NO_DATA.
Um anzugeben, dass auf die Zählerdaten per Verweis zugegriffen wird, muss die Zählerdeklaration im Manifest ein counterAttribute-Element enthalten, dessen name-Attribut auf "reference" festgelegt ist.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt sie ERROR_SUCCESS zurück.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode.
Hinweise
Dies ist eine Komfortfunktion zum Angeben eines Verweises auf die Rohdaten des Zählers. Um den Verweis auf die Rohdaten selbst zu aktualisieren, verwenden Sie den Offset-Member der PERF_COUNTER_INFO-Struktur , um auf den Zählerwert für einen bestimmten Zähler zuzugreifen. Das Attrib-Element muss das flag PERF_ATTRIB_BY_REFERENCE enthalten. Der PERF_COUNTERSET_INSTANCE-Strukturblock enthält mindestens eine Leistungsinformationsstruktur.
Je nach Zählertyp muss der Zeiger auf eine 4-Byte- oder 8-Byte-Ganzzahl ohne Vorzeichen verweisen. Beim Sammeln der Zählerdaten leitet PERFLIB den Zeiger ab und gibt die tatsächlichen Daten zurück.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | perflib.h |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |