Bagikan melalui


Fungsi SQLGetTranslator

Kesesuaian
Versi diperkenalkan: ODBC 2.0

Ringkasan
SQLGetTranslator menampilkan kotak dialog tempat pengguna dapat memilih penerjemah.

Sintaks

  
BOOL SQLGetTranslator(  
     HWND      hwndParent,  
     LPSTR     lpszName,  
     WORD      cbNameMax,  
     WORD *    pcbNameOut,  
     LPSTR     lpszPath,  
     WORD      cbPathMax,  
     WORD *    pcbPathOut,  
     DWORD *   pvOption);  

Argumen

hwndParent
[Input] Handel jendela induk.

lpszName
[Input/Output] Nama penerjemah dari informasi sistem.

cbNameMax
[Input] Panjang maksimum buffer lpszName .

pcbNameOut
[Input/Output] Jumlah total byte (tidak termasuk byte penghentian null) yang diteruskan atau dikembalikan dalam lpszName. Jika jumlah byte yang tersedia untuk dikembalikan lebih besar dari atau sama dengan cbNameMax, nama penerjemah di lpszName dipotong menjadi cbNameMax dikurangi karakter null-termination. Argumen pcbNameOut dapat berupa penunjuk null.

lpszPath
[Output] Jalur lengkap DLL terjemahan.

cbPathMax
[Input] Panjang maksimum buffer lpszPath .

pcbPathOut
[Output] Jumlah total byte (tidak termasuk byte penghentian null) yang dikembalikan dalam lpszPath. Jika jumlah byte yang tersedia untuk dikembalikan lebih besar dari atau sama dengan cbPathMax, jalur DLL terjemahan di lpszPath dipotong ke cbPathMax dikurangi karakter null-termination. Argumen pcbPathOut dapat berupa penunjuk null.

pvOption
[Output] opsi terjemahan 32-bit.

Kembali

Fungsi mengembalikan TRUE jika berhasil, FALSE jika gagal atau jika pengguna membatalkan kotak dialog.

Diagnostik

Ketika SQLGetTranslator mengembalikan FALSE, nilai *pfErrorCode terkait dapat diperoleh dengan memanggil SQLInstallerError. Tabel berikut mencantumkan nilai *pfErrorCode yang dapat dikembalikan oleh SQLInstallerError dan menjelaskan masing-masing nilai dalam konteks fungsi ini.

*pfErrorCode Kesalahan Deskripsi
ODBC_ERROR_GENERAL_ERR Kesalahan penginstal umum Terjadi kesalahan karena tidak ada kesalahan penginstal tertentu.
ODBC_ERROR_INVALID_BUFF_LEN Panjang buffer tidak valid Argumen cbNameMax atau cbPathMax kurang dari atau sama dengan 0.
ODBC_ERROR_INVALID_HWND Handel jendela tidak valid Argumen hwndParent tidak valid atau NULL.
ODBC_ERROR_INVALID_NAME Nama pengandar atau penerjemah tidak valid Argumen lpszName tidak valid. Ini tidak dapat ditemukan di registri.
ODBC_ERROR_LOAD_LIBRARY_FAILED Tidak dapat memuat pustaka penyetelan pengandar atau penerjemah Pustaka penerjemah tidak dapat dimuat.
ODBC_ERROR_INVALID_OPTION Opsi transaksi tidak valid Argumen pvOption berisi nilai yang tidak valid.
ODBC_ERROR_OUT_OF_MEM Kehabisan memori Alat penginstal tidak dapat melakukan fungsi karena kurangnya memori.

Komentar

Jika hwndParent null atau jika lpszName, lpszPath, atau pvOption adalah pointer null, SQLGetTranslator mengembalikan FALSE. Jika tidak, ini menampilkan daftar penerjemah yang diinstal dalam kotak dialog berikut.

Select Translator dialog box

Jika lpszName berisi nama penerjemah yang valid, nama tersebut dipilih. Jika tidak, <Tidak ada Penerjemah> yang dipilih.

Jika pengguna memilih <Tidak Ada Penerjemah>, konten lpszName, lpszPath, dan pvOption tidak disentuh. SQLGetTranslator mengatur pcbNameOut dan pcbPathOut ke 0 dan mengembalikan TRUE.

Jika pengguna memilih penerjemah, SQLGetTranslator memanggil ConfigTranslator di DLL penyiapan penerjemah. Jika ConfigTranslator mengembalikan FALSE, SQLGetTranslator akan kembali ke kotak dialognya. Jika ConfigTranslator mengembalikan TRUE, SQLGetTranslator mengembalikan TRUE, bersama dengan opsi nama, jalur, dan terjemahan penerjemah yang dipilih.

Untuk informasi tentang Lihat
Mengonfigurasi penerjemah ConfigTranslator
Mendapatkan atribut terjemahan SQLGetConnectAttr
Mengatur atribut terjemahan SQLSetConnectAttr