Функция 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.

[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 объекта Installer использует функцию 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.
Целевая платформа Windows
Header msi.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

MsiDetermineApplicablePatches

MsiDeterminePatchSequence

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