Compartir a través de


Función SQLGetTranslator

Conformidad
Versión introducida: ODBC 2.0

Resumen
SQLGetTranslator muestra un cuadro de diálogo desde el que un usuario puede seleccionar un traductor.

Sintaxis

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

Argumentos

hwndParent
[Entrada] Identificador de ventana principal.

lpszName
[Entrada/salida] Nombre del traductor de la información del sistema.

cbNameMax
[Entrada] Longitud máxima del búfer lpszName .

pcbNameOut
[Entrada/salida] Número total de bytes (excepto el byte de terminación null) pasado o devuelto en lpszName. Si el número de bytes disponibles para devolver es mayor o igual que cbNameMax, el nombre del traductor en lpszName se trunca a cbNameMax menos el carácter de terminación null. El argumento pcbNameOut puede ser un puntero nulo.

lpszPath
[Salida] Ruta de acceso completa del archivo DLL de traducción.

cbPathMax
[Entrada] Longitud máxima del búfer lpszPath .

pcbPathOut
[Salida] Número total de bytes (excepto el byte de terminación NULL) devuelto en lpszPath. Si el número de bytes disponibles para devolver es mayor o igual que cbPathMax, la ruta de acceso del archivo DLL de traducción en lpszPath se trunca a cbPathMax menos el carácter de terminación null. El argumento pcbPathOut puede ser un puntero nulo.

pvOption
[Salida] Opción de traducción de 32 bits.

Devoluciones

La función devuelve TRUE si se realiza correctamente, FALSE si se produce un error o si el usuario cancela el cuadro de diálogo.

Diagnóstico

Cuando SQLGetTranslator devuelve FALSE, se puede obtener un valor *pfErrorCode asociado mediante una llamada a SQLInstallerError. En la tabla siguiente se enumeran los valores *pfErrorCode que SQLInstallerError puede devolver y explica cada uno de ellos en el contexto de esta función.

*pfErrorCode Error Descripción
ODBC_ERROR_GENERAL_ERR Error general del instalador Se produjo un error para el que no hubo ningún error de instalador específico.
ODBC_ERROR_INVALID_BUFF_LEN Longitud de búfer no válida El argumento cbNameMax o cbPathMax era menor o igual que 0.
ODBC_ERROR_INVALID_HWND Identificador de ventana no válido El argumento hwndParent no era válido o NULL.
ODBC_ERROR_INVALID_NAME Nombre de controlador o traductor no válido El argumento lpszName no era válido. No se encontró en el registro.
ODBC_ERROR_LOAD_LIBRARY_FAILED No se pudo cargar el controlador ni la biblioteca de instalación del traductor No se pudo cargar la biblioteca de traductor.
ODBC_ERROR_INVALID_OPTION Opción de transacción no válida El argumento pvOption contenía un valor no válido.
ODBC_ERROR_OUT_OF_MEM No hay memoria suficiente El instalador no pudo realizar la función debido a una falta de memoria.

Comentarios

Si hwndParent es null o si lpszName, lpszPath o pvOption es un puntero nulo, SQLGetTranslator devuelve FALSE. De lo contrario, muestra la lista de traductores instalados en el siguiente cuadro de diálogo.

Cuadro de diálogo Seleccionar traductor

Si lpszName contiene un nombre de traductor válido, se selecciona. De lo contrario, <no se selecciona Traductor> .

Si el usuario elige <No Translator>, el contenido de lpszName, lpszPath y pvOption no se tocan. SQLGetTranslator establece pcbNameOut y pcbPathOut en 0 y devuelve TRUE.

Si el usuario elige un traductor, SQLGetTranslator llama a ConfigTranslator en el archivo DLL de instalación del traductor. Si ConfigTranslator devuelve FALSE, SQLGetTranslator vuelve a su cuadro de diálogo. Si ConfigTranslator devuelve TRUE, SQLGetTranslator devuelve TRUE, junto con la opción de traducción, ruta de acceso y nombre del traductor seleccionado.

Para información acerca de Vea
Configuración de un traductor ConfigTranslator
Obtención de un atributo de traducción SQLGetConnectAttr
Establecimiento de un atributo de traducción SQLSetConnectAttr