PdhGetFormattedCounterValue-Funktion (pdh.h)

Berechnet einen anzeigebaren Wert für den angegebenen Leistungsindikator.

Syntax

PDH_FUNCTION PdhGetFormattedCounterValue(
  [in]  PDH_HCOUNTER          hCounter,
  [in]  DWORD                 dwFormat,
  [out] LPDWORD               lpdwType,
  [out] PPDH_FMT_COUNTERVALUE pValue
);

Parameter

[in] hCounter

Handle des Indikators, für den Sie einen anzeigebaren Wert berechnen möchten. Die PdhAddCounter-Funktion gibt dieses Handle zurück.

[in] dwFormat

Bestimmt den Datentyp des formatierten Werts. Geben Sie einen der folgenden Werte an.

Wert Bedeutung
PDH_FMT_DOUBLE
Zurückgeben von Daten als Gleitkomma-Real mit doppelter Genauigkeit.
PDH_FMT_LARGE
Gibt Daten als ganze 64-Bit-Zahl zurück.
PDH_FMT_LONG
Gibt Daten als ganze Lange-Zahl zurück.
 

Sie können den bitweisen inklusiven OR-Operator (|) verwenden, um den Datentyp mit einem der folgenden Skalierungsfaktoren zu kombinieren.

Wert Bedeutung
PDH_FMT_NOSCALE
Wenden Sie nicht den Standardskalierungsfaktor des Zählers an.
PDH_FMT_NOCAP100
Zählerwerte größer als 100 (z. B. Zählerwerte, die die Prozessorlast auf Multiprozessorcomputern messen) werden nicht auf 100 zurückgesetzt. Das Standardverhalten besteht darin, dass Zählerwerte auf einen Wert von 100 begrenzt sind.
PDH_FMT_1000
Multiplizieren Sie den tatsächlichen Wert mit 1.000.

[out] lpdwType

Empfängt den Zählertyp. Eine Liste der Leistungsindikatorentypen finden Sie im Abschnitt Leistungsindikatorentypen des Windows Server 2003 Deployment Kit. Dieser Parameter ist optional.

[out] pValue

Eine PDH_FMT_COUNTERVALUE-Struktur , die den Zählerwert empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie ERROR_SUCCESS zurück.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode oder ein PDH-Fehlercode. Im Folgenden sind mögliche Werte aufgeführt.

Rückgabecode Beschreibung
PDH_INVALID_ARGUMENT
Ein Parameter ist ungültig oder falsch formatiert.
PDH_INVALID_DATA
Der angegebene Leistungsindikator enthält keine gültigen Daten oder einen erfolgreichen status Code.
PDH_INVALID_HANDLE
Das Zählerhandle ist ungültig.

Hinweise

Die Daten für den Leistungsindikator sind für die Dauer des Aufrufs von PdhGetFormattedCounterValue gesperrt (geschützt), um Änderungen während der Verarbeitung des Aufrufs zu verhindern. Beim Lesen der Daten (beim erfolgreichen Aufrufen dieser Funktion) wird das Datenänderungsflag für den Zähler gelöscht.

Einige Leistungsindikatoren, z. B. Ratenindikatoren, erfordern zwei Zählerwerte, 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 der angegebene Zähler instance nicht vorhanden ist, gibt die Methode PDH_INVALID_DATA zurück und legt den CStatus-Member 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 der instance nicht gefunden wird. Versuchen Sie erneut, die Abfrage aufzurufen und Die Aufrufe zu formatieren. Wenn der Formataufruf beim zweiten Mal fehlschlägt, wird die instance nicht gefunden. Alternativ können Sie die PdhEnumObjects-Funktion aufrufen, wobei die Aktualisierungsoption auf TRUE festgelegt ist, um die Zählerinstanzen vor dem Abfragen und Formatieren der Zählerdaten zu aktualisieren.

Beispiele

Ein Beispiel finden Sie unter Durchsuchen von Leistungsindikatoren oder Lesen von Leistungsdaten aus einer Protokolldatei.

Anforderungen

Anforderung Wert
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

Weitere Informationen

PdhCollectQueryData

PdhGetRawCounterValue

PdhSetCounterScaleFactor