PdhAddCounterA, fonction (pdh.h)

Ajoute le compteur spécifié à la requête.

Syntaxe

PDH_FUNCTION PdhAddCounterA(
  [in]  PDH_HQUERY   hQuery,
  [in]  LPCSTR       szFullCounterPath,
  [in]  DWORD_PTR    dwUserData,
  [out] PDH_HCOUNTER *phCounter
);

Paramètres

[in] hQuery

Gérez la requête à laquelle vous souhaitez ajouter le compteur. Ce handle est retourné par la fonction PdhOpenQuery .

[in] szFullCounterPath

Chaîne terminée par null qui contient le chemin du compteur. Pour plus d’informations sur le format d’un chemin de compteur, consultez Spécification d’un chemin de compteur. La longueur maximale d’un chemin de compteur est PDH_MAX_COUNTER_PATH.

[in] dwUserData

Valeur définie par l’utilisateur. Cette valeur fait partie des informations du compteur. Pour récupérer cette valeur ultérieurement, appelez la fonction PdhGetCounterInfo et accédez au membre dwUserData de la structure PDH_COUNTER_INFO .

[out] phCounter

Handle au compteur qui a été ajouté à la requête. Vous devrez peut-être référencer ce handle dans les appels suivants.

Valeur retournée

Retourne ERROR_SUCCESS si la fonction réussit.

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

Code de retour Description
PDH_CSTATUS_BAD_COUNTERNAME
Impossible d’analyser ou d’interpréter le chemin du compteur.
PDH_CSTATUS_NO_COUNTER
Impossible de trouver le compteur spécifié sur l’ordinateur ou dans le fichier journal.
PDH_CSTATUS_NO_COUNTERNAME
Le chemin du compteur est vide.
PDH_CSTATUS_NO_MACHINE
Le chemin d’accès ne contenait pas de nom d’ordinateur et la fonction n’a pas pu récupérer le nom de l’ordinateur local.
PDH_CSTATUS_NO_OBJECT
Impossible de trouver l’objet spécifié sur l’ordinateur ou dans le fichier journal.
PDH_FUNCTION_NOT_FOUND
Impossible de déterminer la fonction de calcul à utiliser pour ce compteur.
PDH_INVALID_ARGUMENT
Un ou plusieurs arguments ne sont pas valides.
PDH_INVALID_HANDLE
Le handle de requête n’est pas valide.
PDH_MEMORY_ALLOCATION_FAILURE
Impossible d’allouer la mémoire nécessaire pour terminer la fonction.

Remarques

Si le chemin du compteur contient un caractère générique, tous les noms de compteur correspondant au caractère générique sont ajoutés à la requête.

Si un compteur instance qui n’existe pas encore est spécifié, PdhAddCounter ne signale pas de condition d’erreur. Au lieu de cela, elle retourne ERROR_SUCCESS. La raison de ce comportement est qu’il n’est pas connu si un compteur inexistant instance a été spécifié ou si un compteur existera mais n’a pas encore été créé.

Pour supprimer le compteur de la requête, utilisez la fonction PdhRemoveCounter .

Exemples

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

Notes

L’en-tête pdh.h définit PdhAddCounter en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

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

PdhAddEnglishCounter

PdhBrowseCounters

PdhMakeCounterPath

PdhOpenQuery

PdhRemoveCounter