SQLGetInstalledDrivers 函数

一致性
引入的版本:ODBC 1.0

摘要
SQLGetInstalledDrivers 读取系统信息的 [ODBC 驱动程序] 部分,并返回已安装驱动程序的说明列表。

语法

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

参数

lpszBuf
[输出]已安装驱动程序的说明列表。 有关列表结构的信息,请参阅“注释”。

cbBufMax
[输入] lpszBuf 的长度。

2016 年 12 月 3 日
[输出] (排除 lpszBuf 中返回的 null 终止字节) 的总字节数。 如果可返回的字节数大于或等于 cbBufMax则 lpszBuf 中的驱动程序说明列表将被截断为 cbBufMax 减去 null 终止字符。 该参数可以为 null 指针。

返回

如果成功,函数将返回 TRUE;如果失败,则返回 FALSE。

诊断

SQLGetInstalledDrivers 返回 FALSE 时,可以通过调用 SQLInstallerError 获取关联的 *pfErrorCode 值。 下表列出了 SQLInstallerError 可返回的 *pfErrorCode 值,并说明了此函数上下文中的每个值。

*pfErrorCode 错误 说明
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 字节标记 list 的末尾。) 如果分配的缓冲区不够大,无法容纳整个列表,则列表将被截断而不会出错。 如果将 null 指针作为 lpszBuf 传入,则返回错误。

有关以下方面的信息 请参阅
返回驱动程序说明和属性 SQLDrivers