Fungsi JetGetBookmark
Berlaku untuk: Windows | Windows Server
Fungsi JetGetBookmark
Fungsi JetGetBookmark mengambil bookmark untuk rekaman yang terkait dengan entri indeks pada posisi kursor saat ini. Marka buku ini kemudian dapat digunakan untuk memposisikan ulang kursor tersebut kembali ke rekaman yang sama menggunakan JetGoToBookmark.
JET_ERR JET_API JetGetBookmark(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out_opt void* pvBookmark,
__in unsigned long cbMax,
__out_opt unsigned long* pcbActual
);
Parameter
sesid
Sesi yang digunakan untuk panggilan ini.
tableid
Kursor yang digunakan untuk panggilan ini.
pvBookmark
Buffer output yang menerima bookmark.
cbMax
Ukuran maksimum, dalam byte, dari buffer output.
pcbActual
Ukuran aktual, dalam byte, dari bookmark.
Jika parameter ini ADALAH NULL , maka ukuran aktual bookmark tidak akan dikembalikan.
Jika buffer output terlalu kecil, ukuran aktual bookmark akan tetap dikembalikan. Itu berarti bahwa jumlah ini akan lebih besar dari ukuran buffer output.
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 |
Operasi berhasil diselesaikan, tetapi buffer output terlalu kecil untuk menerima seluruh bookmark. Buffer output telah diisi dengan bookmark sebanyak yang sesuai. Ukuran aktual marka buku juga telah dikembalikan, jika diminta. |
JET_errClientRequestToStopJetService |
Operasi tidak dapat diselesaikan karena semua aktivitas pada instans yang terkait dengan sesi telah berhenti sebagai akibat dari panggilan ke JetStopService. |
JET_errInstanceUnavailable |
Operasi tidak dapat diselesaikan karena instans yang terkait dengan sesi mengalami kesalahan fatal yang mengharuskan akses ke semua data dicabut untuk melindungi integritas data tersebut. Windows XP: Nilai pengembalian ini diperkenalkan di Windows XP. |
JET_errNoCurrentRecord |
Kursor tidak diposisikan pada rekaman. Hal ini dapat terjadi karena berbagai alasan. Misalnya, ini akan terjadi jika kursor diposisikan setelah rekaman terakhir pada indeks saat ini. |
JET_errNotInitialized |
Operasi tidak dapat diselesaikan karena instans yang terkait dengan sesi belum diinisialisasi. |
JET_errRestoreInProgress |
Operasi tidak dapat diselesaikan karena operasi pemulihan sedang berlangsung pada instans yang terkait dengan sesi. |
JET_errSessionSharingViolation |
Sesi yang sama tidak dapat digunakan untuk lebih dari satu utas secara bersamaan. Windows XP: Nilai yang dikembalikan ini diperkenalkan di Windows XP. |
JET_errTermInProgress |
Operasi tidak dapat diselesaikan karena instans yang terkait dengan sesi sedang dimatikan. |
Jika fungsi ini berhasil, bookmark untuk rekaman yang terkait dengan entri indeks pada posisi kursor saat ini akan dikembalikan dalam buffer output. Tidak ada perubahan pada status database yang akan terjadi.
Jika fungsi ini gagal, status buffer output dan ukuran aktual bookmark akan tidak terdefinisi kecuali JET_errBufferTooSmall dikembalikan. Jika JET_errBufferTooSmall dikembalikan, buffer output akan berisi marka buku sebanyak yang akan sesuai dengan ruang yang disediakan dan ukuran bookmark aktual akan akurat. Tidak ada perubahan pada status database yang akan terjadi.
Keterangan
Marka buku umumnya harus diperlakukan sebagai potongan data buram. Tidak ada upaya yang harus dilakukan untuk mengeksploitasi struktur internal data ini. Namun, kondisi berikut ini berlaku untuk semua marka buku ESENT:
Marka buku secara unik mengidentifikasi rekaman dalam tabel tertentu.
Bookmark rekaman tidak akan berubah selama masa pakai rekaman tersebut.
Bookmark rekaman sama dengan kunci rekaman tersebut pada indeks utama di atas tabel yang berisi rekaman tersebut. Jika tidak ada indeks utama yang didefinisikan di atas tabel tersebut, mesin database akan membuat marka bukunya sendiri untuk rekaman.
Marka buku dapat dibandingkan satu sama lain menggunakan fungsi memcmp untuk menetapkan urutan relatif mereka dalam indeks utama di atas tabel rekaman sumber. Jika tidak ada indeks utama yang didefinisikan di atas tabel tersebut, tidak bermakna untuk menggunakan urutan relatif marka buku dari tabel tersebut.
Tidak ada artinya untuk membandingkan marka buku rekaman dari tabel yang berbeda satu sama lain.
Bookmark selalu kurang dari atau sama dengan panjang JET_cbBookmarkMost (256) byte, sebelum Windows Vista.
Windows Vista: Pada Windows Vista dan rilis yang lebih baru, marka buku bisa lebih besar dari JET_cbBookmarkMost (256) byte. Ukuran maksimum bookmark sama dengan nilai saat ini JET_paramKeyMost + 1.
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. |
Lihat juga
JET_ERR
JET_SESID
JET_TABLEID
JetGoToBookmark
JetStopService
memcmp
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk