Bagikan melalui


Fungsi JetRegisterCallback

Berlaku untuk: Windows | Windows Server

Fungsi JetRegisterCallback

Fungsi JetRegisterCallback memungkinkan aplikasi mengonfigurasi mesin database untuk mengeluarkan pemberitahuan ke aplikasi untuk peristiwa tertentu. Pemberitahuan ini dikaitkan dengan tabel tertentu dan tetap berlaku hanya sampai instans yang berisi tabel dimatikan menggunakan JetTerm.

Windows XP: JetRegisterCallback diperkenalkan di Windows XP.

    JET_ERR JET_API JetRegisterCallback(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_CBTYP cbtyp,
      __in          JET_CALLBACK pCallback,
      __in          void* pvContext,
      __out         JET_HANDLE* phCallbackId
    );

Parameter

sesid

Sesi yang digunakan untuk panggilan ini.

tableid

Kursor yang digunakan untuk panggilan ini.

cbtyp

Sedikit masker yang terdiri dari alasan panggilan balik yang aplikasinya ingin menerima pemberitahuan.

Untuk membuat masker bit ini, cukup atau bersama-sama alasan panggilan balik yang valid dari enumerasi JET_CBTYP .

pCallback

Penunjuk fungsi ke fungsi panggilan balik untuk aplikasi.

pvContext

Menentukan penunjuk konteks yang akan diberikan ke fungsi panggilan balik untuk aplikasi.

phCallbackId

Mengembalikan handel yang nantinya dapat digunakan untuk membatalkan pendaftaran fungsi panggilan balik yang diberikan menggunakan JetUnregisterCallback.

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_errClientRequestToStopJetService

Tidak mungkin untuk menyelesaikan operasi karena semua aktivitas pada instans yang terkait dengan sesi telah berhenti sebagai akibat dari panggilan ke JetStopService.

JET_errInstanceUnavailable

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi telah mengalami kesalahan fatal yang mengharuskan akses ke semua data dicabut untuk melindungi integritas data tersebut. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru.

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 JetRegisterCallback ketika:

  • cbtyp adalah nol,

  • pCallback adalah NULL.

  • phCallbackId adalah NULL.

JET_errNotInitialized

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi.

JET_errRestoreInProgress

Tidak dimungkinkan untuk menyelesaikan operasi 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. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru.

JET_errTermInProgress

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi sedang dimatikan.

Jika berhasil, panggilan balik yang ditentukan akan didaftarkan karena alasan panggilan balik yang diberikan dengan tabel yang terkait dengan kursor yang diberikan. Tidak ada perubahan pada status database yang akan terjadi.

Jika gagal, panggilan balik tidak akan didaftarkan. Tidak ada perubahan pada status database yang akan terjadi.

Keterangan

Metode ini menyediakan sarana bagi aplikasi untuk mengaitkan panggilan balik volatil dengan tabel dalam database. Jika aplikasi ingin mengaitkan panggilan balik yang bertahan dengan tabel dalam database, maka aplikasi harus meneruskan panggilan balik ke JET_TABLECREATE menggunakan JetCreateTableColumnIndex.

Persyaratan

Persyaratan Nilai

Klien

Memerlukan Windows Vista atau Windows XP.

Server

Memerlukan Windows Server 2008 atau Windows Server 2003.

Header

Dinyatakan dalam Esent.h.

Pustaka

Gunakan ESENT.lib.

DLL

Membutuhkan ESENT.dll.

Lihat juga

JET_CALLBACK
JET_CBTYP
JET_ERR
JET_HANDLE
JET_SESID
JET_TABLEID
JetCreateTableColumnIndex
JetTerm
JetUnregisterCallback