Función MsiExtractPatchXMLDataA (msi.h)

La función MsiExtractPatchXMLData extrae información de una revisión que se puede usar para determinar si la revisión se aplica a un sistema de destino. La función devuelve una cadena XML que se puede proporcionar a MsiDeterminePatchSequence y MsiDetermineApplicablePatches en lugar del archivo de revisión completo. La información devuelta se puede usar para determinar si la revisión es aplicable.

Sintaxis

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

Parámetros

[in] szPatchPath

Ruta de acceso completa a la revisión que se está consultando. Pase como una cadena terminada en NULL. Este parámetro no puede ser NULL.

[in] dwReserved

Argumento reservado que debe ser 0 (cero).

[out, optional] szXMLData

Puntero a un búfer para contener la cadena XML que contiene la información de revisión extraída. Este búfer debe ser lo suficientemente grande como para contener la información recibida. Si el búfer es demasiado pequeño, la función devuelve ERROR_MORE_DATA y establece *pcchXMLData en el número de TCHAR en el valor, no incluido el carácter NULL de terminación.

Si szXMLData se establece en NULL y pcchXMLData se establece en un puntero válido, la función devuelve ERROR_SUCCESS y establece *pcchXMLData en el número de TCHAR en el valor, no incluido el carácter NULL de terminación. A continuación, se puede llamar a la función de nuevo para recuperar el valor, con el búfer szXMLData lo suficientemente grande como para contener *pcchXMLData + 1 caracteres.

[in, out, optional] pcchXMLData

Puntero a una variable que especifica el número de TCHAR en el búfer szXMLData . Cuando se devuelve la función, este parámetro se establece en el tamaño del valor solicitado, independientemente de si la función copia o no el valor en el búfer especificado. El tamaño se devuelve como el número de TCHAR en el valor solicitado, sin incluir el carácter nulo de terminación.

Si este parámetro se establece en NULL, la función devuelve ERROR_INVALID_PARAMETER.

Valor devuelto

La función MsiExtractPatchXMLData puede devolver los valores siguientes.

Código devuelto Descripción
ERROR_FUNCTION_FAILED
Error en la función de una manera que no se identifica con ninguno de los valores devueltos de esta tabla.
ERROR_INVALID_PARAMETER
Se pasó un parámetro no válido a la función.
ERROR_MORE_DATA
El valor no cabe en el búfer proporcionado.
ERROR_PATCH_OPEN_FAILED
No se pudo abrir el archivo de revisión.
ERROR_SUCCESS
La función se realizó correctamente.
ERROR_PATCH_PACKAGE_INVALID
No se pudo abrir el archivo de revisión.
ERROR_CALL_NOT_IMPLEMENTED
Este error se puede devolver si MSXML 3.0 no está instalado.

Comentarios

El método ExtractPatchXMLData del objeto Installer usa la función MsiExtractPatchXMLData .

Nota

El encabezado msi.h define MsiExtractPatchXMLData como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. Windows Installer 3.0, o posterior, en Windows Server 2003 o Windows XP. Consulte Windows Installer para obtener información sobre el Service Pack mínimo de Windows que requiere una versión de Windows Installer.
Plataforma de destino Windows
Encabezado msi.h
Library Msi.lib
Archivo DLL Msi.dll

Consulte también

MsiDetermineApplicablePatches

MsiDeterminePatchSequence

No se admite en Windows Installer 2.0 ni en versiones anteriores