Partager via


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.

Voir aussi

Exécution asynchrone (méthode d’interrogation)