SQLAsyncNotificationCallback, fonction
Conformité
Version introduite : ODBC 3.8
Conformité aux normes : Aucun
Résumé
SQLAsyncNotificationCallback permet à un pilote de rappeler au Gestionnaire de pilotes en cas de progression de l’opération asynchrone actuelle une fois que le pilote retourne SQL_STILL_EXECUTING. SQLAsyncNotificationCallback ne peut appeler que par le pilote.
Les pilotes n’appellent pas SQLAsyncNotificationCallback avec le nom de fonction SQLAsyncNotificationCallback. Au lieu de cela, le Gestionnaire de pilotes transmet un pointeur de fonction à un pilote comme valeur pour l’attribut SQL_ATTR_ASYNC_DBC_NOTIFICATION_CALLBACK ou SQL_ATTR_ASYNC_STMT_NOTIFICATION_CALLBACK du handle de connexion ou de l’instruction handle correspondant, respectivement. Différents handles peuvent être attribués à différentes valeurs de pointeur de fonction. Le type du pointeur de fonction est défini comme SQL_ASYNC_NOTIFICATION_CALLBACK.
SQLAsyncNotificationCallback est thread-safe. Un pilote peut choisir d’utiliser plusieurs threads appelant SQLAsyncNotificationCallback sur différents handles simultanément.
Syntaxe
typedef SQLRETURN (SQL_API *SQL_ASYNC_NOTIFICATION_CALLBACK)(
SQLPOINTER pContex,
BOOL fLast);
Arguments
pContex
Pointeur vers une structure de données définie par le Gestionnaire de pilotes. La valeur est transmise au pilote via SQLSet Connecter Attr(SQL_ATTR_ASYNC_DBC_NOTIFICATION_CONTEXT) ou SQLSetStmtAttr(SQL_ATTR_ASYNC_STMT_NOTIFICATION_CONTEXT). Le pilote n’a pas accès à la valeur.
fLast
Utilisé par un pilote pour indiquer que cet appel de fonction de rappel est le dernier pour l’opération asynchrone actuelle. Le pilote retourne un code de retour autre que SQL_STILL_EXECUTING lorsque le Gestionnaire de pilotes appelle à nouveau la fonction. Le Gestionnaire de pilotes peut utiliser ces informations, par exemple, pour informer l’application à l’avance que l’opération asynchrone se termine.
Si Handle n’est pas un handle valide du type spécifié par HandleType, SQLCancelHandle retourne SQL_INVALID_HANDLE.
Retours
SQL_SUCCESS ou SQL_ERROR.
Diagnostics
SQLAsyncNotificationCallback peut retourner SQL_ERROR pour les deux situations suivantes (celles-ci indiquent un problème d’implémentation dans le pilote ou le Gestionnaire de pilotes.
Erreur | Description |
---|---|
Connecter ion ou instruction n’a pas demandé de notification. | |
Handle non valide | Le pilote a passé un handle non valide, qui a échoué aux tests de validation internes du Gestionnaire de pilotes. |