Condividi tramite


Funzione SQLAsyncNotificationCallback

Conformità
Versione introdotta: ODBC 3.8

Conformità agli standard: nessuna

Riepilogo
SQLAsyncNotificationCallback consente a un driver di richiamare Gestione driver quando è presente un certo stato di avanzamento per l'operazione asincrona corrente dopo che il driver restituisce SQL_STILL_EXECUTING. SQLAsyncNotificationCallback può essere chiamato solo dal driver.

I driver non chiamano SQLAsyncNotificationCallback con il nome della funzione SQLAsyncNotificationCallback. Gestione driver passa invece un puntatore afunzione a un driver come valore per l'attributo SQL_ATTR_ASYNC_DBC_NOTIFICATION_CALLBACK o SQL_ATTR_ASYNC_STMT_NOTIFICATION_CALLBACK rispettivamente dell'handle di connessione o dell'handle di istruzione corrispondente. È possibile assegnare diversi handle ai diversi valori del puntatore a funzione. Il tipo di puntatore a funzione viene definito come SQL_ASYNC_NOTIFICATION_CALLBACK.

SQLAsyncNotificationCallback è thread-safe. Un driver può scegliere di usare più thread che chiamano SQLAsyncNotificationCallback su handle diversi contemporaneamente.

Sintassi

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

Argomenti

pContex
Puntatore a una struttura dei dati definita da Gestione driver. Il valore viene passato al driver tramite SQLSetConnectAttr(SQL_ATTR_ASYNC_DBC_NOTIFICATION_CONTEXT) o SQLSetStmtAttr(SQL_ATTR_ASYNC_STMT_NOTIFICATION_CONTEXT). Il driver non ha accesso al valore.

fLast
Usato da un driver per indicare che l'invocazione di questa funzione di richiamata è l'ultima per l'operazione asincrona corrente. Il driver fornirà un codice restituito diverso da SQL_STILL_EXECUTING quando Gestione driver richiamerà la funzione. Gestione driver può utilizzare questa informazione, ad esempio per informare in anticipo l'applicazione che l'operazione asincrona sarà completata.

Se Handle non è un handle valido del tipo specificato da HandleType, SQLCancelHandle restituisce SQL_INVALID_HANDLE.

Valori restituiti

SQL_SUCCESS o SQL_ERROR.

Diagnostica

SQLAsyncNotificationCallback può restituire SQL_ERROR nelle due situazioni seguenti (queste indicano un problema di implementazione nel drivero in Gestione driver.

Errore Descrizione
La connessione o l’istruzione non ha richiesto la notifica.
Handle non valido Il driver ha passato un handle non valido, che non ha superato i test di convalida interni di Gestione driver.

Vedi anche

Esecuzione asincrona (metodo di polling)