Função MsiEnumComponentQualifiersA (msi.h)

A função MsiEnumComponentQualifiers enumera os qualificadores anunciados para o componente especificado. Essa função recupera um qualificador sempre que é chamado.

Sintaxe

UINT MsiEnumComponentQualifiersA(
  [in]      LPCSTR  szComponent,
  [in]      DWORD   iIndex,
  [out]     LPSTR   lpQualifierBuf,
  [in, out] LPDWORD pcchQualifierBuf,
  [out]     LPSTR   lpApplicationDataBuf,
  [in, out] LPDWORD pcchApplicationDataBuf
);

Parâmetros

[in] szComponent

Especifica o componente cujos qualificadores devem ser enumerados.

[in] iIndex

Especifica o índice do qualificador a ser recuperado. Esse parâmetro deve ser zero para a primeira chamada para a função MsiEnumComponentQualifiers e incrementado para chamadas subsequentes. Como os qualificadores não são ordenados, qualquer novo qualificador tem um índice arbitrário. Isso significa que a função pode retornar qualificadores em qualquer ordem.

[out] lpQualifierBuf

Ponteiro para um buffer que recebe o código qualificador.

[in, out] pcchQualifierBuf

Ponteiro para uma variável que especifica o tamanho, em caracteres, do buffer apontado pelo parâmetro lpQualifierBuf . Na entrada, esse tamanho deve incluir o caractere nulo de terminação. No retorno, o valor não inclui o caractere nulo.

[out] lpApplicationDataBuf

Ponteiro para um buffer que recebe os dados registrados pelo aplicativo para o qualificador. Este parâmetro pode ser nulo.

[in, out] pcchApplicationDataBuf

Ponteiro para uma variável que especifica o tamanho, em caracteres, do buffer apontado pelo parâmetro lpApplicationDataBuf . Na entrada, esse tamanho deve incluir o caractere nulo de terminação. No retorno, o valor não inclui o caractere nulo. Esse parâmetro só poderá ser nulo se o parâmetro lpApplicationDataBuf for nulo.

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_MORE_DATA
Um buffer é muito pequeno para armazenar os dados solicitados.
ERROR_NO_MORE_ITEMS
Não há qualificadores 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.

Comentários

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

Quando MsiEnumComponentQualifiers retorna, o parâmetro pcchQualifierBuf contém o comprimento da cadeia de caracteres do qualificador armazenada no buffer. A contagem retornada não inclui o caractere nulo de terminação. Se o buffer não for grande o suficiente, MsiEnumComponentQualifiers retornará ERROR_MORE_DATA e esse parâmetro conterá o tamanho da cadeia de caracteres, em caracteres, sem contar o caractere nulo. O mesmo mecanismo se aplica a pcchDescriptionBuf.

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

Observação

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

Confira também

Funções de status do sistema