Partager via


PdhParseInstanceNameW, fonction (pdh.h)

Analyse les éléments d’une chaîne d’instance.

Syntaxe

PDH_FUNCTION PdhParseInstanceNameW(
  [in]      LPCWSTR szInstanceString,
  [out]     LPWSTR  szInstanceName,
  [in, out] LPDWORD pcchInstanceNameLength,
  [out]     LPWSTR  szParentName,
  [in, out] LPDWORD pcchParentNameLength,
  [out]     LPDWORD lpIndex
);

Paramètres

[in] szInstanceString

chaîne null-terminated string qui spécifie la chaîne d’instance à analyser dans des composants individuels. Cette chaîne peut contenir les formats suivants et est inférieure à MAX_PATH caractères de longueur :

  • instance
  • instance#index
  • parent/instance
  • parent/instance#index

[out] szInstanceName

Mémoire tampon allouée par l’appelant qui reçoit le nom de l’instance null-terminated. Défini sur NULL si pcchInstanceNameLength est égal à zéro.

[in, out] pcchInstanceNameLength

Taille de la mémoire tampon szInstanceName, 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.

[out] szParentName

Mémoire tampon allouée par l’appelant qui reçoit le nom null-terminated de l’instance parente, si l’un d’eux est spécifié. Défini sur NULL si pcchParentNameLength est égal à zéro.

[in, out] pcchParentNameLength

Taille de la mémoire tampon szParentName dans TCHARs. 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.

[out] lpIndex

Valeur d’index de l’instance. Si une entrée d’index n’est pas présente dans la chaîne, cette valeur est égale à zéro. Ce paramètre peut être NULL.

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_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.
PDH_MORE_DATA
Une ou les deux mémoires tampons de chaîne sont trop petites pour contenir les données. Cette valeur de retour est attendue si la mémoire tampon de taille correspondante est égale à 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_INSTANCE
La chaîne d’instance est mal mise en forme, dépasse MAX_PATH caractères de longueur ou ne peut pas être analysée.

Remarques

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

Note

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

PdhMakeCounterPath