Partager via


MsiGetProductPropertyA, 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 du produit.

Syntaxe

UINT MsiGetProductPropertyA(
  [in]      MSIHANDLE hProduct,
  [in]      LPCSTR    szProperty,
  [out]     LPSTR     lpValueBuf,
  [in, out] LPDWORD   pcchValueBuf
);

Paramètres

[in] hProduct

Gérez 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 la 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 . En 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 retourne, 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 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