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 a 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 como o número de TCHAR no valor, sem incluir o caractere NULL de terminação.

Se szXMLData estiver definido como NULL e pcchXMLData estiver definido como um ponteiro válido, a função retornará ERROR_SUCCESS e definirá *pcchXMLData como o número de TCHAR no valor, não incluindo o caractere NULL de terminação. Em seguida, a função pode ser chamada novamente para recuperar o valor, com o buffer szXMLData 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 szXMLData . 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.

Retornar valor

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.

Comentários

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

Observação

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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Windows Installer 3.0 ou versões posteriores no Windows Server 2003 ou no Windows XP. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
Plataforma de Destino Windows
Cabeçalho msi.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

MsiDetermineApplicablePatches

MsiDeterminePatchSequence

Sem suporte no Windows Installer 2.0 e nas versões anteriores