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.
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.
Funções relacionadas
Para obter informações sobre | Consulte |
---|---|
Configurando um tradutor | ConfigTranslator |
Obtendo um atributo de tradução | SQLGetConnectAttr |
Definindo um atributo de tradução | SQLSetConnectAttr |