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.
Funzioni correlate
Per informazioni su | Vedere |
---|---|
Restituzione di descrizioni e attributi del driver | SQLDrivers |