SQLGetTranslator 函数
一致性
引入的版本:ODBC 2.0
摘要
SQLGetTranslator 显示一个对话框,用户可以从中选择翻译器。
语法
BOOL SQLGetTranslator(
HWND hwndParent,
LPSTR lpszName,
WORD cbNameMax,
WORD * pcbNameOut,
LPSTR lpszPath,
WORD cbPathMax,
WORD * pcbPathOut,
DWORD * pvOption);
参数
hwndParent
[输入]父窗口句柄。
lpszName
[输入/输出]系统信息中的翻译者的名称。
cbNameMax
[输入] lpszName 缓冲区的最大长度。
印刷名称Out
[输入/输出] (,不包括在 lpszName 中传递或返回的 null 终止字节) 的总字节数。 如果可返回的字节数大于或等于 cbNameMax, 则 lpszName 中的翻译名称将被截断为 cbNameMax 减去 null 终止字符。 “印刷名称”参数可以是 null 指针。
lpszPath
[输出]转换 DLL 的完整路径。
cbPathMax
[输入] lpszPath 缓冲区的最大长度。
线路板路径Out
[输出] (不包括 lpszPath 中返回的 null 终止字节) 的字节总数。 如果可返回的字节数大于或等于 cbPathMax,则 lpszPath 中的转换 DLL 路径将被截断为 cbPathMax 减去 null 终止字符。 “线路板路径”参数可以是 null 指针。
pvOption
[输出] 32 位转换选项。
返回
如果成功,函数将返回 TRUE;如果失败或用户取消对话框,则返回 FALSE。
诊断
当 SQLGetTranslator 返回 FALSE 时,可以通过调用 SQLInstallerError 来获取关联的 *pfErrorCode 值。 下表列出了 SQLInstallerError 可返回的 *pfErrorCode 值,并说明了此函数上下文中的每个值。
*pfErrorCode | 错误 | 说明 |
---|---|---|
ODBC_ERROR_GENERAL_ERR | 常规安装程序错误 | 发生错误,其中没有特定的安装程序错误。 |
ODBC_ERROR_INVALID_BUFF_LEN | 缓冲区长度无效 | cbNameMax 或 cbPathMax 参数小于或等于 0。 |
ODBC_ERROR_INVALID_HWND | 无效的窗口句柄 | hwndParent 参数无效或为 NULL。 |
ODBC_ERROR_INVALID_NAME | 驱动程序或翻译器名称无效 | lpszName 参数无效。 无法在注册表中找到它。 |
ODBC_ERROR_LOAD_LIBRARY_FAILED | 无法加载驱动程序或翻译器安装库 | 无法加载翻译器库。 |
ODBC_ERROR_INVALID_OPTION | 事务选项无效 | pvOption 参数包含无效值。 |
ODBC_ERROR_OUT_OF_MEM | 内存不足 | 由于内存不足,安装程序无法执行函数。 |
注释
如果 hwndParent 为 null,或者 lpszName、 lpszPath 或 pvOption 为 null 指针, 则 SQLGetTranslator 返回 FALSE。 否则,它会在以下对话框中显示已安装翻译器的列表。
如果 lpszName 包含有效的翻译器名称,则将其选中。 否则, <未选择“翻译器> ”。
如果用户选择 <“无翻译器>”,则不会触摸 lpszName、 lpszPath 和 pvOption 的内容。 SQLGetTranslator 将 号名称Out 和 PathOut 设置为 0 并返回 TRUE。
如果用户选择翻译器, SQLGetTranslator 在翻译器的安装 DLL 中调用 ConfigTranslator 。 如果 ConfigTranslator 返回 FALSE, SQLGetTranslator 将返回到其对话框。 如果 ConfigTranslator 返回 TRUE, SQLGetTranslator 将返回 TRUE,以及所选翻译器名称、路径和翻译选项。
相关函数
有关以下方面的信息 | 请参阅 |
---|---|
配置翻译器 | ConfigTranslator |
获取翻译属性 | SQLGetConnectAttr |
设置转换属性 | SQLSetConnectAttr |