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 緩衝區的最大 長度。
pcnameOut
[輸入/輸出]以 lpszName 傳遞或傳 回的位元組總數(不包括 Null 終止位元組)。 如果可用的位元組數目大於或等於 cbNameMax ,則 lpszName 中的 翻譯工具名稱會截斷為 cbNameMax 減去 null 終止字元。 [!][! ]
lpszPath
[輸出]翻譯 DLL 的完整路徑。
cbPathMax
[輸入]lpszPath 緩衝區的最大 長度。
pcpathOut
[輸出]在 lpszPath 中 傳回的位元組總數(不包括 Null 終止位元組)。 如果可用的位元組數目大於或等於 cbPathMax ,lpszPath 中的 轉譯 DLL 路徑會截斷為 cbPathMax 減去 null 終止字元。 對pcspcPathOut 引數可以是 Null 指標。
pvOption
[輸出] 32 位轉譯選項。
傳回
如果函式成功,則傳回 TRUE;如果失敗,則傳回 FALSE;如果使用者取消對話方塊,則傳回 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 會將pclNameOut 和 pclPathOut 設定 為 0,並傳回 TRUE。
如果使用者選擇翻譯工具, SQLGetTranslator 會在翻譯工具的安裝程式 DLL 中呼叫 ConfigTranslator 。 如果 ConfigTranslator 傳回 FALSE, SQLGetTranslator 會傳回其對話方塊。 如果 ConfigTranslator 傳回 TRUE, SQLGetTranslator 會傳回 TRUE,以及選取的翻譯工具名稱、路徑和翻譯選項。
相關函數
如需下列資訊 | 請參閱 |
---|---|
設定翻譯工具 | ConfigTranslator |
取得翻譯屬性 | SQLGetConnectAttr |
設定翻譯屬性 | SQLSetConnectAttr |