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.
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.
Funciones relacionadas
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 |