Функция MsiGetPatchInfoExA (msi.h)
Функция MsiGetPatchInfoEx запрашивает сведения о применении исправления к указанному экземпляру продукта.
Синтаксис
UINT MsiGetPatchInfoExA(
[in] LPCSTR szPatchCode,
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szProperty,
[out, optional] LPSTR lpValue,
[in, out] LPDWORD pcchValue
);
Параметры
[in] szPatchCode
Строка, завершающаяся значением NULL, содержащая GUID исправления. Этот параметр не может иметь значение NULL.
[in] szProductCode
Строка, завершающаяся значением NULL, содержащая GUID ProductCode экземпляра продукта. Этот параметр не может иметь значение NULL.
[in] szUserSid
Строка, завершающаяся значением NULL, указывающая идентификатор безопасности (SID), под которым существует экземпляр запрашиваемого исправления. Использование значения NULL указывает текущего пользователя.
[in] dwContext
Ограничивает перечисление контекстом для каждого пользователя,неуправляемого, управляемого пользователем или компьютера. Этот параметр может быть любым из следующих значений.
[in] szProperty
Строка, заканчивающаяся значением NULL, указывающая извлекаемое значение свойства. Параметр szProperty может быть одним из следующих:
Имя | Значение |
---|---|
|
Возвращает кэшированный файл исправлений, который использует продукт. |
|
Возвращает набор преобразований исправлений, примененных последней установкой исправления к продукту. Это значение может быть недоступно для неуправляемых приложений, если пользователь не вошел в систему. |
|
Возвращает время последнего получения службы этим продуктом. Значение этого свойства заменяется при каждом применении исправления или удалении из продукта или при использовании параметра командной строки /v для восстановления продукта. Если продукт не получил никаких исправлений или исправлений, это свойство содержит время установки этого продукта на этом компьютере. |
|
Возвращает значение "1", если исправление помечено как возможное для удаления из продукта. В этом случае установщик по-прежнему может заблокировать удаление, если это исправление требуется другим исправлением, которое невозможно удалить. |
|
Возвращает значение "1", если это исправление в настоящее время применяется к продукту. Возвращает значение "2", если это исправление заменено другим исправлением. Возвращает значение "4", если это исправление является устаревшим. Эти значения соответствуют константам, которые использует параметр dwFiltermsiEnumPatchesEx . |
|
Получите зарегистрированное отображаемое имя исправления. Для исправлений, не включающих свойство DisplayName в таблице MsiPatchMetadata , возвращаемое отображаемое имя является пустой строкой (""). |
|
Получите URL-адрес зарегистрированной информации о поддержке для исправления. Для исправлений, не включающих свойство MoreInfoURL в таблице MsiPatchMetadata , возвращаемый URL-адрес сведений о поддержке представляет собой пустую строку (""). |
[out, optional] lpValue
Этот параметр является указателем на буфер, получающий значение свойства. Этот буфер должен быть достаточно большим, чтобы в нем содержались сведения. Если буфер слишком мал, функция возвращает ERROR_MORE_DATA и присваивает *pcchValue числу TCHAR в значении свойства, не включая завершающий символ NULL .
Если lpValue имеет значение NULL , а pcchValue — допустимый указатель, функция возвращает ERROR_SUCCESS и задает *pcchValue число TCHAR в значении, не включая завершающий символ NULL . Затем функцию можно вызвать еще раз, чтобы получить значение, с буфером lpValue , достаточно большим, чтобы содержать *pcchValue + 1 символ.
Если lpValue и pcchValue имеют значение NULL, функция возвращает ERROR_SUCCESS , если значение существует, без извлечения значения.
[in, out] pcchValue
При вызове функции этот параметр должен быть указателем на переменную, указывающую количество TCHAR в буфере lpValue . При возврате функции для этого параметра устанавливается размер запрошенного значения независимо от того, копирует ли функция значение в указанный буфер. Размер возвращается как число TCHAR в запрошенном значении, не включая завершающий символ NULL.
Для этого параметра можно задать значение NULL , только если lpValue также имеет значение NULL. В противном случае функция возвращает ERROR_INVALID_PARAMETER.
Возвращаемое значение
Функция MsiGetPatchInfoEx возвращает следующие значения.
Код возврата | Описание |
---|---|
|
Функция завершается сбоем при попытке доступа к ресурсу с недостаточными привилегиями. |
|
Данные конфигурации повреждены. |
|
Функция завершается сбоем, и ошибка не определяется в других кодах ошибок. |
|
В функцию передается недопустимый параметр. |
|
Значение не помещается в предоставленный буфер. |
|
Исправление успешно перечислено. |
|
Продукт, который указывает szProduct, не установлен на компьютере. |
|
Свойство нераспознано. |
|
Исправление нераспознано. |
Комментарии
Установщик Windows 2.0: Не поддерживается. Эта функция доступна начиная с установщика Windows версии 3.0.
Пользователь может запрашивать данные исправления для любого видимого экземпляра продукта. Группа администраторов может запрашивать данные об исправлениях для любого экземпляра продукта и любого пользователя на компьютере. Не все значения гарантированно будут доступны для неуправляемых приложений, если пользователь не вошел в систему.
Примечание
Заголовок msi.h определяет MsiGetPatchInfoEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Установщик 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 |