Compartir a través de


Función ConfigDriver

Conformidad
Versión introducida: ODBC 2.5

Resumen
ConfigDriver permite que un programa de instalación realice funciones de instalación y desinstalación sin necesidad de que el programa llame a ConfigDSN. Esta función realizará funciones específicas del controlador, como crear información del sistema específica del controlador y realizar conversiones de DSN durante la instalación, así como limpiar las modificaciones de información del sistema durante la desinstalación. Esta función se expone mediante el archivo DLL de configuración del controlador o un archivo DLL de instalación independiente.

Sintaxis

  
BOOL ConfigDriver(  
      HWND    hwndParent,  
      WORD    fRequest,  
      LPCSTR  lpszDriver,  
      LPCSTR  lpszArgs,  
      LPSTR   lpszMsg,  
      WORD    cbMsgMax,  
      WORD *  pcbMsgOut);  

Argumentos

hwndParent
[Entrada] Identificador de ventana principal. La función no mostrará ningún cuadro de diálogo si el identificador es null.

fRequest
[Entrada] Tipo de solicitud. El argumento fRequest debe contener uno de los valores siguientes:

ODBC_INSTALL_DRIVER: instale un nuevo controlador.

ODBC_REMOVE_DRIVER: quite un controlador.

Esta opción también puede ser específica del controlador, en cuyo caso el argumento fRequest de la primera opción debe comenzar desde ODBC_CONFIG_DRIVER_MAX+1. El argumento fRequest para cualquier opción adicional también debe comenzar desde un valor mayor que ODBC_CONFIG_DRIVER_MAX+1.

lpszDriver
[Entrada] Nombre del controlador como registrado en la clave de Odbcinst.ini de la información del sistema.

lpszArgs
[Entrada] Cadena terminada en null que contiene argumentos para un fRequest específico del controlador.

lpszMsg
[Salida] Cadena terminada en null que contiene un mensaje de salida de la configuración del controlador.

cbMsgMax
[Entrada] Longitud de lpszMsg.

pcbMsgOut
[Salida] Número total de bytes disponibles para devolver en lpszMsg.

Si el número de bytes disponibles para devolver es mayor o igual que cbMsgMax, el mensaje de salida de lpszMsg se trunca en cbMsgMax menos el carácter de terminación null. El argumento pcbMsgOut puede ser un puntero nulo.

Devoluciones

La función devuelve TRUE si se ejecuta correctamente, FALSE si se produce un error.

Diagnóstico

Cuando ConfigDriver devuelve FALSE, un valor *pfErrorCode asociado se publica en el búfer de errores del instalador mediante una llamada a SQLPostInstallerError y se puede obtener llamando a SQLInstallerError. En la tabla siguiente se enumeran los valores *pfErrorCode que SQLInstallerError puede devolver y explica cada uno en el contexto de esta función.

*pfErrorCode Error Descripción
ODBC_ERROR_INVALID_HWND Identificador de ventana no válido El argumento hwndParent no era válido.
ODBC_ERROR_INVALID_REQUEST_TYPE Tipo de solicitud no válido El argumento fRequest no era uno de los siguientes:

ODBC_INSTALL_DRIVER ODBC_REMOVE_DRIVER

La opción específica del controlador era menor o igual que ODBC_CONFIG_DRIVER_MAX.
ODBC_ERROR_INVALID_NAME Nombre de controlador o traductor no válido El argumento lpszDriver no era válido. No se encontró en el registro.
ODBC_ERROR_REQUEST_FAILED Error de solicitud No se pudo realizar la operación solicitada por el argumento fRequest .
ODBC_ERROR_DRIVER_SPECIFIC Error específico del controlador o del traductor Error específico del controlador para el que no hay ningún error de instalador ODBC definido. El argumento SzError de una llamada a la función SQLPostInstallerError debe contener el mensaje de error específico del controlador.

Comentarios

Opciones de Driver-Specific

Una aplicación puede solicitar características específicas del controlador expuestas por el controlador mediante el argumento fRequest . La fRequest de la primera opción será ODBC_CONFIG_DRIVER_MAX más 1 y las opciones adicionales se incrementarán en 1 a partir de ese valor. Los argumentos requeridos por el controlador para esa función deben proporcionarse en una cadena terminada en null pasada en el argumento lpszArgs . Los controladores que proporcionan esta funcionalidad deben mantener una tabla de opciones específicas del controlador. Las opciones deben estar totalmente documentadas en la documentación del controlador. Los escritores de aplicaciones que usan opciones específicas del controlador deben tener en cuenta que esto hará que la aplicación sea menos interoperable.

error de Hadoop

Una rutina de configuración del controlador puede enviar un mensaje de texto a una aplicación como una cadena terminada en null en el búfer lpszMsg . El mensaje se truncará en cbMsgMax menos el carácter de terminación NULL por la función ConfigDriver si es mayor o igual que los caracteres cbMsgMax .