PdhCollectQueryData, fonction (pdh.h)

Collecte la valeur de données brutes actuelle pour tous les compteurs de la requête spécifiée et met à jour le code status de chaque compteur.

Syntaxe

PDH_FUNCTION PdhCollectQueryData(
  [in, out] PDH_HQUERY hQuery
);

Paramètres

[in, out] hQuery

Handle de la requête pour laquelle vous souhaitez collecter des données. La fonction PdhOpenQuery retourne ce handle.

Valeur retournée

Si la fonction réussit, elle retourne ERROR_SUCCESS. Sinon, la fonction retourne un code d’erreur système ou un code d’erreur PDH.

Voici les valeurs possibles.

Code de retour Description
PDH_INVALID_HANDLE
Le handle de requête n’est pas valide.
PDH_NO_DATA
La requête ne contient actuellement aucun compteur. La requête peut ne pas contenir de données, car l’utilisateur n’est pas en cours d’exécution avec un jeton avec élévation de privilèges (voir Prise en charge de l’accès utilisateur limité).

Remarques

Appelez cette fonction lorsque vous souhaitez collecter des données de compteur pour les compteurs dans la requête. PDH stocke les valeurs de compteur brutes pour la collection actuelle et précédente.

Si vous souhaitez récupérer la valeur du compteur brut actuel, appelez la fonction PdhGetRawCounterValue . Si vous souhaitez calculer une valeur affichable pour la valeur du compteur, appelez la fonction PdhGetFormattedCounterValue . Si le chemin du compteur contient un caractère générique pour le nom instance, appelez plutôt les fonctions PdhGetRawCounterArray et PdhGetFormattedCounterArray, respectivement.

Lorsque PdhCollectQueryData est appelé pour les données d’un seul compteur instance et que le compteur instance n’existe pas, la fonction retourne PDH_NO_DATA. Toutefois, si les données de plusieurs compteurs sont interrogées, PdhCollectQueryData peut retourner ERROR_SUCCESS même si l’une des instances de compteur n’existe pas encore. Cela est dû au fait qu’il n’est pas connu si le compteur spécifié instance n’existe pas, ou s’il existera mais n’a pas encore été créé. Dans ce cas, appelez PdhGetRawCounterValue ou PdhGetFormattedCounterValue pour chacune des instances de compteur intéressantes afin de déterminer si elles existent.

L’exemple suivant montre la syntaxe en cas d’appel de cette fonction à partir de Visual Basic.

PdhCollectQueryData(
  ByVal QueryHandle as Long  
)
as Long

Exemples

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

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

PdhGetFormattedCounterValue

PdhGetRawCounterValue