Partager via


PdhEnumMachinesA, fonction (pdh.h)

Retourne une liste des noms d’ordinateurs associés aux compteurs dans un fichier journal. Les noms d’ordinateurs ont été spécifiés lors de l’ajout de compteurs à la requête ou lors de l’appel de la fonction PdhConnectMachine. Les ordinateurs répertoriés incluent ceux actuellement connectés et en ligne, en plus de ceux qui sont hors connexion ou qui ne retournent pas de données de performances.

Pour utiliser des handles vers des sources de données, utilisez la fonction PdhEnumMachinesH.

Syntaxe

PDH_FUNCTION PdhEnumMachinesA(
  [in]      LPCSTR  szDataSource,
  [out]     PZZSTR  mszMachineList,
  [in, out] LPDWORD pcchBufferSize
);

Paramètres

[in] szDataSource

chaîne null-terminated qui spécifie le nom d’un fichier journal. La fonction énumère les noms des ordinateurs dont les données de compteur se trouve dans le fichier journal. Si NULL, la fonction énumère les ordinateurs spécifiés lors de l’ajout de compteurs à une requête en temps réel ou lors de l’appel de la fonction PdhConnectMachine.

[out] mszMachineList

Mémoire tampon allouée par l’appelant pour recevoir la liste des chaînes null-terminated qui contiennent les noms d’ordinateurs. La liste est terminée avec deux caractères null-terminator. Défini sur NULL si pcchBufferLength est égal à zéro.

[in, out] pcchBufferSize

Taille de la mémoire tampon mszMachineNameList, dans mémoire tampon TCHAR. Si zéro sur 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.

Valeur de retour

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.

Retourner le code Description
PDH_MORE_DATA
La mémoire tampon mszMachineNameList est trop petite pour contenir toutes les données. Cette valeur de retour est attendue si pcchBufferLength est égal à zéro lors de l’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.
PDH_INVALID_ARGUMENT
Un paramètre 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.

Remarques

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

Note

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

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête pdh.h
bibliothèque Pdh.lib
DLL Pdh.dll

Voir aussi

PdhConnectMachine

PdhEnumMachinesH