Funzione SQLGetTranslator
Conformità
Versione introdotta: ODBC 2.0
Riepilogo
SQLGetTranslator visualizza una finestra di dialogo da cui un utente può selezionare un traduttore.
Sintassi
BOOL SQLGetTranslator(
HWND hwndParent,
LPSTR lpszName,
WORD cbNameMax,
WORD * pcbNameOut,
LPSTR lpszPath,
WORD cbPathMax,
WORD * pcbPathOut,
DWORD * pvOption);
Argomenti
hwndParent
[Input] Handle della finestra padre.
lpszName
[Input/Output] Nome del traduttore dalle informazioni di sistema.
cbNameMax
[Input] Lunghezza massima del buffer lpszName .
pcbNameOut
[Input/Output] Numero totale di byte (escluso il byte di terminazione Null) passato o restituito in lpszName. Se il numero di byte disponibili per restituire è maggiore o uguale a cbNameMax, il nome del traduttore in lpszName viene troncato a cbNameMax meno il carattere di terminazione null. L'argomento pcbNameOut può essere un puntatore Null.
lpszPath
[Output] Percorso completo della DLL di traduzione.
cbPathMax
[Input] Lunghezza massima del buffer lpszPath .
pcbPathOut
[Output] Numero totale di byte (escluso il byte di terminazione Null) restituito in lpszPath. Se il numero di byte disponibili per la restituzione è maggiore o uguale a cbPathMax, il percorso della DLL di conversione in lpszPath viene troncato a cbPathMax meno il carattere di terminazione null. L'argomento pcbPathOut può essere un puntatore Null.
pvOption
[Output] Opzione di conversione a 32 bit.
Resi
La funzione restituisce TRUE se ha esito positivo, FALSE se ha esito negativo o se l'utente annulla la finestra di dialogo.
Diagnostica
Quando SQLGetTranslator 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 cbNameMax o cbPathMax è minore o uguale a 0. |
ODBC_ERROR_INVALID_HWND | Handle di finestra non valido | L'argomento hwndParent non è valido o NULL. |
ODBC_ERROR_INVALID_NAME | Driver o nome traduttore non valido | L'argomento lpszName non è valido. Non è stato trovato nel Registro di sistema. |
ODBC_ERROR_LOAD_LIBRARY_FAILED | Impossibile caricare il driver o la libreria di installazione del traduttore | Impossibile caricare la libreria di traduzione. |
ODBC_ERROR_INVALID_OPTION | Opzione di transazione non valida | L'argomento pvOption contiene un valore non valido. |
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
Se hwndParent è null o se lpszName, lpszPath o pvOption è un puntatore Null, SQLGetTranslator restituisce FALSE. In caso contrario, viene visualizzato l'elenco dei traduttori installati nella finestra di dialogo seguente.
Se lpszName contiene un nome di traduttore valido, viene selezionato. In caso contrario, <non è selezionato Alcun traduttore> .
Se l'utente sceglie <No Translator>, il contenuto di lpszName, lpszPath e pvOption non viene toccato. SQLGetTranslator imposta pcbNameOut e pcbPathOut su 0 e restituisce TRUE.
Se l'utente sceglie un traduttore, SQLGetTranslator chiama ConfigTranslator nella DLL di installazione del traduttore. Se ConfigTranslator restituisce FALSE, SQLGetTranslator torna alla relativa finestra di dialogo. Se ConfigTranslator restituisce TRUE, SQLGetTranslator restituisce TRUE, insieme all'opzione di traduzione, percorso e traduzione selezionata.
Funzioni correlate
Per informazioni su | Vedere |
---|---|
Configurazione di un traduttore | ConfigTranslator |
Recupero di un attributo di traduzione | SQLGetConnectAttr |
Impostazione di un attributo di conversione | SQLSetConnectAttr |