Partager via


MsiGetProductPropertyW, fonction (msi.h)

La fonction MsiGetProductProperty récupère les propriétés du produit. Ces propriétés se trouvent dans la base de données de produits.

Syntaxe

UINT MsiGetProductPropertyW(
  [in]      MSIHANDLE hProduct,
  [in]      LPCWSTR   szProperty,
  [out]     LPWSTR    lpValueBuf,
  [in, out] LPDWORD   pcchValueBuf
);

Paramètres

[in] hProduct

Handle vers le produit obtenu à partir de MsiOpenProduct.

[in] szProperty

Spécifie la propriété à récupérer. Cette valeur respecte la casse.

[out] lpValueBuf

Pointeur vers une mémoire tampon qui reçoit la valeur de propriété. La valeur est tronquée et terminée par null si lpValueBuf est trop petit. Ce paramètre peut avoir la valeur Null.

[in, out] pcchValueBuf

Pointeur vers une variable qui spécifie la taille, en caractères, de la mémoire tampon vers laquelle pointe le paramètre lpValueBuf . Lors de l’entrée, il s’agit de la taille complète de la mémoire tampon, y compris 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.

Si lpValueBuf a la valeur null, pcchValueBuf peut être null.

Valeur retournée

La fonction MsiGetProductProperty retourne les valeurs suivantes.

Valeur Signification
ERROR_INVALID_PARAMETER
Un paramètre non valide a été transmis à la fonction.
ERROR_INVALID_HANDLE
Un handle non valide a été passé à la fonction .
ERROR_MORE_DATA
Une mémoire tampon est trop petite pour contenir la valeur de la propriété entière.
ERROR_SUCCESS
La fonction s’est terminée avec succès.
 
 

Remarques

Lorsque la fonction MsiGetProductProperty est retournée, le paramètre pcchValueBuf contient la longueur de la chaîne stockée dans la mémoire tampon. Le nombre retourné n’inclut pas le caractère null de fin. Si la mémoire tampon n’est pas assez grande, MsiGetProductProperty retourne ERROR_MORE_DATA, et MsiGetProductProperty contient la taille de la chaîne, en caractères, sans compter le caractère Null.

Notes

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

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