Поделиться через


Функция MsiEnumPatchesW (msi.h)

Функция MsiEnumPatches перечисляет все исправления, примененные к продукту. Функция возвращает GUID кода исправления для каждого исправления, примененного к продукту, и возвращает список преобразований из каждого исправления, применяемого к продукту. Обратите внимание, что исправления могут иметь много преобразований, только некоторые из которых применимы к конкретному продукту. Список преобразований возвращается в том же формате, что и значение свойства TRANSFORMS .

Обратите внимание, чтодля pcchTransformsBuf не задано количество символов, скопированных в lpTransformsBuf после успешного возврата MsiEnumPatches.
 

Синтаксис

UINT MsiEnumPatchesW(
  [in]      LPCWSTR szProduct,
  [in]      DWORD   iPatchIndex,
  [out]     LPWSTR  lpPatchBuf,
  [out]     LPWSTR  lpTransformsBuf,
  [in, out] LPDWORD pcchTransformsBuf
);

Параметры

[in] szProduct

Указывает код продукта, для которого необходимо перечислить исправления.

[in] iPatchIndex

Указывает индекс извлекаемого исправления. Этот параметр должен быть равен нулю для первого вызова функции MsiEnumPatches , а затем увеличиваться для последующих вызовов.

[out] lpPatchBuf

Указатель на буфер, который получает GUID исправления. Этот аргумент обязателен.

[out] lpTransformsBuf

Указатель на буфер, который получает список преобразований в исправлении, применимых к продукту. Этот аргумент является обязательным и не может иметь значение Null.

[in, out] pcchTransformsBuf

Задайте для параметра число символов, скопированных в lpTransformsBuf при неудачном возвращении функции. Не задано для успешного возврата. На входных данных это полный размер буфера, включая пробел для завершающего символа NULL. Если переданный буфер слишком мал, возвращаемое число не включает завершающий символ NULL.

Возвращаемое значение

Значение Значение
ERROR_BAD_CONFIGURATION
Данные конфигурации повреждены.
ERROR_INVALID_PARAMETER
В функцию передан недопустимый параметр.
ERROR_NO_MORE_ITEMS
Исправления не возвращаются.
ERROR_SUCCESS
Значение перечислено.
ERROR_MORE_DATA
Буфер слишком мал для хранения запрошенных данных.

Комментарии

Для перечисления исправлений приложение должно сначала вызвать функцию MsiEnumPatches с параметром iPatchIndex , равным нулю. Затем приложение должно увеличить параметр iPatchIndex и вызывать MsiEnumPatches , пока не будет больше продуктов (пока функция не вернет ERROR_NO_MORE_ITEMS).

Если буфер слишком мал для хранения запрошенных данных, MsiEnumPatches возвращает ERROR_MORE_DATA а pcchTransformsBuf содержит количество символов, скопированных в lpTransformsBuf, без подсчета символа NULL.

Примечание

Заголовок msi.h определяет MsiEnumPatches в качестве псевдонима, который автоматически выбирает версию 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