PdhEnumObjectsA, fonction (pdh.h)
Retourne une liste d’objets disponibles sur l’ordinateur spécifié ou dans le fichier journal spécifié.
Pour utiliser des handles vers des sources de données, utilisez la fonction PdhEnumObjectsH.
Syntaxe
PDH_FUNCTION PdhEnumObjectsA(
[in] LPCSTR szDataSource,
[in] LPCSTR szMachineName,
[out] PZZSTR mszObjectList,
[in, out] LPDWORD pcchBufferSize,
[in] DWORD dwDetailLevel,
[in] BOOL bRefresh
);
Paramètres
[in] szDataSource
chaîne null-terminated qui spécifie le nom du fichier journal utilisé pour énumérer les objets de performances. Si NULL, la fonction utilise l’ordinateur spécifié dans
le paramètre szMachineName pour énumérer les noms.
[in] szMachineName
chaîne null-terminated qui spécifie le nom de l’ordinateur utilisé pour énumérer les objets de performances.
Incluez les barres obliques principales dans le nom de l’ordinateur, par exemple, \computername.
Si le paramètre szDataSource
[out] mszObjectList
Mémoire tampon allouée par l’appelant qui reçoit la liste des noms d’objets. Chaque nom d’objet de cette liste est arrêté par un caractère null. La liste est terminée avec deux caractères null-terminator. Défini sur
[in, out] pcchBufferSize
Taille de la mémoire tampon mszObjectList
Windows XP : ajouter un à la taille de mémoire tampon requise.
[in] dwDetailLevel
Niveau de détail des éléments de performances à retourner. Tous les éléments qui sont du niveau de détail spécifié ou inférieur sont retournés (les niveaux sont répertoriés dans l’ordre croissant). Ce paramètre peut être l’une des valeurs suivantes.
[in] bRefresh
Indique si la liste d’objets mis en cache doit être automatiquement actualisée. Spécifiez l’une des valeurs suivantes.
Si vous appelez cette fonction deux fois, une fois pour obtenir la taille de la liste et une deuxième fois pour obtenir la liste réelle, définissez ce paramètre sur TRUE sur le premier appel et FALSE sur le deuxième appel. Si les deux appels sont TRUE, le deuxième appel peut également retourner PDH_MORE_DATA, car les données d’objet peuvent avoir changé entre les appels.
Valeur | Signification |
---|---|
|
Le cache d’objets est automatiquement actualisé avant que les objets ne soient retournés. |
|
N’actualisez pas automatiquement le cache. |
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 |
---|---|
|
La mémoire tampon mszObjectList est trop petite pour contenir la liste des objets. 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. |
|
L’ordinateur spécifié est hors connexion ou indisponible. |
|
L’objet spécifié est introuvable. |
|
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 mszObjectList 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 PdhEnumObjects 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 |