Bagikan melalui


Fungsi SQLAsyncNotificationCallback

Kesesuaian
Versi diperkenalkan: ODBC 3.8

Kepatuhan Standar: Tidak Ada

Ringkasan
SQLAsyncNotificationCallback memungkinkan driver untuk memanggil kembali ke Driver Manager ketika ada beberapa kemajuan untuk operasi asinkron saat ini setelah driver kembali SQL_STILL_EXECUTING. SQLAsyncNotificationCallback hanya dapat dipanggil oleh driver.

Driver tidak memanggil SQLAsyncNotificationCallback dengan nama fungsi SQLAsyncNotificationCallback. Sebagai gantinya, Driver Manager meneruskan penunjuk fungsi ke driver sebagai nilai untuk atribut SQL_ATTR_ASYNC_DBC_NOTIFICATION_CALLBACK atau SQL_ATTR_ASYNC_STMT_NOTIFICATION_CALLBACK dari handel koneksi atau handel pernyataan yang sesuai. Handel yang berbeda dapat diberi nilai penunjuk fungsi yang berbeda. Jenis penunjuk fungsi didefinisikan sebagai SQL_ASYNC_NOTIFICATION_CALLBACK.

SQLAsyncNotificationCallback aman untuk utas. Driver dapat memilih untuk menggunakan beberapa utas yang memanggil SQLAsyncNotificationCallback pada handel yang berbeda secara bersamaan.

Sintaks

typedef SQLRETURN (SQL_API *SQL_ASYNC_NOTIFICATION_CALLBACK)(  
   SQLPOINTER pContex,   
   BOOL fLast);  

Argumen

pContex
Penunjuk ke struktur data yang ditentukan oleh Manajer Driver. Nilai diteruskan ke driver melalui SQLSet Koneksi Attr(SQL_ATTR_ASYNC_DBC_NOTIFICATION_CONTEXT) atau SQLSetStmtAttr(SQL_ATTR_ASYNC_STMT_NOTIFICATION_CONTEXT). Pengandar tidak memiliki akses ke nilai.

fLast
Digunakan oleh driver untuk menunjukkan bahwa pemanggilan fungsi panggilan balik ini adalah yang terakhir untuk operasi asinkron saat ini. Driver akan mengembalikan kode pengembalian selain SQL_STILL_EXECUTING ketika Manajer Driver memanggil fungsi lagi. Driver Manager dapat menggunakan informasi ini, misalnya, untuk menginformasikan aplikasi terlebih dahulu bahwa operasi asinkron akan selesai.

Jika Handle bukan handel yang valid dari jenis yang ditentukan oleh HandleType, SQLCancelHandle mengembalikan SQL_INVALID_HANDLE.

Kembali

SQL_SUCCESS atau SQL_ERROR.

Diagnostik

SQLAsyncNotificationCallback dapat mengembalikan SQL_ERROR untuk dua situasi berikut (ini menunjukkan masalah implementasi di driver atau Manajer Driver.

Kesalahan Deskripsi
Koneksi atau pernyataan tidak meminta pemberitahuan.
Handel tidak valid Driver lulus dalam handel yang tidak valid, yang gagal dalam pengujian validasi Driver Manager internal.

Lihat Juga

Eksekusi Asinkron (Metode Polling)