Функция MsiQueryFeatureStateExA (msi.h)
Функция MsiQueryFeatureStateEx возвращает состояние установленного компонента продукта. Эта функция может использоваться для запроса любого компонента экземпляра продукта, установленного под учетной записью компьютера, или любого контекста в текущей учетной записи пользователя или контекста, управляемого пользователем, в любой учетной записи пользователя, отличной от текущего пользователя. Пользователь должен иметь права администратора для получения сведений о продукте, установленном для пользователя, отличного от текущего пользователя.
Синтаксис
UINT MsiQueryFeatureStateExA(
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szFeature,
[out, optional] INSTALLSTATE *pdwState
);
Параметры
[in] szProductCode
Код продукта GUID продукта, содержащего интересующую функцию.
[in] szUserSid
Указывает идентификатор безопасности (SID) учетной записи, в которой существует экземпляр запрашиваемого продукта. Если параметр dwContext не MSIINSTALLCONTEXT_MACHINE, значение NULL указывает текущего пользователя.
[in] dwContext
Контекст установки запрашиваемого экземпляра продукта.
[in] szFeature
Указывает запрашиваемую функцию. Идентификатор компонента, как указано в столбце Компоненттаблицы Признаков.
[out, optional] pdwState
Состояние установки компонента для указанного экземпляра продукта. Этот параметр может возвращать одно из следующих значений или значение NULL.
Значение | Значение |
---|---|
|
Эта функция объявлена. |
|
Компонент устанавливается локально. |
|
Компонент устанавливается для запуска из источника. |
Возвращаемое значение
Функция MsiQueryFeatureStateEx возвращает следующие значения.
Значение | Значение |
---|---|
|
Пользователь должен иметь права администратора для получения сведений о продукте, установленном для пользователя, отличного от текущего пользователя. |
|
Данные конфигурации повреждены. |
|
В функцию передан недопустимый параметр. |
|
Функция успешно завершена. |
|
Идентификатор компонента не идентифицирует известный компонент. |
|
Код продукта не идентифицирует известный продукт. |
|
Непредвиденный внутренний сбой. |
Дополнительные сведения см. в разделе Отображаемые сообщения об ошибках.
Комментарии
Функция MsiQueryFeatureStateEx не проверяет доступность этой функции. Функция MsiQueryFeatureStateEx не проверяет идентификатор компонента. ERROR_UNKNOWN_FEATURE возвращается для любого неизвестного идентификатора функции. При выполнении запроса к продукту, установленному в контексте для учетной записи пользователя, отличной от текущего пользователя, функция завершается сбоем. В этом случае функция возвращает ERROR_UNKNOWN_FEATURE или, если продукт объявляется только (не установлен), возвращается ERROR_UNKNOWN_PRODUCT .
Примечание
Заголовок msi.h определяет MsiQueryFeatureStateEx в качестве псевдонима, который автоматически выбирает версию 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, см. в разделе Требования к установщику Windows Run-Time. |
Целевая платформа | Windows |
Header | msi.h |
Библиотека | Msi.lib |
DLL | Msi.dll |
См. также раздел
Отображаемые сообщения об ошибках
Не поддерживается в установщике Windows 2.0 и более ранних версий