Поделиться через


Функция SQLGetInstalledDrivers

Соответствия
Представлена версия: ODBC 1.0

Сводка
SQLGetInstalledDrivers считывает раздел [Драйверы ODBC] системной информации и возвращает список описаний установленных драйверов.

Синтаксис

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

Аргументы

lpszBuf
[Выходные данные] Список описаний установленных драйверов. Сведения о структуре списка см. в разделе "Комментарии".

cbBufMax
[Входные данные] Длина lpszBuf.

pcbBufOut
[Выходные данные] Общее число байтов (за исключением байта завершения null), возвращаемое в lpszBuf. Если число байтов, доступных для возврата, больше или равно cbBufMax, список описаний драйверов в lpszBuf будет усечен до cbBufMax минус символ завершения null. Аргумент pcbBufOut может быть пустым указателем.

Возвраты

Функция возвращает значение TRUE, если оно выполнено успешно, значение FALSE, если оно завершается ошибкой.

Диагностика

Когда SQLGetInstalledDrivers возвращает ЗНАЧЕНИЕ FALSE, связанное значение *pfErrorCode можно получить путем вызова SQLInstallerError. В следующей таблице перечислены значения *pfErrorCode , которые можно возвращать SQLInstallerError и объясняет каждый из них в контексте этой функции.

*pfErrorCode Error Description
ODBC_ERROR_GENERAL_ERR Общая ошибка установщика Произошла ошибка, для которой не было определенной ошибки установщика.
ODBC_ERROR_INVALID_BUFF_LEN Недопустимая длина буфера Аргумент lpszBuf был NULL или недопустим, или аргумент cbBufMax был меньше или равен 0.
ODBC_ERROR_COMPONENT_NOT_FOUND Компонент не найден в реестре Установщик не смог найти раздел [Драйверы ODBC] в реестре.
ODBC_ERROR_OUT_OF_MEM Недостаточно памяти Установщик не мог выполнить функцию из-за нехватки памяти.

Комментарии

Каждое описание драйвера завершается с байтом NULL, и весь список завершается с байтом NULL. (То есть два байта null помечают конец списка.) Если выделенный буфер недостаточно велик для хранения всего списка, список усечен без ошибок. Ошибка возвращается, если указатель null передается как lpszBuf.

Сведения Раздел
Возврат описания и атрибуты драйвера SQLDrivers