Função MsiEnumComponentsA (msi.h)
A função MsiEnumComponents enumera os componentes instalados para todos os produtos. Essa função recupera um código de componente sempre que é chamado.
Sintaxe
UINT MsiEnumComponentsA(
[in] DWORD iComponentIndex,
[out] LPSTR lpComponentBuf
);
Parâmetros
[in] iComponentIndex
Especifica o índice do componente a ser recuperado. Esse parâmetro deve ser zero para a primeira chamada para a função MsiEnumComponents e incrementado para chamadas subsequentes. Como os componentes não são ordenados, qualquer novo componente tem um índice arbitrário. Isso significa que a função pode retornar componentes em qualquer ordem.
[out] lpComponentBuf
Ponteiro para um buffer que recebe o código do componente. 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 |
---|---|
|
Os dados de configuração estão corrompidos. |
|
Um parâmetro inválido foi passado para a função. |
|
Não há componentes 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. |
Comentários
Para enumerar componentes, um aplicativo deve inicialmente chamar a função MsiEnumComponents com o parâmetro iComponentIndex definido como zero. Em seguida, o aplicativo deve incrementar o parâmetro iComponentIndex e chamar MsiEnumComponents até que não haja mais componentes (ou seja, até que a função retorne ERROR_NO_MORE_ITEMS).
Ao fazer várias chamadas para MsiEnumComponents para enumerar todos os componentes do produto, cada chamada deve ser feita do mesmo thread.
Observação
O cabeçalho msi.h define MsiEnumComponents 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 |