Compartir a través de


Función SQLGetInstalledDrivers

Conformidad
Versión introducida: ODBC 1.0

Resumen
SQLGetInstalledDrivers lee la sección [Controladores ODBC] de la información del sistema y devuelve una lista de descripciones de los controladores instalados.

Sintaxis

  
BOOL SQLGetInstalledDrivers(  
     LPSTR   lpszBuf,  
     WORD    cbBufMax,  
     WORD *  pcbBufOut);  

Argumentos

lpszBuf
[Salida] Lista de descripciones de los controladores instalados. Para obtener información sobre la estructura de lista, vea "Comentarios".

cbBufMax
[Entrada] Longitud de lpszBuf.

pcbBufOut
[Salida] Número total de bytes (excepto el byte de terminación NULL) devuelto en lpszBuf. Si el número de bytes disponibles para devolver es mayor o igual que cbBufMax, la lista de descripciones de controladores en lpszBuf se trunca a cbBufMax menos el carácter de terminación NULL. El argumento pcbBufOut puede ser un puntero nulo.

Devoluciones

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

Diagnóstico

Cuando SQLGetInstalledDrivers devuelve FALSE, se puede obtener un valor *pfErrorCode asociado 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_GENERAL_ERR Error general del instalador Error por el que no se produjo ningún error de instalador específico.
ODBC_ERROR_INVALID_BUFF_LEN Longitud de búfer no válida El argumento lpszBuf era NULL o no válido, o el argumento cbBufMax era menor o igual que 0.
ODBC_ERROR_COMPONENT_NOT_FOUND Componente no encontrado en el Registro El instalador no encontró la sección [Controladores ODBC] en el Registro.
ODBC_ERROR_OUT_OF_MEM No hay memoria suficiente El instalador no pudo realizar la función debido a una falta de memoria.

Comentarios

Cada descripción del controlador finaliza con un byte nulo y toda la lista termina con un byte nulo. (Es decir, dos bytes NULL marcan el final de la lista). Si el búfer asignado no es lo suficientemente grande como para contener toda la lista, la lista se trunca sin errores. Se devuelve un error si se pasa un puntero nulo como lpszBuf.

Para información acerca de Vea
Devolver descripciones y atributos del controlador SQLDrivers