MsiGetProductInfoFromScriptA, fonction (msi.h)

La fonction MsiGetProductInfoFromScript retourne des informations 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 qui a été créé en appelant MsiAdvertiseProduct ou MsiAdvertiseProductEx.

[out] lpProductBuf39

Pointe vers une mémoire tampon qui reçoit le code de produit. La mémoire tampon doit comporter 39 caractères. Les 38 premiers caractères sont destinés au GUID du code de produit, 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 vers laquelle pointe le paramètre lpNameBuf . Cette taille doit inclure le caractère null de fin. Lorsque la fonction retourne, 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 vers laquelle pointe le paramètre lpPackageNameBuf . Cette taille doit inclure le caractère null de fin. Lorsque la fonction retourne, 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 retournée

Valeur Signification
ERROR_SUCCESS
La fonction s’est terminée avec succès.
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

Notes

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. 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