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


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

Функция MsiGetProductProperty извлекает свойства продукта. Эти свойства находятся в базе данных product.

Синтаксис

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

Параметры

[in] hProduct

Дескриптор продукта, полученного из MsiOpenProduct.

[in] szProperty

Указывает извлекаемое свойство. Это значение следует вводить с учетом регистра.

[out] lpValueBuf

Указатель на буфер, который получает значение свойства. Значение усекается и заканчивается значением NULL, если значение lpValueBuf слишком мало. Этот параметр может быть нулевым.

[in, out] pcchValueBuf

Указатель на переменную, указывающую размер (в символах) буфера, на который указывает параметр lpValueBuf . На входных данных это полный размер буфера, включая пробел для завершающего символа NULL. Если переданный буфер слишком мал, возвращаемое число не включает завершающий символ NULL.

Если lpValueBuf имеет значение NULL, pcchValueBuf может иметь значение NULL.

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

Функция MsiGetProductProperty возвращает следующие значения.

Значение Значение
ERROR_INVALID_PARAMETER
В функцию передан недопустимый параметр.
ERROR_INVALID_HANDLE
В функцию передан недопустимый дескриптор.
ERROR_MORE_DATA
Буфер слишком мал для хранения всего значения свойства.
ERROR_SUCCESS
Функция успешно завершена.
 
 

Комментарии

При возврате функции MsiGetProductProperty параметр pcchValueBuf содержит длину строки, хранящейся в буфере. Возвращаемое число не включает завершающий символ NULL. Если буфер недостаточно велик, MsiGetProductProperty возвращает ERROR_MORE_DATA, а MsiGetProductProperty содержит размер строки в символах без подсчета пустого символа.

Примечание

Заголовок msi.h определяет MsiGetProductProperty в качестве псевдонима, который автоматически выбирает версию 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.
Целевая платформа Windows
Header msi.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

Функции запросов к продукту