Partager via


PdhAddEnglishCounterA, fonction (pdh.h)

Ajoute le compteur neutre en langage 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 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 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 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

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

Si une instance de compteur n’existe pas encore, PdhAddEnglishCounter 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.

Remarque Si le chemin du compteur contient un caractère générique, les parties non génériques du chemin seront localisées, mais les caractères génériques ne seront pas développés avant d’ajouter le chemin de compteur localisé à la requête. Dans ce cas, vous devez utiliser la procédure suivante pour ajouter tous les noms de compteurs correspondants à la requête.
  1. Effectuer une requête
  2. Utilisez 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 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. Utilisez PdhAddCounter sur chacun des chemins résultants
 

Note

L’en-tête pdh.h définit PdhAddEnglishCounter 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 Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2008 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête pdh.h
bibliothèque Pdh.lib
DLL Pdh.dll

Voir aussi

PdhAddCounter

PdhBrowseCounters

PdhMakeCounterPath

pdhOpenQuery

PdhRemoveCounter