Partager via


MsiEnumFeaturesA, fonction (msi.h)

La fonction MsiEnumFeatures énumère les fonctionnalités publiées d’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 ordonné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 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’existe aucune fonctionnalité à retourner.
ERROR_SUCCESS
Une valeur a été énumérée.
ERROR_UNKNOWN_PRODUCT
Le produit spécifié est inconnu.
 
 

Remarques

Pour énumérer les fonctionnalités, une application doit appeler initialement 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).

Note

L’en-tête msi.h définit MsiEnumFeatures 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