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.

Wert Bedeutung
PDH_FMT_DOUBLE
Zurückgeben von Daten als realer Gleitkommawert mit doppelter Genauigkeit.
PDH_FMT_LARGE
Zurückgeben von Daten als 64-Bit-Ganzzahl.
PDH_FMT_LONG
Zurückgeben von Daten als lange ganze Zahl.
 

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

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

[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
PDH_INVALID_ARGUMENT
Ein Parameter ist ungültig oder ist falsch formatiert.
PDH_INVALID_DATA
Der angegebene Indikator enthält keine gültigen Daten oder einen erfolgreichen Statuscode.
PDH_INVALID_HANDLE
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

Weitere Informationen

PdhCollectQueryData

PdhGetRawCounterValue

PdhSetCounterScaleFactor