Compartilhar via


Função MsiExtractPatchXMLDataA (msi.h)

A função MsiExtractPatchXMLData extrai informações de um patch que pode ser usado para determinar se o patch se aplica a um sistema de destino. A função retorna uma cadeia de caracteres XML que pode ser fornecida para msiDeterminePatchSequence e MsiDetermineApplicablePatches em vez do arquivo de patch completo. As informações retornadas podem ser usadas para determinar se o patch é aplicável.

Sintaxe

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

Parâmetros

[in] szPatchPath

O caminho completo para o patch que está sendo consultado. Passe como uma cadeia de caracteres terminada em nulo. Esse parâmetro não pode ser NULL.

[in] dwReserved

Um argumento reservado que deve ser 0 (zero).

[out, optional] szXMLData

Um ponteiro para um buffer para manter a cadeia de caracteres XML que contém as informações de patch extraídas. Esse buffer deve ser grande o suficiente para conter as informações recebidas. Se o buffer for muito pequeno, a função retornará ERROR_MORE_DATA e definirá *pcchXMLData para o número de TCHAR no valor, não incluindo o caractere NULL de encerramento.

Se szXMLData estiver definida como NULL e pcchXMLData estiver definida como um ponteiro válido, a função retornará ERROR_SUCCESS e definirá *pcchXMLData para o número de TCHAR no valor, não incluindo o caractere NULL de encerramento. Em seguida, a função pode ser chamada novamente para recuperar o valor, com szXMLData buffer grande o suficiente para conter *pcchXMLData + 1 caracteres.

[in, out, optional] pcchXMLData

Um ponteiro para uma variável que especifica o número de TCHAR no buffer de szXMLData do . Quando a função retorna, esse parâmetro é definido como o tamanho do valor solicitado se a função copia ou não o valor para o buffer especificado. O tamanho é retornado como o número de TCHAR no valor solicitado, não incluindo o caractere nulo de terminação.

Se esse parâmetro for definido como NULL, a função retornará ERROR_INVALID_PARAMETER.

Valor de retorno

A função MsiExtractPatchXMLData pode retornar os valores a seguir.

Código de retorno Descrição
ERROR_FUNCTION_FAILED
A função falhou de uma forma que não é identificada por nenhum dos valores retornados nesta tabela.
ERROR_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função.
ERROR_MORE_DATA
O valor não se encaixa no buffer fornecido.
ERROR_PATCH_OPEN_FAILED
Não foi possível abrir o arquivo de patch.
ERROR_SUCCESS
A função foi bem-sucedida.
ERROR_PATCH_PACKAGE_INVALID
Não foi possível abrir o arquivo de patch.
ERROR_CALL_NOT_IMPLEMENTED
Esse erro poderá ser retornado se o MSXML 3.0 não estiver instalado.

Observações

O método ExtractPatchXMLData do objeto Installer usa a função MsiExtractPatchXMLData.

Nota

O cabeçalho msi.h define MsiExtractPatchXMLData como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou Windows Vista. Windows Installer 3.0 ou posterior no Windows Server 2003 ou Windows XP. Consulte os Requisitos de Run-Time do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
da Plataforma de Destino Windows
cabeçalho msi.h
biblioteca Msi.lib
de DLL Msi.dll

Consulte também

MsiDetermineApplicablePatches

MsiDeterminePatchSequence

sem suporte no Windows Installer 2.0 e anteriores