Compartilhar via


Função MsiEnumClientsA (msi.h)

A função MsiEnumClients enumera os clientes para um determinado componente instalado. A função recupera um código do produto cada vez que é chamada.

Sintaxe

UINT MsiEnumClientsA(
  [in]  LPCSTR szComponent,
  [in]  DWORD  iProductIndex,
  [out] LPSTR  lpProductBuf
);

Parâmetros

[in] szComponent

Especifica o componente cujos clientes devem ser enumerados.

[in] iProductIndex

Especifica o índice do cliente a ser recuperado. Esse parâmetro deve ser zero para a primeira chamada para a função MsiEnumClients e incrementada para chamadas subsequentes. Como os clientes não são ordenados, qualquer novo cliente tem um índice arbitrário. Isso significa que a função pode retornar clientes 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
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á clientes a serem retornados.
ERROR_NOT_ENOUGH_MEMORY
O sistema não tem memória suficiente para concluir a operação. Disponível com o Windows Server 2003.
ERROR_SUCCESS
Um valor foi enumerado.
ERROR_UNKNOWN_COMPONENT
O componente especificado é desconhecido.

Observações

Para enumerar clientes, um aplicativo deve inicialmente chamar a função MsiEnumClients com o parâmetro iProductIndex definido como zero. Em seguida, o aplicativo deve incrementar o parâmetro iProductIndex e chamar MsiEnumClients até que não haja mais clientes (ou seja, até que a função retorne ERROR_NO_MORE_ITEMS).

Ao fazer várias chamadas para MsiEnumClients para enumerar todos os clientes do componente, cada chamada deve ser feita do mesmo thread.

Nota

O cabeçalho msi.h define MsiEnumClients como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do 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

Funções de status do sistema