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


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

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

Синтаксис

UINT MsiGetProductPropertyW(
  [in]      MSIHANDLE hProduct,
  [in]      LPCWSTR   szProperty,
  [out]     LPWSTR    lpValueBuf,
  [in, out] LPDWORD   pcchValueBuf
);

Параметры

[in] hProduct

Обработка продукта, полученного от MsiOpenProduct.

[in] szProperty

Указывает свойство, которое требуется извлечь. Это учитывает регистр.

[out] lpValueBuf

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

[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 содержит размер строки в символах без подсчета null символов.

Заметка

Заголовок 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".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll

См. также

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