Condividi tramite


Funzione SQLAsyncNotificationCallback

Conformità
Versione introdotta: ODBC 3.8

Conformità degli standard: nessuno

Sommario
SQLAsyncNotificationCallback consente a un driver di effettuare una callback al Gestore dei driver quando c'è un certo progresso nell'operazione asincrona corrente, dopo che il driver ha restituito SQL_STILL_EXECUTING. SQLAsyncNotificationCallback può essere chiamato solo dal driver.

I driver non chiamano SQLAsyncNotificationCallback con il nome della funzione SQLAsyncNotificationCallback. Il Gestore dei driver passa invece un puntatore di funzione a un driver come valore per l'attributo SQL_ATTR_ASYNC_DBC_NOTIFICATION_CALLBACK o SQL_ATTR_ASYNC_STMT_NOTIFICATION_CALLBACK dell'handle di connessione o dell'handle di istruzione corrispondente, rispettivamente. È possibile assegnare diversi valori del puntatore di funzione a diversi handle. Il tipo di puntatore alla 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);  

Arguments

pContex
Puntatore a una struttura di dati definita dal Gestore 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 questa chiamata di funzione callback è l'ultima per l'operazione asincrona corrente. Il driver restituirà un codice di ritorno diverso da SQL_STILL_EXECUTING quando il Driver Manager chiama nuovamente la funzione. Il Gestore dei Driver può usare queste informazioni, ad esempio, per informare l'applicazione in anticipo che l'operazione asincrona si completerà.

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

Restituzioni

SQL_SUCCESS o SQL_ERROR.

Diagnostics

SQLAsyncNotificationCallback può restituire SQL_ERROR per le due situazioni seguenti(questi indicano un problema di implementazione nel driver o in Gestione driver.

Errore Description
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 del Driver Manager.

Vedere anche

Esecuzione asincrona (metodo di polling)