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. Handle yang berbeda dapat diberi nilai penunjuk fungsi yang berbeda. Jenis penunjuk fungsi didefinisikan sebagai SQL_ASYNC_NOTIFICATION_CALLBACK.

SQLAsyncNotificationCallback aman digunakan di antara utas. Driver dapat memilih untuk menggunakan beberapa utas yang memanggil SQLAsyncNotificationCallback pada penangan yang berbeda pada waktu yang bersamaan.

Syntax

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

Arguments

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

fLast
Digunakan oleh driver untuk menunjukkan bahwa pemanggilan fungsi 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 handle yang valid dari jenis yang ditentukan oleh HandleType, SQLCancelHandle mengembalikan SQL_INVALID_HANDLE.

Pengembalian Barang

SQL_SUCCESS atau SQL_ERROR.

Diagnostics

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

Kesalahan Description
Koneksi atau pernyataan tidak meminta pemberitahuan.
Handle tidak valid Driver memberikan pegangan yang tidak valid, yang menyebabkan kegagalan dalam pengujian validasi Driver Manager internal.

Lihat Juga

Eksekusi Asinkron (Metode Polling)