Partager via


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 d’accès du compteur. Pour plus d’informations sur le format d’un chemin d’accès de compteur, consultez Spécification d’un chemin d’accès de compteur. La longueur maximale d’un chemin d’accès 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

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

Valeur de retour

Retournez 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.

Retourner le code Description
PDH_CSTATUS_BAD_COUNTERNAME
Le chemin du compteur n’a pas pu être analysé ou interprété.
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 de la mémoire nécessaire pour terminer la fonction.

Remarques

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

Si une instance de compteur est spécifiée qui n’existe pas encore, 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 une instance de compteur inexistante a été spécifiée ou si une instance existera mais n’a pas encore été créée.

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

Exemples

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

Note

L’en-tête pdh.h définit PdhAddCounter comme 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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête pdh.h
bibliothèque Pdh.lib
DLL Pdh.dll

Voir aussi

PdhAddEnglishCounter

PdhBrowseCounters

PdhMakeCounterPath

pdhOpenQuery

PdhRemoveCounter