Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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. |