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


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

Функция MsiExtractPatchXMLData извлекает сведения из исправления, который можно использовать для определения того, применяется ли исправление к целевой системе. Функция возвращает XML-строку, которую можно предоставить для MsiDeterminePatchSequence и MsiDetermineApplicablePatches вместо полного файла исправления. Возвращаемые сведения можно использовать для определения применимости исправления.

Синтаксис

UINT MsiExtractPatchXMLDataA(
  [in]                LPCSTR  szPatchPath,
  [in]                DWORD   dwReserved,
  [out, optional]     LPSTR   szXMLData,
  [in, out, optional] LPDWORD pcchXMLData
);

Параметры

[in] szPatchPath

Полный путь к исправлению, запрашиваемого. Передается в виде строки, завершаемой значением NULL. Этот параметр не может быть значение NULL.

[in] dwReserved

Зарезервированный аргумент, который должен иметь значение 0 (ноль).

[out, optional] szXMLData

Указатель на буфер для хранения XML-строки, содержащей извлеченные сведения о исправлении. Этот буфер должен быть достаточно большим, чтобы содержать полученные сведения. Если буфер слишком мал, функция возвращает ERROR_MORE_DATA и задает *pcchXMLData число TCHAR в значении, а не включающее символ NULL.

Если для szXMLDataзадано значение NULL, а pcchXMLData задан допустимый указатель, функция возвращает ERROR_SUCCESS и задает *pcchXMLData число TCHAR в значении, не включая символ NULL. Затем функцию можно вызвать еще раз, чтобы получить значение, с szXMLData буфер достаточно большой, чтобы содержать *pcchXMLData + 1 символов.

[in, out, optional] pcchXMLData

Указатель на переменную, указывающую количество TCHAR в буфере szXMLData. При возврате функции этот параметр имеет размер запрошенного значения, копирует ли функция значение в указанный буфер. Размер возвращается в виде числа TCHAR в запрошенном значении, не включая завершающийся символ NULL.

Если для этого параметра задано значение NULL, функция возвращает ERROR_INVALID_PARAMETER.

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

Функция MsiExtractPatchXMLData может возвращать следующие значения.

Возвращаемый код Описание
ERROR_FUNCTION_FAILED
Функция завершилась ошибкой таким образом, что не определяется никакими возвращаемыми значениями в этой таблице.
ERROR_INVALID_PARAMETER
Недопустимый параметр был передан функции.
ERROR_MORE_DATA
Значение не помещается в предоставленный буфер.
ERROR_PATCH_OPEN_FAILED
Не удалось открыть файл исправления.
ERROR_SUCCESS
Функция была успешной.
ERROR_PATCH_PACKAGE_INVALID
Не удалось открыть файл исправления.
ERROR_CALL_NOT_IMPLEMENTED
Эта ошибка может быть возвращена, если MSXML 3.0 не установлен.

Замечания

Метод ExtractPatchXMLData объекта установщика использует функцию MsiExtractPatchXMLData.

Заметка

Заголовок MSI.h определяет MsiExtractPatchXMLData как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Установщик Windows 4.0 или установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows 3.0 или более поздней версии в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, требуемом версией установщика Windows, см. в разделе "Требования к установщику Windows Run-Time".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll

См. также

MsiDetermineApplicablePatches

MsiDeterminePatchSequence

не поддерживается в установщике Windows 2.0 и более ранних