Share via


Função MsiEnumPatchesA (msi.h)

A função MsiEnumPatches enumera todos os patches que foram aplicados a um produto. A função retorna o GUID do código de patch para cada patch que foi aplicado ao produto e retorna uma lista de transformações de cada patch que se aplicam ao produto. Observe que os patches podem ter muitas transformações apenas algumas das quais são aplicáveis a um produto específico. A lista de transformações é retornada no mesmo formato que o valor da propriedade TRANSFORMS .

Observeque pcchTransformsBuf não está definido como o número de caracteres copiados para lpTransformsBuf após um retorno bem-sucedido de MsiEnumPatches.
 

Sintaxe

UINT MsiEnumPatchesA(
  [in]      LPCSTR  szProduct,
  [in]      DWORD   iPatchIndex,
  [out]     LPSTR   lpPatchBuf,
  [out]     LPSTR   lpTransformsBuf,
  [in, out] LPDWORD pcchTransformsBuf
);

Parâmetros

[in] szProduct

Especifica o código do produto para o qual os patches devem ser enumerados.

[in] iPatchIndex

Especifica o índice do patch a ser recuperado. Esse parâmetro deve ser zero para a primeira chamada para a função MsiEnumPatches e, em seguida, incrementado para chamadas subsequentes.

[out] lpPatchBuf

Ponteiro para um buffer que recebe o GUID do patch. Esse argumento é necessário.

[out] lpTransformsBuf

Ponteiro para um buffer que recebe a lista de transformações no patch aplicáveis ao produto. Esse argumento é necessário e não pode ser Null.

[in, out] pcchTransformsBuf

Defina como o número de caracteres copiados para lpTransformsBuf após um retorno malsucedido da função. Não definido para um retorno bem-sucedido. Na entrada, esse é o tamanho total do buffer, incluindo um espaço para um caractere nulo de terminação. Se o buffer passado for muito pequeno, a contagem retornada não incluirá o caractere nulo de terminação.

Valor retornado

Valor Significado
ERROR_BAD_CONFIGURATION
Os dados de configuração estão corrompidos.
ERROR_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função.
ERROR_NO_MORE_ITEMS
Não há patches a serem retornados.
ERROR_SUCCESS
Um valor foi enumerado.
ERROR_MORE_DATA
Um buffer é muito pequeno para conter os dados solicitados.

Comentários

Para enumerar patches, um aplicativo deve inicialmente chamar a função MsiEnumPatches com o parâmetro iPatchIndex definido como zero. Em seguida, o aplicativo deve incrementar o parâmetro iPatchIndex e chamar MsiEnumPatches até que não haja mais produtos (até que a função retorne ERROR_NO_MORE_ITEMS).

Se o buffer for muito pequeno para conter os dados solicitados, MsiEnumPatches retornará ERROR_MORE_DATA e pcchTransformsBuf conterá o número de caracteres copiados para lpTransformsBuf, sem contar o caractere Null.

Observação

O cabeçalho msi.h define MsiEnumPatches 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 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Windows Installer 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