PdhGetFormattedCounterValue-Funktion (pdh.h)
Berechnet einen anzeigebaren Wert für den angegebenen Zähler.
Syntax
PDH_FUNCTION PdhGetFormattedCounterValue(
[in] PDH_HCOUNTER hCounter,
[in] DWORD dwFormat,
[out] LPDWORD lpdwType,
[out] PPDH_FMT_COUNTERVALUE pValue
);
Parameter
[in] hCounter
Behandeln des Zählers, für den Sie einen anzeigebaren Wert berechnen möchten. Die PdhAddCounter-Funktion gibt diesen Handle zurück.
[in] dwFormat
Bestimmt den Datentyp des formatierten Werts. Geben Sie einen der folgenden Werte an.
Sie können den bitweise inklusiven OR-Operator (|) verwenden, um den Datentyp mit einem der folgenden Skalierungsfaktoren zu kombinieren.
[out] lpdwType
Empfängt den Zählertyp. Eine Liste der Leistungsindikatorentypen finden Sie im Abschnitt "Counter Types" des Windows Server 2003 Deployment Kit. Dieser Parameter ist optional.
[out] pValue
Eine PDH_FMT_COUNTERVALUE Struktur, die den Gegenwert empfängt.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird ERROR_SUCCESS zurückgegeben.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode oder ein PDH-Fehlercode. Die folgenden Werte sind möglich.
Rückgabecode | Beschreibung |
---|---|
|
Ein Parameter ist ungültig oder ist falsch formatiert. |
|
Der angegebene Indikator enthält keine gültigen Daten oder einen erfolgreichen Statuscode. |
|
Der Gegenpunktpunkt ist ungültig. |
Bemerkungen
Die Daten für den Zähler sind für die Dauer des Aufrufs von PdhGetFormattedCounterValue gesperrt (geschützt), um änderungen während der Verarbeitung des Anrufs zu verhindern. Durch das Lesen der Daten (das Erfolgreiche Aufrufen dieser Funktion) wird das datenveränderte Kennzeichen für den Zähler gelöscht.
Einige Indikatoren, z. B. Ratezähler, erfordern zwei Gegenwerte, um einen anzeigebaren Wert zu berechnen. In diesem Fall müssen Sie PdhCollectQueryData zweimal aufrufen, bevor Sie PdhGetFormattedCounterValue aufrufen. Weitere Informationen finden Sie unter Sammeln von Leistungsdaten.
Wenn die angegebene Gegeninstanz nicht vorhanden ist, gibt die Methode PDH_INVALID_DATA zurück und legt das CStatus-Element der PDH_FMT_COUNTERVALUE Struktur auf PDH_CSTATUS_NO_INSTANCE fest.
Vor Windows Server 2003: Der Formataufruf schlägt möglicherweise für Leistungsindikatoren fehl, die nur einen einzelnen Wert erfordern, wenn die Instanz nicht gefunden wird. Versuchen Sie erneut, die Abfrage aufzurufen und Aufrufe zu formatieren. Wenn der Formataufruf das zweite Mal fehlschlägt, wird die Instanz nicht gefunden. Alternativ können Sie die Funktion PdhEnumObjects aufrufen, wobei die Aktualisierungsoption auf TRUE festgelegt ist, um die Zählerinstanzen zu aktualisieren, bevor Sie die Zählerdaten abfragen und formatieren.
Beispiele
Ein Beispiel finden Sie unter Browserleistungsindikatoren oder Lesen von Leistungsdaten aus einer Protokolldatei.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [Nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | pdh.h |
Bibliothek | Pdh.lib |
DLL | Pdh.dll |