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.
Funciones relacionadas
Para información acerca de | Vea |
---|---|
Devolver descripciones y atributos del controlador | SQLDrivers |