MsiEnumComponentsA, fonction (msi.h)
La fonction MsiEnumComponents énumère les composants installés pour tous les produits. Cette fonction récupère un code de composant chaque fois qu’il est appelé.
Syntaxe
UINT MsiEnumComponentsA(
[in] DWORD iComponentIndex,
[out] LPSTR lpComponentBuf
);
Paramètres
[in] iComponentIndex
Spécifie l’index du composant à récupérer. Ce paramètre doit être égal à zéro pour le premier appel à la fonction MsiEnumComponents , puis incrémenté pour les appels suivants. Étant donné que les composants ne sont pas triés, tout nouveau composant a un index arbitraire. Cela signifie que la fonction peut retourner les composants dans n’importe quel ordre.
[out] lpComponentBuf
Pointeur vers une mémoire tampon qui reçoit le code du composant. Cette mémoire tampon doit contenir 39 caractères. Les 38 premiers caractères correspondent au GUID et le dernier caractère correspond au caractère null de fin.
Valeur retournée
Valeur | Signification |
---|---|
|
Les données de configuration sont endommagées. |
|
Un paramètre non valide a été transmis à la fonction. |
|
Il n’y a aucun composant à retourner. |
|
Le système ne dispose pas de suffisamment de mémoire pour terminer l’opération. Disponible avec Windows Server 2003. |
|
Une valeur a été énumérée. |
Remarques
Pour énumérer les composants, une application doit initialement appeler la fonction MsiEnumComponents avec le paramètre iComponentIndex défini sur zéro. L’application doit ensuite incrémenter le paramètre iComponentIndex et appeler MsiEnumComponents jusqu’à ce qu’il n’y ait plus de composants (autrement dit, jusqu’à ce que la fonction retourne ERROR_NO_MORE_ITEMS).
Lorsque vous effectuez plusieurs appels à MsiEnumComponents pour énumérer tous les composants du produit, chaque appel doit être effectué à partir du même thread.
Notes
L’en-tête msi.h définit MsiEnumComponents comme un 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal 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. Pour plus d’informations sur le Service Pack Windows requis par une version de Windows Installer, consultez Configuration requise pour le runtime Windows. |
Plateforme cible | Windows |
En-tête | msi.h |
Bibliothèque | Msi.lib |
DLL | Msi.dll |