MsiEnumProductsW, fonction (msi.h)
La fonction MsiEnumProducts énumère tous les produits actuellement publiés ou installés. Les produits installés à la fois dans le contexte d’installation par utilisateur et par ordinateur et les publicités sont énumérés.
Syntaxe
UINT MsiEnumProductsW(
[in] DWORD iProductIndex,
[out] LPWSTR lpProductBuf
);
Paramètres
[in] iProductIndex
Spécifie l’index du produit à récupérer. Ce paramètre doit être égal à zéro pour le premier appel à la fonction MsiEnumProducts , puis incrémenté pour les appels suivants. Étant donné que les produits ne sont pas commandés, tout nouveau produit a un index arbitraire. Cela signifie que la fonction peut retourner des produits dans n’importe quel ordre.
[out] lpProductBuf
Pointeur vers une mémoire tampon qui reçoit le code de produit. Cette mémoire tampon doit comporter 39 caractères. Les 38 premiers caractères sont pour le GUID, et le dernier caractère est pour le 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 produit à 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. |
Notes
Pour énumérer des produits, une application doit appeler initialement la fonction MsiEnumProducts avec le paramètre iProductIndex défini sur zéro. L’application doit ensuite incrémenter le paramètre iProductIndex et appeler MsiEnumProducts jusqu’à ce qu’il n’y ait plus de produits (jusqu’à ce que la fonction retourne ERROR_NO_MORE_ITEMS).
Lorsque vous effectuez plusieurs appels à MsiEnumProducts pour énumérer tous les produits, chaque appel doit être effectué à partir du même thread.
Notes
L’en-tête msi.h définit MsiEnumProducts 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. La combinaison 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.
Spécifications
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 |