Partager via


MsiEnumComponentQualifiersA, fonction (msi.h)

La fonction MsiEnumComponentQualifiers énumère les qualificateurs publiés pour le composant donné. Cette fonction récupère un qualificateur chaque fois qu’il est appelé.

Syntaxe

UINT MsiEnumComponentQualifiersA(
  [in]      LPCSTR  szComponent,
  [in]      DWORD   iIndex,
  [out]     LPSTR   lpQualifierBuf,
  [in, out] LPDWORD pcchQualifierBuf,
  [out]     LPSTR   lpApplicationDataBuf,
  [in, out] LPDWORD pcchApplicationDataBuf
);

Paramètres

[in] szComponent

Spécifie le composant dont les qualificateurs doivent être énumérés.

[in] iIndex

Spécifie l’index du qualificateur à récupérer. Ce paramètre doit être égal à zéro pour le premier appel à la fonction MsiEnumComponentQualifiers, puis incrémenté pour les appels suivants. Étant donné que les qualificateurs ne sont pas classés, tout nouveau qualificateur a un index arbitraire. Cela signifie que la fonction peut retourner des qualificateurs dans n’importe quel ordre.

[out] lpQualifierBuf

Pointeur vers une mémoire tampon qui reçoit le code de qualificateur.

[in, out] pcchQualifierBuf

Pointeur vers une variable qui spécifie la taille, en caractères, de la mémoire tampon pointée par le paramètre lpQualifierBuf. Lors de l’entrée, cette taille doit inclure le caractère null de fin. Lors du retour, la valeur n’inclut pas le caractère Null.

[out] lpApplicationDataBuf

Pointeur vers une mémoire tampon qui reçoit les données inscrites par l’application pour le qualificateur. Ce paramètre peut être null.

[in, out] pcchApplicationDataBuf

Pointeur vers une variable qui spécifie la taille, en caractères, de la mémoire tampon pointée par le paramètre lpApplicationDataBuf. Lors de l’entrée, cette taille doit inclure le caractère null de fin. Lors du retour, la valeur n’inclut pas le caractère Null. Ce paramètre ne peut être null que si le paramètre lpApplicationDataBuf est null.

Valeur de retour

Valeur Signification
ERROR_BAD_CONFIGURATION
Les données de configuration sont endommagées.
ERROR_INVALID_PARAMETER
Un paramètre non valide a été passé à la fonction.
ERROR_MORE_DATA
Une mémoire tampon est trop petite pour contenir les données demandées.
ERROR_NO_MORE_ITEMS
Il n’y a pas de qualificateurs à retourner.
ERROR_NOT_ENOUGH_MEMORY
Le système n’a pas suffisamment de mémoire pour terminer l’opération. Disponible avec Windows Server 2003.
ERROR_SUCCESS
Une valeur a été énumérée.
ERROR_UNKNOWN_COMPONENT
Le composant spécifié est inconnu.

Remarques

Pour énumérer les qualificateurs, une application doit initialement appeler la fonction MsiEnumComponentQualifiers avec le paramètre iIndex défini sur zéro. L’application doit ensuite incrémenter le paramètre iIndex et appeler MsiEnumComponentQualifiers jusqu’à ce qu’il n’y ait plus de qualificateurs (autrement dit, jusqu’à ce que la fonction retourne ERROR_NO_MORE_ITEMS).

Lorsque msiEnumComponentQualifiers retourne, le paramètre pcchQualifierBuf contient la longueur de la chaîne qualificateur stockée dans la mémoire tampon. Le nombre retourné n’inclut pas le caractère null de fin. Si la mémoire tampon n’est pas assez grande, MsiEnumComponentQualifiers retourne ERROR_MORE_DATA, et ce paramètre contient la taille de la chaîne, en caractères, sans compter le caractère Null. Le même mécanisme s’applique à pcchDescriptionBuf.

Lorsque vous effectuez plusieurs appels à MsiEnumComponentQualifiers pour énumérer tous les qualificateurs publiés du composant, chaque appel doit être effectué à partir du même thread.

Note

L’en-tête msi.h définit MsiEnumComponentQualifiers 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 Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer sur Windows Server 2003 ou Windows XP. Consultez la configuration requise de Windows Installer Run-Time pour plus d’informations sur le service pack Windows minimal requis par une version de Windows Installer.
plateforme cible Windows
d’en-tête msi.h
bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

fonctions d’état système