Поделиться через


Функция MsiGetProductInfoFromScriptA (msi.h)

Функция MsiGetProductInfoFromScript возвращает сведения о продукте для файла скрипта установщика Windows.

Синтаксис

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
);

Параметры

[in] szScriptFile

Строка, завершающая значение NULL, указывающая полный путь к файлу скрипта. Файл скрипта — это скрипт объявления, созданный путем вызова MsiAdvertiseProduct или MsiAdvertiseProductEx.

[out] lpProductBuf39

Указывает на буфер, получающий код продукта. Буфер должен иметь длину 39 символов. Первые 38 символов предназначены для кода продукта GUID, а последний — для конца null-символа.

[out] plgidLanguage

Указывает на переменную, которая получает язык продукта.

[out] pdwVersion

Указывает на буфер, который получает версию продукта.

[out] lpNameBuf

Указывает на буфер, который получает имя продукта. Буфер включает завершающий символ NULL.

[in, out] pcchNameBuf

Указывает на переменную, указывающую размер буфера в символах, на который указывает параметр lpNameBuf. Этот размер должен содержать завершающийся пустой символ. При возврате функции эта переменная содержит длину строки, хранящейся в буфере. Возвращаемое число не включает завершающийся символ NULL. Если буфер недостаточно велик, функция возвращает ERROR_MORE_DATA, а переменная содержит размер строки в символах без подсчета символов NULL.

[out] lpPackageBuf

Указывает на буфер, получающий имя пакета. Буфер включает завершающий символ NULL.

[in, out] pcchPackageBuf

Указывает на переменную, указывающую размер буфера в символах, на который указывает параметр lpPackageNameBuf. Этот размер должен содержать завершающийся пустой символ. При возврате функции эта переменная содержит длину строки, хранящейся в буфере. Возвращаемое число не включает завершающийся символ NULL. Если буфер недостаточно велик, функция возвращает ERROR_MORE_DATA, а переменная содержит размер строки в символах без подсчета символов NULL.

Возвращаемое значение

Ценность Значение
ERROR_SUCCESS
Функция успешно завершена.
ERROR_INVALID_PARAMETER
Недопустимый аргумент был передан функции.
ERROR_MORE_DATA
Буфер слишком мал, чтобы сохранить все значение.
ERROR_INSTALL_FAILURE
Не удалось получить сведения о скрипте.
ERROR_CALL_NOT_IMPLEMENTED
Эта функция доступна только в Windows 2000 и Windows XP.

Замечания

Заметка

Заголовок msi.h определяет MsiGetProductInfoFromScript как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, требуемом версией установщика Windows, см. в разделе "Требования к установщику Windows Run-Time".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll