Função MsiEnumRelatedProductsA (msi.h)

A função MsiEnumRelatedProducts enumera produtos com um código de atualização especificado. Essa função lista os produtos atualmente instalados e anunciados que têm a propriedade UpgradeCode especificada em sua tabela Property.

Sintaxe

UINT MsiEnumRelatedProductsA(
  [in]  LPCSTR lpUpgradeCode,
  [in]  DWORD  dwReserved,
  [in]  DWORD  iProductIndex,
  [out] LPSTR  lpProductBuf
);

Parâmetros

[in] lpUpgradeCode

A cadeia de caracteres terminada em nulo que especifica o código de atualização de produtos relacionados que o instalador deve enumerar.

[in] dwReserved

Esse parâmetro é reservado e deve ser 0.

[in] iProductIndex

O índice baseado em zero nos produtos registrados.

[out] lpProductBuf

Um buffer para receber o GUID do código do produto. Esse buffer deve ter 39 caracteres. Os primeiros 38 caracteres são para o GUID e o último caractere é para 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á produtos a serem retornados.
ERROR_NOT_ENOUGH_MEMORY
O sistema não tem memória suficiente para concluir a operação. Disponível a partir do Windows Server 2003.
ERROR_SUCCESS
Um valor foi enumerado.

Comentários

Consulte a propriedade UpgradeCode .

Para enumerar produtos atualmente instalados e anunciados que têm um código de atualização específico, um aplicativo deve inicialmente chamar a função MsiEnumRelatedProducts com o parâmetro iProductIndex definido como zero. Em seguida, o aplicativo deve incrementar o parâmetro iProductIndex e chamar MsiEnumRelatedProducts até que a função retorne ERROR_NO_MORE_ITEMS, o que significa que não há mais produtos com o código de atualização especificado.

Ao fazer várias chamadas para MsiEnumRelatedProducts para enumerar todos os produtos relacionados, cada chamada deve ser feita do mesmo thread.

Observação

O cabeçalho msi.h define MsiEnumRelatedProducts 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

   
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