Partager via


PdhGetDefaultPerfCounterHA, fonction (pdh.h)

Récupère le nom du compteur par défaut pour l’objet spécifié. Ce nom peut être utilisé pour définir la sélection initiale du compteur dans la boîte de dialogue Parcourir le compteur.

Cette fonction est identique à PdhGetDefaultPerfCounter, sauf qu’elle prend en charge l’utilisation de handles pour les sources de données.

Syntaxe

PDH_FUNCTION PdhGetDefaultPerfCounterHA(
  [in]      PDH_HLOG hDataSource,
  [in]      LPCSTR   szMachineName,
  [in]      LPCSTR   szObjectName,
  [out]     LPSTR    szDefaultCounterName,
  [in, out] LPDWORD  pcchBufferSize
);

Paramètres

[in] hDataSource

Doit avoir la valeur NULL.

Si vous spécifiez un handle de fichier journal, szDefaultCounterName est une chaîne null .

[in] szMachineName

Chaîne terminée par null qui spécifie le nom de l’ordinateur utilisé pour vérifier le nom de l’objet. Si la valeur est NULL, l’ordinateur local est utilisé pour vérifier le nom.

[in] szObjectName

Chaîne terminée par null qui spécifie le nom de l’objet dont vous souhaitez récupérer le nom de compteur par défaut.

[out] szDefaultCounterName

Mémoire tampon allouée à l’appelant qui reçoit le nom du compteur par défaut terminé par null. Définissez sur NULL si pcchBufferSize a la valeur zéro.

[in, out] pcchBufferSize

Taille de la mémoire tampon szDefaultCounterName , dans les TCHAR. 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.

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 szDefaultCounterName est trop petite pour contenir le nom du compteur. Cette valeur de retour est attendue si pcchBufferSize 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 obligatoire n’est pas valide. 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_MEMORY_ALLOCATION_FAILURE
Impossible d’allouer de la mémoire pour terminer la fonction.
PDH_CSTATUS_NO_MACHINE
L’ordinateur spécifié est hors connexion ou indisponible.
PDH_CSTATUS_NO_COUNTERNAME
Impossible de lire ou de trouver le nom du compteur par défaut.
PDH_CSTATUS_NO_OBJECT
L’objet spécifié est introuvable.
PDH_CSTATUS_NO_COUNTER
L’objet n’a pas spécifié de compteur par défaut.

Remarques

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

Notes

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

PdhBindInputDataSource

PdhBrowseCountersH

PdhGetDefaultPerfObjectH