Condividi tramite


Funzione SQLGetInstalledDrivers

Conformità
Versione introdotta: ODBC 1.0

Riepilogo
SQLGetInstalledDrivers legge la sezione [Driver ODBC] delle informazioni di sistema e restituisce un elenco di descrizioni dei driver installati.

Sintassi

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

Argomenti

lpszBuf
[Output] Elenco delle descrizioni dei driver installati. Per informazioni sulla struttura dell'elenco, vedere "Commenti".

cbBufMax
[Input] Lunghezza di lpszBuf.

pcbBufOut
[Output] Numero totale di byte (escluso il byte di terminazione Null) restituito in lpszBuf. Se il numero di byte disponibili per la restituzione è maggiore o uguale a cbBufMax, l'elenco delle descrizioni dei driver in lpszBuf viene troncato a cbBufMax meno il carattere di terminazione null. L'argomento pcbBufOut può essere un puntatore Null.

Resi

Se ha esito positivo, la funzione restituisce TRUE se ha esito negativo.

Diagnostica

Quando SQLGetInstalledDrivers restituisce FALSE, è possibile ottenere un valore *pfErrorCode associato chiamando SQLInstallerError. Nella tabella seguente sono elencati i valori *pfErrorCode che possono essere restituiti da SQLInstallerError e spiega ognuno nel contesto di questa funzione.

*pfErrorCode Errore Descrizione
ODBC_ERROR_GENERAL_ERR Errore generale del programma di installazione Si è verificato un errore per il quale non si è verificato un errore specifico del programma di installazione.
ODBC_ERROR_INVALID_BUFF_LEN Lunghezza del buffer non valida L'argomento lpszBuf è NULL o non valido oppure l'argomento cbBufMax è minore o uguale a 0.
ODBC_ERROR_COMPONENT_NOT_FOUND Componente non trovato nel Registro di sistema Il programma di installazione non è riuscito a trovare la sezione [Driver ODBC] nel Registro di sistema.
ODBC_ERROR_OUT_OF_MEM Memoria insufficiente Il programma di installazione non è riuscito a eseguire la funzione a causa di una mancanza di memoria.

Commenti

Ogni descrizione del driver viene terminata con un byte Null e l'intero elenco viene terminato con un byte Null. Ovvero, due byte Null contrassegnano la fine dell'elenco. Se il buffer allocato non è sufficientemente grande da contenere l'intero elenco, l'elenco viene troncato senza errori. Se un puntatore Null viene passato come lpszBuf, viene restituito un errore.

Per informazioni su Vedere
Restituzione di descrizioni e attributi del driver SQLDrivers