Функция MsiEnumPatchesExA (msi.h)
Функция MsiEnumPatchesEx перечисляет все исправления в определенном контексте или во всех контекстах. Исправления, уже примененные к продуктам, перечисляются. Также перечисляются исправления, которые были зарегистрированы, но еще не применены к продуктам.
Синтаксис
UINT MsiEnumPatchesExA(
[in, optional] LPCSTR szProductCode,
[in, optional] LPCSTR szUserSid,
[in] DWORD dwContext,
[in] DWORD dwFilter,
[in] DWORD dwIndex,
[out, optional] CHAR [39] szPatchCode,
[out, optional] CHAR [39] szTargetProductCode,
[out, optional] MSIINSTALLCONTEXT *pdwTargetProductContext,
[out, optional] LPSTR szTargetUserSid,
[in, out, optional] LPDWORD pcchTargetUserSid
);
Параметры
[in, optional] szProductCode
Строка, завершающая значение NULL, указывающая guid ProductCode продукта, исправления которого перечисляются. Если перечисление исправлений неNULL, перечисление исправлений ограничено экземплярами этого продукта в соответствии с пользователем и контекстом, указанным szUserSid и dwContext. Если null, перечисляются исправления для всех продуктов в указанном контексте.
[in, optional] szUserSid
Строка, завершающая значение NULL, указывающая идентификатор безопасности (SID), ограничивающий контекст перечисления. Специальная строка SID "S-1-1-0" (Все) указывает перечисление для всех пользователей в системе. Значение БЕЗОПАСНОСТИ, отличное от S-1-1-0, считается идентификатором безопасности пользователя и ограничивает перечисление этого пользователя. При перечислении для пользователя, отличного от текущего пользователя, все исправления, примененные в контексте, неуправляемом пользователем, с использованием версии меньше, чем установщик Windows версии 3.0, не перечисляются. Этот параметр можно задать для null, чтобы указать текущего пользователя.
[in] dwContext
Ограничивает перечисление одним или сочетанием контекстов. Этот параметр может быть любым или сочетанием следующих значений.
[in] dwFilter
Фильтр перечисления. Этот параметр может быть одним или сочетанием следующих параметров.
Фильтр | Значение |
---|---|
|
Перечисление включает исправления, которые были применены. Перечисление не включает заменяемые или устаревшие исправления. |
|
Перечисление включает исправления, помеченные как замененные. |
|
Перечисление включает исправления, помеченные как устаревшие. |
|
Перечисление включает исправления, зарегистрированные, но еще не применены. Функция msiSourceListAddSourceEx может регистрировать новые исправления.
Заметка исправления, зарегистрированные для пользователей, отличных от текущего пользователя, и примененные в контексте, неуправляемом пользователем, не перечисляются.
|
|
Перечисление включает все примененные, устаревшие, замененные и зарегистрированные исправления. |
[in] dwIndex
Индекс извлекаемого исправления. Этот параметр должен быть равен нулю для первого вызова функции MsiEnumPatchesEx, а затем увеличивается для последующих вызовов. Параметр dwIndex следует увеличить только в том случае, если предыдущий вызов вернулся ERROR_SUCCESS.
[out, optional] szPatchCode
Выходной буфер, содержащий GUID перечисленного исправления. Буфер должен быть достаточно большим для хранения GUID. Этот параметр может быть NULL.
[out, optional] szTargetProductCode
Выходной буфер, содержащий guid ProductCode продукта, получающего это исправление. Буфер должен быть достаточно большим для хранения GUID. Этот параметр может быть NULL.
[out, optional] pdwTargetProductContext
Возвращает контекст перечисления исправлений. Выходное значение может быть MSIINSTALLCONTEXT_USERMANAGED, MSIINSTALLCONTEXT_USERUNMANAGEDили MSIINSTALLCONTEXT_MACHINE. Этот параметр может быть NULL.
[out, optional] szTargetUserSid
Выходной буфер, получающий строковый идентификатор безопасности учетной записи, в которой существует этот экземпляр исправления. Этот буфер возвращает пустую строку для контекста каждого компьютера.
Этот буфер должен быть достаточно большим, чтобы содержать идентификатор безопасности. Если буфер слишком мал, функция возвращает ERROR_MORE_DATA и задает *pcchTargetUserSid в число TCHAR в значении, а не включающее символ NULL.
Если szTargetUserSid имеет значение NULL и pcchTargetUserSid имеет допустимый указатель, Функция возвращает ERROR_SUCCESS и задает *pcchTargetUserSid к числу TCHAR в значении, не включая завершающий символ NULL. Затем функцию можно вызвать еще раз, чтобы получить значение, с помощью szTargetUserSid буфер достаточно большой, чтобы содержать *pcchTargetUserSid + 1 символов.
Если szTargetUserSid и pcchTargetUserSid задано значение NULL, функция возвращает ERROR_SUCCESS, если значение существует, без получения значения.
[in, out, optional] pcchTargetUserSid
Указатель на переменную, указывающую количество TCHAR в буфере szTargetUserSid. При возврате функции этот параметр имеет размер запрошенного значения, копирует ли функция значение в указанный буфер. Размер возвращается в виде числа TCHAR в запрошенном значении, не включая завершающийся символ NULL.
Этот параметр можно задать значение NULL только в том случае, если szTargetUserSid также NULL, в противном случае функция возвращает ERROR_INVALID_PARAMETER.
Возвращаемое значение
Функция MsiEnumPatchesEx возвращает одно из следующих значений.
Возвращаемый код | Описание |
---|---|
|
Функция не пытается получить доступ к ресурсу с недостаточными привилегиями. |
|
Данные конфигурации повреждены. |
|
Недопустимый параметр передается функции. |
|
Для перечисления исправлений больше нет. |
|
Исправление успешно перечисляется. |
|
Продукт, szProduct, не установлен на компьютере в указанных контекстах. |
|
Это возвращается, когда pcchTargetUserSid указывает на размер буфера меньше, чем требуется для копирования идентификатора безопасности. В этом случае пользователь может исправить буфер и вызвать MsiEnumPatchesEx для того же значения индекса. |
Замечания
Неадминистры могут перечислять исправления только в пределах видимости. Администраторы могут перечислять исправления для других контекстов пользователей.
Заметка
Заголовок msi.h определяет MsiEnumPatchesEx как псевдоним, который автоматически выбирает версию 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". |
целевая платформа | Виндоус |
заголовка | msi.h |
библиотеки |
Msi.lib |
DLL | Msi.dll |
См. также
контекста установки