Partager via


MsiGetFeatureInfoW, fonction (msi.h)

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

Syntaxe

UINT MsiGetFeatureInfoW(
  [in]                MSIHANDLE hProduct,
  [in]                LPCWSTR   szFeature,
  [out, optional]     LPDWORD   lpAttributes,
  [out, optional]     LPWSTR    lpTitleBuf,
  [in, out, optional] LPDWORD   pcchTitleBuf,
  [out, optional]     LPWSTR    lpHelpBuf,
  [in, out, optional] LPDWORD   pcchHelpBuf
);

Paramètres

[in] hProduct

Gérez le produit qui possè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 la rubrique
Table de fonctionnalités. Les valeurs renvoyées par MsiGetFeatureInfo sont deux fois plus élevées que celles de la colonne Attributs de la table de caractéristiques.

[out, optional] lpTitleBuf

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

Ce paramètre est facultatif et peut avoir la valeur null.

[in, out, optional] pcchTitleBuf

En entrée, la taille de lpTitleBuf. En sortie, le nombre de caractères retournés dans lpTitleBuf. En 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 Fonctionnalité. Ce paramètre est facultatif et peut avoir la valeur null.

[in, out, optional] pcchHelpBuf

En entrée, la taille de lpHelpBuf. En sortie, le nombre de caractères retournés dans lpHelpBuf. En 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 retournée

Code de retour 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 de 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 dans 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.

Notes

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

Voir aussi

Fonctions de requête de produit