Compartilhar via


Função SQLGetInstalledDrivers

Conformidade
Versão introduzida: ODBC 1.0

Resumo
SQLGetInstalledDrivers lê a seção [Drivers ODBC] das informações do sistema e retorna uma lista de descrições dos drivers instalados.

Sintaxe

  
BOOL SQLGetInstalledDrivers(  
     LPSTR   lpszBuf,  
     WORD    cbBufMax,  
     WORD *  pcbBufOut);  

Argumentos

lpszBuf
[Saída] Lista de descrições dos drivers instalados. Para obter informações sobre a estrutura de lista, confira "Comentários".

cbBufMax
[Entrada] Comprimento de lpszBuf.

pcbBufOut
[Saída] Número total de bytes (excluindo o byte de terminação nula) retornado no lpszBuf. Se o número de bytes disponíveis para retornar for maior ou igual a cbBufMax, a lista de descrições de driver no lpszBuf será truncada para cbBufMax menos o caractere de terminação nula. O argumento pcbBufOut pode ser um ponteiro nulo.

Retornos

A função retornará TRUE se for bem-sucedida, FALSE se falhar.

Diagnósticos

Quando SQLGetInstalledDrivers retorna FALSE, um valor *pfErrorCode associado pode ser obtido chamando SQLInstallerError. A tabela a seguir lista os valores *pfErrorCode que podem ser retornados por SQLInstallerError e explica cada um deles no contexto dessa função.

*pfErrorCode Erro Descrição
ODBC_ERROR_GENERAL_ERR Erro geral do instalador Ocorreu um erro para o qual não houve nenhum erro específico do instalador.
ODBC_ERROR_INVALID_BUFF_LEN Comprimento do buffer inválido O argumento lpszBuf era NULL ou inválido ou o argumento cbBufMax era menor ou igual a 0.
ODBC_ERROR_COMPONENT_NOT_FOUND Componente não encontrado no registro O instalador não pôde localizar a seção [Drivers ODBC] no registro.
ODBC_ERROR_OUT_OF_MEM Memória insuficiente O instalador não pôde executar a função devido à falta de memória.

Comentários

Cada descrição do driver é encerrada com um byte nulo e toda a lista é encerrada com um byte nulo. (Ou seja, dois bytes nulos marcam o final da lista.) Se o buffer alocado não for grande o suficiente para manter a lista inteira, a lista será truncada sem erros. Um erro será retornado se um ponteiro nulo for passado como lpszBuf.

Para obter informações sobre Consulte
Retornando descrições e atributos de driver SQLDrivers