Partager via


MsiGetFeatureInfoA, fonction (msi.h)

La fonction MsiGetFeatureInfo retourne des informations descriptives pour une fonctionnalité.

Syntaxe

UINT MsiGetFeatureInfoA(
  [in]                MSIHANDLE hProduct,
  [in]                LPCSTR    szFeature,
  [out, optional]     LPDWORD   lpAttributes,
  [out, optional]     LPSTR     lpTitleBuf,
  [in, out, optional] LPDWORD   pcchTitleBuf,
  [out, optional]     LPSTR     lpHelpBuf,
  [in, out, optional] LPDWORD   pcchHelpBuf
);

Paramètres

[in] hProduct

Gérez le produit propriétaire de la fonctionnalité. Ce handle est obtenu à partir de MsiOpenProduct.

[in] szFeature

Code de fonctionnalité pour la fonctionnalité sur laquelle les informations doivent être retournées.

[out, optional] lpAttributes

Pointeur vers un emplacement contenant un ou plusieurs des indicateurs d’attribut suivants.

INSTALLFEATUREATTRIBUTE_FAVORLOCAL (1)

INSTALLFEATUREATTRIBUTE_FAVORSOURCE (2)

INSTALLFEATUREATTRIBUTE_FOLLOWPARENT (4)

INSTALLFEATUREATTRIBUTE_FAVORADVERTISE (8)

INSTALLFEATUREATTRIBUTE_DISALLOWADVERTISE (16)

INSTALLFEATUREATTRIBUTE_NOUNSUPPORTEDADVERTISE (32)

Pour plus d’informations, consultez
table de fonctionnalités. Les valeurs qui MsiGetFeatureInfo retournent deux valeurs dans la colonne Attributs de la table de fonctionnalités.

[out, optional] lpTitleBuf

Pointeur vers une mémoire tampon pour recevoir le nom localisé de la fonctionnalité, qui correspond au champ Titre de la table de fonctionnalités .

Ce paramètre est facultatif et peut être null.

[in, out, optional] pcchTitleBuf

En entrée, la taille de lpTitleBuf. En sortie, le nombre de caractères retournés dans lpTitleBuf. Lors de l’entrée, il s’agit de la taille complète de la mémoire tampon et inclut un espace pour un caractère null de fin. Si la mémoire tampon passée est trop petite, le nombre retourné n’inclut pas le caractère null de fin.

[out, optional] lpHelpBuf

Pointeur vers une mémoire tampon pour recevoir la description localisée de la fonctionnalité, qui correspond au champ Description de la fonctionnalité dans la table de fonctionnalités . Ce paramètre est facultatif et peut être null.

[in, out, optional] pcchHelpBuf

En entrée, la taille de lpHelpBuf. En sortie, le nombre de caractères retournés dans lpHelpBuf. Lors de l’entrée, il s’agit de la taille complète de la mémoire tampon et inclut un espace pour un caractère null de fin. Si la mémoire tampon passée est trop petite, le nombre retourné n’inclut pas le caractère null de fin.

Valeur de retour

Retourner le code Description
ERROR_INVALID_HANDLE
Le handle de produit n’est pas valide.
ERROR_INVALID_PARAMETER
L’un des paramètres n’est pas valide.
ERROR_MORE_DATA
Une mémoire tampon est trop petite pour contenir les données demandées.
ERROR_SUCCESS
La fonction retourne correctement.
ERROR_UNKNOWN_FEATURE
La fonctionnalité n’est pas connue.

Remarques

Les tailles de mémoire tampon pour la fonction MsiGetFeatureInfo doivent inclure un caractère supplémentaire pour le caractère null de fin. Si une mémoire tampon est trop petite, la chaîne retournée est tronquée avec null et la taille de la mémoire tampon contient le nombre de caractères de la chaîne entière, sans inclure le caractère null de fin. Pour plus d’informations, consultez Appel de fonctions de base de données à partir de programmes.

Note

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