Fonction PdhAddEnglishCounterA (pdh.h)

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

Syntaxe

PDH_FUNCTION PdhAddEnglishCounterA(
  [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 dwQueryUserData 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 retournée

Retournez ERROR_SUCCESS si la fonction réussit.

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_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 la mémoire nécessaire à l’exécution de la fonction.

Remarques

Cette fonction fournit un moyen non linguistique d’ajouter des compteurs de performances à la requête. En revanche, le chemin du compteur que vous spécifiez dans la fonction PdhAddCounter doit être localisé.

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

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

Note Si le chemin du compteur contient un caractère générique, les parties non génériques du chemin d’accès seront localisées, mais les caractères génériques ne seront pas développés avant d’ajouter le chemin du compteur localisé à la requête. Dans ce cas, vous devez utiliser la procédure suivante pour ajouter tous les noms de compteur correspondants à la requête.
  1. Créer une requête
  2. Utiliser PdhAddEnglishCounter avec la chaîne contenant des caractères génériques
  3. Utilisez PdhGetCounterInfo sur le handle de compteur retourné par PdhAddEnglishCounter pour obtenir un chemin d’accès complet localisé (szFullPath). Cette chaîne contient toujours des caractères génériques, mais les parties non génériques sont désormais localisées.
  4. Utilisez PdhExpandWildCardPath pour développer les caractères génériques.
  5. Utiliser PdhAddCounter sur chacun des chemins d’accès résultants
 

Notes

L’en-tête pdh.h définit PdhAddEnglishCounter comme un 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.

Configuration requise

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

Voir aussi

PdhAddCounter

PdhBrowseCounters

PdhMakeCounterPath

PdhOpenQuery

PdhRemoveCounter