Função MsiEnumProductsA (msi.h)
A função MsiEnumProducts enumera em todos os produtos anunciados ou instalados no momento. Os produtos instalados no contexto de instalação por usuário e por computador e anúncios são enumerados.
Sintaxe
UINT MsiEnumProductsA(
[in] DWORD iProductIndex,
[out] LPSTR lpProductBuf
);
Parâmetros
[in] iProductIndex
Especifica o índice do produto a ser recuperado. Esse parâmetro deve ser zero para a primeira chamada para a função MsiEnumProducts e incrementada para chamadas subsequentes. Como os produtos não são ordenados, qualquer novo produto tem um índice arbitrário. Isso significa que a função pode retornar produtos em qualquer ordem.
[out] lpProductBuf
Ponteiro para um buffer que recebe o 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 encerramento.
Valor de retorno
Valor | Significado |
---|---|
|
Os dados de configuração estão corrompidos. |
|
Um parâmetro inválido foi passado para a função. |
|
Não há produtos a serem retornados. |
|
O sistema não tem memória suficiente para concluir a operação. Disponível com o Windows Server 2003. |
|
Um valor foi enumerado. |
Observações
Para enumerar produtos, um aplicativo deve inicialmente chamar a função MsiEnumProducts com o parâmetro iProductIndex definido como zero. Em seguida, o aplicativo deve incrementar o parâmetro iProductIndex e chamar msiEnumProducts até que não haja mais produtos (até que a função retorne ERROR_NO_MORE_ITEMS).
Ao fazer várias chamadas para MsiEnumProducts para enumerar todos os produtos, cada chamada deve ser feita do mesmo thread.
Nota
O cabeçalho msi.h define MsiEnumProducts 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. 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 5.0 no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou Windows Vista. Windows Installer 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
determinando de contexto de instalação