Partilhar via


Função SQLGetTranslator

Conformidade
Versão introduzida: ODBC 2.0

Resumo
SQLGetTranslator exibe uma caixa de diálogo da qual um usuário pode selecionar um tradutor.

Sintaxe

  
BOOL SQLGetTranslator(  
     HWND      hwndParent,  
     LPSTR     lpszName,  
     WORD      cbNameMax,  
     WORD *    pcbNameOut,  
     LPSTR     lpszPath,  
     WORD      cbPathMax,  
     WORD *    pcbPathOut,  
     DWORD *   pvOption);  

Argumentos

hwndParent
[Entrada] Identificador de janela pai.

lpszName
[Entrada/Saída] Nome do tradutor das informações do sistema.

cbNameMax
[Entrada] Comprimento máximo do buffer lpszName .

pcbNameOut
[Entrada/Saída] Número total de bytes (excluindo o byte de terminação nula) passado ou retornado em lpszName. Se o número de bytes disponíveis para retornar for maior ou igual a cbNameMax, o nome do tradutor em lpszName será truncado para cbNameMax menos o caractere de terminação nula. O argumento pcbNameOut pode ser um ponteiro nulo.

lpszPath
[Saída] Caminho completo da DLL de tradução.

cbPathMax
[Entrada] Comprimento máximo do buffer lpszPath .

pcbPathOut
[Saída] Número total de bytes (excluindo o byte de terminação nula) retornado no lpszPath. Se o número de bytes disponíveis para retornar for maior ou igual a cbPathMax, o caminho de DLL de tradução em lpszPath será truncado para cbPathMax menos o caractere de terminação nula. O argumento pcbPathOut pode ser um ponteiro nulo.

pvOption
[Saída] Opção de tradução de 32 bits.

Retornos

A função retornará TRUE se for bem-sucedida, FALSE se falhar ou se o usuário cancelar a caixa de diálogo.

Diagnósticos

Quando SQLGetTranslator 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 erro específico do instalador.
ODBC_ERROR_INVALID_BUFF_LEN Comprimento do buffer inválido O argumento cbNameMax ou cbPathMax era menor ou igual a 0.
ODBC_ERROR_INVALID_HWND Identificador de janela inválido O argumento hwndParent era inválido ou NULL.
ODBC_ERROR_INVALID_NAME Nome do driver ou tradutor inválido O argumento lpszName era inválido. Não foi possível encontrá-lo no registro.
ODBC_ERROR_LOAD_LIBRARY_FAILED Não foi possível carregar o driver ou a biblioteca de configuração do tradutor Não foi possível carregar a biblioteca de tradutores.
ODBC_ERROR_INVALID_OPTION Opção de transação inválida O argumento pvOption continha um valor inválido.
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

Se hwndParent for nulo ou se lpszName, lpszPath ou pvOption for um ponteiro nulo, SQLGetTranslator retornará FALSE. Caso contrário, ele exibirá a lista de tradutores instalados na caixa de diálogo a seguir.

Caixa de diálogo Selecionar Tradutor

Se lpszName contiver um nome de tradutor válido, ele será selecionado. Caso contrário, <Nenhum Tradutor> será selecionado.

Se o usuário escolher <Sem Tradutor>, o conteúdo de lpszName, lpszPath e pvOption não será tocado. SQLGetTranslator define pcbNameOut e pcbPathOut como 0 e retorna TRUE.

Se o usuário escolher um tradutor, SQLGetTranslatorchamará ConfigTranslator na DLL de configuração do tradutor. Se ConfigTranslator retornar FALSE, SQLGetTranslator retornará à caixa de diálogo. Se ConfigTranslator retornar TRUE, SQLGetTranslator retornará TRUE, juntamente com a opção de tradução, o caminho e o nome do tradutor selecionados.

Para obter informações sobre Consulte
Configurando um tradutor ConfigTranslator
Obtendo um atributo de tradução SQLGetConnectAttr
Definindo um atributo de tradução SQLSetConnectAttr