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


Функция MsiGetComponentStateA (msiquery.h)

Функция MsiGetComponentState получает состояние компонента.

Синтаксис

UINT MsiGetComponentStateA(
  [in]  MSIHANDLE    hInstall,
  [in]  LPCSTR       szComponent,
  [out] INSTALLSTATE *piInstalled,
  [out] INSTALLSTATE *piAction
);

Параметры

[in] hInstall

Дескриптор установки, предоставленного пользовательскому действию DLL или полученному через MsiOpenPackage, MsiOpenPackageExили MsiOpenProduct.

[in] szComponent

Строка, завершающая значение NULL, указывающая имя компонента в продукте.

[out] piInstalled

Получает текущее установленное состояние. Этот параметр не должен иметь значение NULL. Этот параметр может быть одним из следующих значений.

Ценность Значение
INSTALLSTATE_ABSENT
Компонент не установлен.
INSTALLSTATE_DEFAULT
Компонент устанавливается в расположении по умолчанию: локальный или исходный.
INSTALLSTATE_LOCAL
Компонент устанавливается на локальном диске.
INSTALLSTATE_REMOVED
Компонент удаляется. В состоянии действия и не задано.
INSTALLSTATE_SOURCE
Компонент выполняется из источника, компакт-диска или сети.
INSTALLSTATE_UNKNOWN
Нераспознанное имя продукта или функции было передано функции.

[out] piAction

Получает действие, выполняемое во время установки. Этот параметр не должен иметь значение NULL. Сведения о возвращаемых значениях см. в разделе piInstalled.

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

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

Замечания

Если функция завершается ошибкой, можно получить расширенные сведения об ошибке с помощью MsiGetLastErrorRecord.

Дополнительные сведения см. в разделе вызов функций базы данных из программ.

Заметка

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

См. также

Функции выбора установщика

передачи null в качестве аргумента функций установщика Windows