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