Fonction PdhGetCounterInfoA (pdh.h)

Récupère des informations sur un compteur, telles que la taille des données, le type de compteur, le chemin d’accès et les valeurs de données fournies par l’utilisateur.

Syntaxe

PDH_FUNCTION PdhGetCounterInfoA(
  [in]      PDH_HCOUNTER        hCounter,
  [in]      BOOLEAN             bRetrieveExplainText,
  [in, out] LPDWORD             pdwBufferSize,
  [out]     PPDH_COUNTER_INFO_A lpBuffer
);

Paramètres

[in] hCounter

Gérer le compteur à partir duquel vous souhaitez récupérer des informations. La fonction PdhAddCounter retourne ce handle.

[in] bRetrieveExplainText

Détermine si le texte d’explication est récupéré. Si vous définissez ce paramètre sur TRUE, le texte d’explication du compteur est récupéré. Si vous définissez ce paramètre sur FALSE, le champ dans la mémoire tampon retournée est NULL.

[in, out] pdwBufferSize

Taille de la mémoire tampon lpBuffer , en octets. Si zéro lors de l’entrée, la fonction retourne PDH_MORE_DATA et définit ce paramètre sur la taille de mémoire tampon requise. Si la mémoire tampon est supérieure à la taille requise, la fonction définit ce paramètre sur la taille réelle de la mémoire tampon utilisée. Si la taille spécifiée sur l’entrée est supérieure à zéro mais inférieure à la taille requise, vous ne devez pas compter sur la taille retournée pour réallouer la mémoire tampon.

[out] lpBuffer

Mémoire tampon allouée à l’appelant qui reçoit une structure PDH_COUNTER_INFO . La structure est de longueur variable, car les données de chaîne sont ajoutées à la fin de la partie de format fixe de la structure. Cela permet de renvoyer toutes les données dans une mémoire tampon unique allouée par l’appelant. Définissez la valeur NULL si pdwBufferSize est égal à zéro.

Valeur retournée

Si la fonction réussit, elle retourne ERROR_SUCCESS.

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_INVALID_ARGUMENT
Un paramètre n’est pas valide ou est mis en forme incorrectement. Par exemple, sur certaines versions, vous pouvez recevoir cette erreur si la taille spécifiée sur l’entrée est supérieure à zéro, mais inférieure à la taille requise.
PDH_INVALID_HANDLE
Le handle de compteur n’est pas valide.
PDH_MORE_DATA
La mémoire tampon lpBuffer est trop petite pour contenir les informations du compteur. Cette valeur de retour est attendue si pdwBufferSize est zéro en entrée. Si la taille spécifiée sur l’entrée est supérieure à zéro mais inférieure à la taille requise, vous ne devez pas compter sur la taille retournée pour réallouer la mémoire tampon.

Remarques

Vous devez appeler cette fonction deux fois, la première fois pour obtenir la taille de mémoire tampon requise (définissez lpBuffer sur NULL et pdwBufferSize sur 0) et la deuxième fois pour obtenir les données.

Notes

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

PDH_COUNTER_INFO