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


Функция 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".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll