Fonction PdhGetFormattedCounterValue (pdh.h)

Calcule une valeur pouvant être affichée pour le compteur spécifié.

Syntaxe

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

Paramètres

[in] hCounter

Gérer le compteur pour lequel vous souhaitez calculer une valeur d’affichage. La fonction PdhAddCounter retourne ce handle.

[in] dwFormat

Détermine le type de données de la valeur mise en forme. Spécifiez l’une des valeurs suivantes.

Valeur Signification
PDH_FMT_DOUBLE
Retourne des données sous forme de réel à virgule flottante double précision.
PDH_FMT_LARGE
Retourne des données sous forme d’entier 64 bits.
PDH_FMT_LONG
Retourne des données sous forme d’entier long.
 

Vous pouvez utiliser l’opérateur OR inclusif au niveau du bit (|) pour combiner le type de données avec l’un des facteurs de mise à l’échelle suivants.

Valeur Signification
PDH_FMT_NOSCALE
N’appliquez pas le facteur de mise à l’échelle par défaut du compteur.
PDH_FMT_NOCAP100
Les valeurs de compteur supérieures à 100 (par exemple, les valeurs de compteur mesurant la charge du processeur sur les ordinateurs multiprocesseurs) ne sont pas réinitialisées à 100. Le comportement par défaut est que les valeurs de compteur sont limitées à une valeur de 100.
PDH_FMT_1000
Multipliez la valeur réelle par 1 000.

[out] lpdwType

Reçoit le type de compteur. Pour obtenir la liste des types de compteurs, consultez la section Types de compteurs du Kit de déploiement Windows Server 2003. Ce paramètre est facultatif.

[out] pValue

Structure PDH_FMT_COUNTERVALUE qui reçoit la valeur du compteur.

Valeur retournée

Si la fonction réussit, elle retourne ERROR_SUCCESS.

Si la fonction échoue, la valeur renvoyée est un code d’erreur système ou un code d’erreur PDH. Voici les valeurs possibles.

Code de retour Description
PDH_INVALID_ARGUMENT
Un paramètre n’est pas valide ou est mis en forme incorrectement.
PDH_INVALID_DATA
Le compteur spécifié ne contient pas de données valides ni un code de status réussi.
PDH_INVALID_HANDLE
Le handle de compteur n’est pas valide.

Remarques

Les données du compteur sont verrouillées (protégées) pendant la durée de l’appel à PdhGetFormattedCounterValue afin d’empêcher toute modification pendant le traitement de l’appel. La lecture des données (appel de cette fonction avec succès) efface l’indicateur de modification des données pour le compteur.

Certains compteurs, tels que les compteurs de débit, nécessitent deux valeurs de compteur pour calculer une valeur pouvant être affichée. Dans ce cas, vous devez appeler PdhCollectQueryData deux fois avant d’appeler PdhGetFormattedCounterValue. Pour plus d’informations, consultez Collecte de données de performances.

Si le instance de compteur spécifié n’existe pas, la méthode retourne PDH_INVALID_DATA et définit le membre CStatus de la structure PDH_FMT_COUNTERVALUE sur PDH_CSTATUS_NO_INSTANCE.

Avant Windows Server 2003 : L’appel de format peut échouer pour les compteurs qui ne nécessitent qu’une seule valeur lorsque le instance est introuvable. Réessayez d’appeler la requête et de mettre en forme les appels. Si l’appel de format échoue la deuxième fois, le instance est introuvable. Vous pouvez également appeler la fonction PdhEnumObjects avec l’option d’actualisation définie sur TRUE pour actualiser les instances de compteur avant d’interroger et de mettre en forme les données du compteur.

Exemples

Pour obtenir un exemple, consultez Navigation des compteurs de performances ou Lecture des données de performances à partir d’un fichier journal.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête pdh.h
Bibliothèque Pdh.lib
DLL Pdh.dll

Voir aussi

PdhCollectQueryData

PdhGetRawCounterValue

PdhSetCounterScaleFactor