MsiEnumFeaturesA, fonction (msi.h)
La fonction MsiEnumFeatures énumère les fonctionnalités publiées pour un produit donné. Cette fonction récupère un ID de fonctionnalité chaque fois qu’elle est appelée.
Syntaxe
UINT MsiEnumFeaturesA(
[in] LPCSTR szProduct,
[in] DWORD iFeatureIndex,
[out] LPSTR lpFeatureBuf,
[out] LPSTR lpParentBuf
);
Paramètres
[in] szProduct
Chaîne terminée par null spécifiant le code de produit du produit dont les fonctionnalités doivent être énumérées.
[in] iFeatureIndex
Spécifie l’index de la fonctionnalité à récupérer. Ce paramètre doit être égal à zéro pour le premier appel à la fonction MsiEnumFeatures , puis incrémenté pour les appels suivants. Étant donné que les fonctionnalités ne sont pas triées, toute nouvelle fonctionnalité a un index arbitraire. Cela signifie que la fonction peut retourner des fonctionnalités dans n’importe quel ordre.
[out] lpFeatureBuf
Pointeur vers une mémoire tampon qui reçoit l’ID de fonctionnalité. La taille de la mémoire tampon doit contenir une valeur de chaîne de longueur MAX_FEATURE_CHARS+1. La fonction retourne ERROR_MORE_DATA si la longueur de l’ID de fonctionnalité dépasse MAX_FEATURE_CHARS.
[out] lpParentBuf
Pointeur vers une mémoire tampon qui reçoit l’ID de fonctionnalité du parent de la fonctionnalité. La taille de la mémoire tampon doit contenir une valeur de chaîne de longueur MAX_FEATURE_CHARS+1. Si la longueur de l’ID de fonctionnalité de la fonctionnalité parente dépasse MAX_FEATURE_CHARS, seuls les premiers caractères MAX_FEATURE_CHARS sont copiés dans la mémoire tampon.
Valeur retournée
Valeur | Signification |
---|---|
|
Les données de configuration sont endommagées. |
|
Un paramètre non valide a été transmis à la fonction. |
|
Une mémoire tampon est trop petite pour contenir les données demandées. |
|
Il n’y a aucune fonctionnalité à retourner. |
|
Une valeur a été énumérée. |
|
Le produit spécifié est inconnu. |
Remarques
Pour énumérer les fonctionnalités, une application doit initialement appeler la fonction MsiEnumFeatures avec le paramètre iFeatureIndex défini sur zéro. L’application doit ensuite incrémenter le paramètre iFeatureIndex et appeler MsiEnumFeatures jusqu’à ce qu’il n’y ait plus de fonctionnalités (autrement dit, jusqu’à ce que la fonction retourne ERROR_NO_MORE_ITEMS).
Notes
L’en-tête msi.h définit MsiEnumFeatures 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 |