PdhGetRawCounterArrayA, fonction (pdh.h)

Retourne un tableau de valeurs brutes à partir du compteur spécifié. Utilisez cette fonction lorsque vous souhaitez récupérer les valeurs de compteur brutes d’un compteur qui contient un caractère générique pour le nom instance.

Syntaxe

PDH_FUNCTION PdhGetRawCounterArrayA(
  [in]      PDH_HCOUNTER            hCounter,
  [in, out] LPDWORD                 lpdwBufferSize,
  [out]     LPDWORD                 lpdwItemCount,
  [out]     PPDH_RAW_COUNTER_ITEM_A ItemBuffer
);

Paramètres

[in] hCounter

Handle du compteur pour lequel vous souhaitez récupérer les valeurs de instance brutes actuelles. La fonction PdhAddCounter retourne ce handle.

[in, out] lpdwBufferSize

Taille de la mémoire tampon ItemBuffer , en octets. Si la valeur est zéro à 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 vous appuyer sur la taille retournée pour réallouer la mémoire tampon.

[out] lpdwItemCount

Nombre de valeurs de compteur brutes dans la mémoire tampon ItemBuffer .

[out] ItemBuffer

Mémoire tampon allouée à l’appelant qui reçoit le tableau de structures PDH_RAW_COUNTER_ITEM ; les structures contiennent les valeurs brutes instance compteur. Définissez sur NULL si lpdwBufferSize a la valeur zéro.

Valeur retournée

Si la fonction réussit, elle retourne ERROR_SUCCESS.

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_MORE_DATA
La mémoire tampon ItemBuffer n’est pas suffisamment grande pour contenir le nom de l’objet. Cette valeur de retour est attendue si lpdwBufferSize est égal à 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 vous appuyer sur la taille retournée pour réallouer la mémoire tampon.
PDH_INVALID_ARGUMENT
Un paramètre n’est pas valide ou est mal mis en forme. 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.

Remarques

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

Les données du compteur sont verrouillées pendant la durée de l’appel à PdhGetRawCounterArray afin d’empêcher toute modification pendant le traitement de l’appel.

Notes

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

PdhCalculateCounterFromRawValue

PdhGetFormattedCounterArray

PdhGetFormattedCounterValue