Partager via


PdhAddEnglishCounterW, fonction (pdh.h)

Ajoute le compteur indépendant du langage spécifié à la requête.

Syntaxe

PDH_FUNCTION PdhAddEnglishCounterW(
  [in]  PDH_HQUERY   hQuery,
  [in]  LPCWSTR      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

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

Cette fonction fournit un moyen indépendant du langage 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 qui n’existe pas encore est spécifié, 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 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 .

Note Si le chemin du compteur contient un caractère générique, les parties non génériques du chemin d’accès sont localisées, mais les caractères génériques ne sont 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 compteurs 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 résultants
 

Notes

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