Fungsi JetGetDatabaseInfo
Berlaku untuk: Windows | Windows Server
Fungsi JetGetDatabaseInfo
Fungsi JetGetDatabaseInfo mengambil berbagai jenis informasi tentang database. API ini dapat dipanggil saat database dilampirkan atau online (dengan JetGetDatabaseInfo) atau saat database atau mesin database offline (dengan JetGetDatabaseFileInfo).
JET_ERR JET_API JetGetDatabaseInfo(
__in JET_SESID sesid,
__in JET_DBID dbid,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
Parameter
sesid
Sesi yang digunakan untuk panggilan ini.
dbid
JET_DBID database untuk mengambil informasi.
pvResult
Penunjuk ke buffer yang akan menerima informasi yang ditentukan. Ukuran buffer, dalam byte, diteruskan dalam cbMax.
Jika gagal, konten pvResult tidak terdefinisi.
Informasi yang disimpan di pvResult bergantung pada InfoLevel.
cbMax
Ukuran, dalam byte, dari buffer yang diteruskan di pvResult.
InfoLevel
InfoLevel menentukan jenis informasi mana yang harus diambil tentang database yang ditentukan. Ini mempengaruhi bagaimana pvResult ditafsirkan. Beberapa InfoLevel hanya tersedia di API versi offline (JetGetDatabaseFileInfo) atau online (JetGetDatabaseInfo).
Jika buffer pvResult yang disediakan terlalu kecil, baik JET_errInvalidBufferSize atau JET_errBufferTooSmall akan dikembalikan tergantung pada InfoLevel.
Nilai |
Makna |
---|---|
JET_DbInfoCollate |
Belum didukung dan mengembalikan nilai default. Jangan gunakan. |
JET_DbInfoConnect |
InfoLevels ini tidak digunakan lagi dan saat ini tidak didukung. Jangan gunakan. |
JET_DbInfoCountry |
Belum didukung dan mengembalikan nilai default. Jangan gunakan. |
JET_DbInfoCp |
Belum didukung dan mengembalikan nilai default. Jangan gunakan. |
JET_DbInfoFilename |
pvResult akan ditafsirkan sebagai buffer string (char *). Buffer MAX_PATH disarankan, namun tidak diperlukan. Jika buffer tidak cukup lama, JET_errBufferTooSmall akan dikembalikan. String akan diisi dengan jalur database untuk DBID ini. |
JET_DbInfoFilesize |
pvResult akan ditafsirkan sebagai DWORD (4 byte). Mengembalikan ukuran database di halaman. |
JET_DbInfoIsam |
InfoLevels ini tidak digunakan lagi dan saat ini tidak didukung. Jangan gunakan. |
JET_DbInfoLCID |
(Windows XP dan yang lebih baru) InfoLevel ini awalnya ditentukan sebagai: JET_DbInfoLangid (Windows 2000) pvResult akan ditafsirkan sebagai panjang. Ini mengembalikan pengidentifikasi lokal (LCID) yang terkait dengan database ini. |
JET_DbInfoMisc |
pvResult akan ditafsirkan sebagai JET_DBINFOMISC. Struktur JET_DBINFOMISC akan diisi dengan informasi yang berkaitan dengan database yang ditentukan. |
JET_DbInfoOptions |
pvResult akan ditafsirkan sebagai JET_GRBIT (DWORD). Ini mengembalikan apakah database dibuka dalam mode eksklusif. Jika database dalam mode eksklusif JET_bitDbExclusive akan diatur dalam JET_GRBIT disediakan, jika tidak, nol diatur. Perhatikan opsi grbit database lainnya untuk JetAttachDatabase dan JetOpenDatabase tidak dikembalikan. |
JET_DbInfoPageSize |
Hanya tersedia di Windows XP dan yang lebih baru. pvResult akan ditafsirkan sebagai panjang yang tidak ditandatangani. Ini akan mengembalikan ukuran halaman database dalam byte. |
JET_DbInfoSpaceAvailable |
pvResult akan ditafsirkan sebagai DWORD. Ini mengembalikan ruang yang tersedia untuk database di halaman. |
JET_DbInfoSpaceOwned |
pvResult akan ditafsirkan sebagai DWORD. Ini mengembalikan ruang yang dimiliki untuk database di halaman. |
JET_DbInfoTransactions |
pvResult akan ditafsirkan sebagai panjang. Ini akan mengembalikan satu lebih besar dari tingkat maksimum tempat transaksi dapat ditumpuk. Jika JetBeginTransaction dipanggil (dengan cara bersarang, yaitu, pada sesi yang sama, tanpa penerapan atau putar kembali) sebanyak nilai ini, pada panggilan terakhir JET_errTransTooDeep akan dikembalikan dari JetBeginTransaction. Perhatikan nilai di Windows 2000, Windows XP, dan Windows Server 2003 adalah 7. |
JET_DbInfoVersion |
pvResult akan ditafsirkan sebagai panjang. Ini mengembalikan versi utama asli mesin database. Nilai ini 0x620 untuk Windows 2000, Windows XP, dan Windows Server 2003. |
Tampilkan Nilai
Fungsi ini mengembalikan jenis data JET_ERR dengan salah satu kode pengembalian berikut. Untuk informasi selengkapnya tentang kemungkinan kesalahan ESE, lihat Kesalahan Mesin Penyimpanan yang Dapat Diperluas dan Parameter Penanganan Kesalahan.
Menampilkan kode |
Deskripsi |
---|---|
JET_errSuccess |
Operasi berhasil diselesaikan. |
JET_errBufferTooSmall |
Ukuran buffer yang diberikan dalam cbMax terlalu kecil (atau tidak benar) untuk menyimpan informasi yang diinginkan. |
JET_errFeatureNotAvailable |
InfoLevel yang diminta JET_DbInfoIsam. Ini tidak didukung. |
JET_errInvalidBufferSize |
Ukuran buffer yang diberikan dalam cbMax terlalu kecil (atau tidak benar) untuk menyimpan informasi yang diinginkan. |
JET_errInvalidParameter |
Salah satu parameter yang disediakan berisi nilai yang tidak terduga atau berisi nilai yang tidak masuk akal ketika dikombinasikan dengan nilai parameter lain. Kesalahan ini akan dikembalikan oleh JetGetDatabaseInfo ketika JET_DBID yang disediakan bukan database yang valid (terlampir). Kesalahan ini akan dikembalikan oleh JetGetDatabaseFileInfo dan JetGetDatabaseInfo ketika InfoLevel yang diminta tidak didukung oleh versi fungsi tersebut. |
Jika berhasil, data yang diminta akan dikembalikan dalam buffer output.
Jika gagal, buffer output akan berada dalam status tidak terdefinisi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien |
Memerlukan Windows Vista, Windows XP, atau Windows 2000 Professional. |
Server |
Memerlukan Windows Server 2008, Windows Server 2003, atau Windows 2000 Server. |
Header |
Dinyatakan dalam Esent.h. |
Pustaka |
Gunakan ESENT.lib. |
DLL |
Membutuhkan ESENT.dll. |
Unicode |
Diimplementasikan sebagai JetGetDatabaseInfoW (Unicode) dan JetGetDatabaseInfoA (ANSI). |
Lihat juga
JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseFileInfo