Fonction JetRegisterCallback

S’applique à : Windows | Windows Serveurs

Fonction JetRegisterCallback

La fonction JetRegisterCallback permet à l’application de configurer le moteur de base de données pour émettre des notifications à l’application pour des événements spécifiques. Ces notifications sont associées à une table spécifique et restent effectives uniquement jusqu’à ce que l’instance contenant la table soit arrêtée à l’aide de JetTerm.

Windows xp : JetRegisterCallback est introduit dans Windows xp.

    JET_ERR JET_API JetRegisterCallback(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_CBTYP cbtyp,
      __in          JET_CALLBACK pCallback,
      __in          void* pvContext,
      __out         JET_HANDLE* phCallbackId
    );

Paramètres

sesid

Session à utiliser pour cet appel.

TableID

Curseur à utiliser pour cet appel.

cbtyp

Masque de bits composé des raisons de rappel pour lesquelles l’application souhaite recevoir des notifications.

Pour créer ce masque de bits, tout simplement ou ensemble des raisons de rappel valides à partir de l’énumération JET_CBTYP .

pCallback

Pointeur de fonction vers la fonction de rappel pour l’application.

pvContext

Spécifie un pointeur de contexte qui sera attribué à la fonction de rappel pour l’application.

phCallbackId

Retourne un handle qui peut être utilisé ultérieurement pour annuler l’inscription de la fonction de rappel donnée à l’aide de JetUnregisterCallback.

Valeur renvoyée

Cette fonction retourne le type de données JET_ERR avec l’un des codes de retour suivants. pour plus d’informations sur les erreurs ESE possibles, consultez erreurs du moteur de Stockage Extensible et paramètres de gestion des erreurs.

Code de retour

Description

JET_errSuccess

L’opération s’est terminée avec succès.

JET_errClientRequestToStopJetService

Il n’est pas possible de terminer l’opération, car toute activité sur l’instance associée à la session a été interrompue suite à un appel à JetStopService.

JET_errInstanceUnavailable

Il n’est pas possible de terminer l’opération, car l’instance associée à la session a rencontré une erreur irrécupérable qui requiert que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. cette erreur est renvoyée uniquement par Windows XP et les versions ultérieures.

JET_errInvalidParameter

L’un des paramètres fournis contenait une valeur inattendue ou contenait une valeur qui n’a pas de sens lorsqu’elle était associée à la valeur d’un autre paramètre. Cette erreur est retournée par JetRegisterCallback quand :

  • cbtyp est égal à zéro,

  • pCallback a la valeur null.

  • phCallbackId a la valeur null.

JET_errNotInitialized

Impossible de terminer l’opération, car l’instance associée à la session n’a pas encore été initialisée.

JET_errRestoreInProgress

Il n’est pas possible de terminer l’opération, car une opération de restauration est en cours sur l’instance associée à la session.

JET_errSessionSharingViolation

La même session ne peut pas être utilisée simultanément pour plusieurs threads. cette erreur est renvoyée uniquement par Windows XP et les versions ultérieures.

JET_errTermInProgress

Il n’est pas possible de terminer l’opération, car l’instance associée à la session est en cours d’arrêt.

En cas de réussite, le rappel spécifié sera inscrit pour les raisons de rappel données avec la table associée au curseur donné. Aucune modification de l’état de la base de données ne se produit.

En cas d’échec, le rappel n’est pas inscrit. Aucune modification de l’état de la base de données ne se produit.

Notes

Cette méthode permet à l’application d’associer des rappels volatiles à une table dans une base de données. Si l’application souhaite associer les rappels rendus persistants à une table dans la base de données, elle doit passer le rappel à JET_TABLECREATE à l’aide de JetCreateTableColumnIndex.

Configuration requise

Condition requise Valeur

Client

requiert Windows Vista ou Windows XP.

Serveur

requiert Windows server 2008 ou Windows server 2003.

En-tête

Déclaré dans esent. h.

Bibliothèque

Utilisez ESENT. lib.

DLL

Requiert ESENT.dll.

Voir aussi

JET_CALLBACK
JET_CBTYP
JET_ERR
JET_HANDLE
JET_SESID
JET_TABLEID
JetCreateTableColumnIndex
JetTerm
JetUnregisterCallback