Функция 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).
[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
Указатель на переменную, получающую путь к компоненту. Этот параметр может быть нулевым.
[in, out] pcchPathBuf
Указатель на переменную, указывающую размер буфера в символах, на который указывает параметр lpPathBuf . Во входных данных это полный размер буфера, включая пробел для завершающего символа NULL. Если переданный буфер слишком мал, возвращаемое число не включает завершающий символ NULL.
Если lpPathBuf имеет значение NULL, pcchBuf может иметь значение NULL.
Возвращаемое значение
Значение | Значение |
---|---|
|
Квалификатор компонента недопустим или отсутствует. |
|
Функция успешно завершена. |
|
Функция отсутствует или не работает. Эта ошибка возвращается для dwInstallMode = INSTALLMODE_EXISTING. |
|
Указанный компонент неизвестен. |
|
См . коды ошибок. |
Произошла ошибка, связанная с инициализацией. |
Комментарии
После успешного выполнения функции MsiProvideQualifiedComponentEx параметр pcchPathBuf содержит длину строки в 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. |
Целевая платформа | Windows |
Header | msi.h |
Библиотека | Msi.lib |
DLL | Msi.dll |
См. также раздел
Функции, зависящие от компонентов
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по