Partager via


Fonction SQLAsyncNotificationCallback

Conformité
Version introduite : ODBC 3.8

Conformité aux normes : Aucun

Résumé
SQLAsyncNotificationCallback permet à un pilote d'initier un rappel vers le Gestionnaire de pilotes lorsqu'il y a une progression de l'opération asynchrone en cours après que le pilote a retourné SQL_STILL_EXECUTING. SQLAsyncNotificationCallback ne peut être appelé 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 du handle d'instruction correspondant, respectivement. Différentes valeurs de pointeur de fonction peuvent être attribuées à différents handles. 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 SQLSetConnectAttr(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.

Diagnostiques

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 Descriptif
La connexion ou l’instruction n’a pas demandé de notification.
Handle non valide Le pilote a passé un handle non valide, lequel a entraîné l'échec des tests de validation internes du Gestionnaire de pilotes.

Voir aussi

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