Функция MsiProvideQualifiedComponentExA (msi.h)
Функция MsiProvideQualifiedComponentEx возвращает полный путь компонента для квалифицированного компонента, опубликованного продуктом и выполняющего любую необходимую установку. Эта функция запрашивает источник при необходимости и увеличивает количество использования для функции.
Синтаксис
UINT MsiProvideQualifiedComponentExA(
[in] LPCSTR szCategory,
[in] LPCSTR szQualifier,
[in] DWORD dwInstallMode,
[in] LPCSTR szProduct,
[in] DWORD dwUnused1,
[in] DWORD dwUnused2,
[out] LPSTR lpPathBuf,
[in, out] LPDWORD pcchPathBuf
);
Параметры
[in] szCategory
Указывает идентификатор компонента, который для запрошенного компонента. Это может быть не GUID для самого компонента, а сервер, предоставляющий правильные функциональные возможности, как в столбце ComponentId таблицы PublishComponent.
[in] szQualifier
Задает квалификатор в список компонентов рекламы (из PublishComponent Table).
[in] dwInstallMode
Определяет режим установки. Этот параметр может быть одним из следующих значений.
Ценность | Значение |
---|---|
|
Предоставьте компонент и выполните любую установку, необходимую для предоставления компонента. Если файл ключа компонента в запрошенной функции или родитель компонента отсутствует, переустановите функцию с помощью MsiReinstallFeature со следующими битами флагов: REINSTALLMODE_FILEMISSING, REINSTALLMODE_FILEOLDERVERSION, REINSTALLMODE_FILEVERIFY, REINSTALLMODE_MACHINEDATA, REINSTALLMODE_USERDATA и REINSTALLMODE_SHORTCUT. |
|
Укажите компонент только в том случае, если эта функция существует. В противном случае возвращается ERROR_FILE_NOT_FOUND.
Этот режим проверяет, существует ли файл ключа компонента. |
|
Укажите компонент только в том случае, если эта функция существует. В противном случае возвращается ERROR_FILE_NOT_FOUND.
Этот режим проверяет, зарегистрирован ли компонент и не проверяет, существует ли файл ключа компонента. |
|
Укажите компонент только в том случае, если эта функция существует, в противном случае возвращается ERROR_FILE_NOT_FOUND. |
|
Вызовите MsiReinstallFeature, чтобы переустановить функцию, используя этот параметр для параметра dwReinstallMode, а затем укажите компонент. |
|
Укажите компонент, только если состояние установки компонента INSTALLSTATE_LOCAL. Если состояние установки компонента INSTALLSTATE_SOURCE, вернитесь ERROR_INSTALL_SOURCE_ABSENT. В противном случае возвращается ERROR_FILE_NOT_FOUND. Этот режим проверяет, зарегистрирован ли компонент и не проверяет наличие файла ключа. |
[in] szProduct
Указывает продукт для сопоставления с опубликованным квалифицированным компонентом. Если это значение NULL, то этот API работает так же, как и MsiProvideQualifiedComponent.
[in] dwUnused1
Скрытный. Должно быть равно нулю.
[in] dwUnused2
Скрытный. Должно быть равно нулю.
[out] lpPathBuf
Указатель на переменную, получающую путь к компоненту. Этот параметр может иметь значение NULL.
[in, out] pcchPathBuf
Указатель на переменную, указывающую размер буфера в символах, на который указывает параметр lpPathBuf. В входных данных это полный размер буфера, включая пробел для конца символа NULL. Если буфер, переданный слишком маленьким, возвращаемое число не включает завершающий символ NULL.
Если lpPathBuf имеет значение NULL, pcchBuf может иметь значение NULL.
Возвращаемое значение
Ценность | Значение |
---|---|
|
Квалификатор компонентов недопустим или отсутствует. |
|
Функция успешно завершена. |
|
Функция отсутствует или нарушена. Эта ошибка возвращается для dwInstallMode = INSTALLMODE_EXISTING. |
|
Указанный компонент неизвестен. |
|
См. коды ошибок. |
|
Произошла ошибка, связанная с инициализацией. |
Замечания
После успешного выполнения функции MsiProvideQualifiedComponentEx параметр pcchPathBu f содержит длину строки в lpPathBuf.
Компоненты с компонентами, содержащими поврежденный файл или неправильную версию файла, должны быть явно переустановены пользователем или вызовом приложения MsiReinstallFeature.
Заметка
Заголовок msi.h определяет MsiProvideQualifiedComponentEx как псевдоним, который автоматически выбирает версию 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 |
См. также
функций