Partager via


MsiGetProductInfoFromScriptA, fonction (msi.h)

La fonction MsiGetProductInfoFromScript retourne des informations de produit pour un fichier de script Windows Installer.

Syntaxe

UINT MsiGetProductInfoFromScriptA(
  [in]      LPCSTR  szScriptFile,
  [out]     LPSTR   lpProductBuf39,
  [out]     LANGID  *plgidLanguage,
  [out]     LPDWORD pdwVersion,
  [out]     LPSTR   lpNameBuf,
  [in, out] LPDWORD pcchNameBuf,
  [out]     LPSTR   lpPackageBuf,
  [in, out] LPDWORD pcchPackageBuf
);

Paramètres

[in] szScriptFile

Chaîne terminée par null spécifiant le chemin d’accès complet au fichier de script. Le fichier de script est le script de publication créé en appelant MsiAdvertiseProduct ou MsiAdvertiseProductEx.

[out] lpProductBuf39

Pointe vers une mémoire tampon qui reçoit le code du produit. La mémoire tampon doit comporter 39 caractères. Les 38 premiers caractères concernent le code produit GUID, et le dernier caractère correspond au caractère null de fin.

[out] plgidLanguage

Pointe vers une variable qui reçoit la langue du produit.

[out] pdwVersion

Pointe vers une mémoire tampon qui reçoit la version du produit.

[out] lpNameBuf

Pointe vers une mémoire tampon qui reçoit le nom du produit. La mémoire tampon inclut un caractère null de fin.

[in, out] pcchNameBuf

Pointe vers une variable qui spécifie la taille, en caractères, de la mémoire tampon pointée par le paramètre lpNameBuf. Cette taille doit inclure le caractère null de fin. Lorsque la fonction est retournée, cette variable 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 suffisamment grande, la fonction retourne ERROR_MORE_DATA et la variable contient la taille de la chaîne en caractères, sans compter le caractère Null.

[out] lpPackageBuf

Pointe vers une mémoire tampon qui reçoit le nom du package. La mémoire tampon inclut le caractère null de fin.

[in, out] pcchPackageBuf

Pointe vers une variable qui spécifie la taille, en caractères, de la mémoire tampon pointée par le paramètre lpPackageNameBuf. Cette taille doit inclure le caractère null de fin. Lorsque la fonction est retournée, cette variable 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 suffisamment grande, la fonction retourne ERROR_MORE_DATA et la variable contient la taille de la chaîne en caractères, sans compter le caractère Null.

Valeur de retour

Valeur Signification
ERROR_SUCCESS
La fonction s’est terminée correctement.
ERROR_INVALID_PARAMETER
Un argument non valide a été passé à la fonction.
ERROR_MORE_DATA
Une mémoire tampon était trop petite pour contenir la valeur entière.
ERROR_INSTALL_FAILURE
Impossible d’obtenir des informations de script.
ERROR_CALL_NOT_IMPLEMENTED
Cette fonction est disponible uniquement sur Windows 2000 et Windows XP.

Remarques

Note

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