Fonction JetRegisterCallback
S’applique à : Windows | Windows Server
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 en vigueur uniquement jusqu’à ce que le instance contenant la table soit arrêté à 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 motifs de rappel pour lesquels l’application souhaite recevoir des notifications.
Pour créer ce masque de bits, vous devez simplement ou ensemble des raisons de rappel valides à partir de l’énumération JET_CBTYP .
pCallback
Pointeur de fonction vers la fonction de rappel de l’application.
pvContext
Spécifie un pointeur de contexte qui sera donné à la fonction de rappel de 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 d’effectuer l’opération, car toutes les activités sur le instance associées à la session ont cessé à la suite d’un appel à JetStopService. |
JET_errInstanceUnavailable |
Il n’est pas possible d’effectuer l’opération, car le instance associé à la session a rencontré une erreur irrécupérable qui exige que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. Cette erreur sera retourné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’était pas logique lorsqu’elle était combinée à la valeur d’un autre paramètre. Cette erreur sera retournée par JetRegisterCallback dans les cas suivants :
|
JET_errNotInitialized |
Il n’est pas possible d’effectuer l’opération, car le instance associé à la session n’a pas encore été initialisé. |
JET_errRestoreInProgress |
Il n’est pas possible d’effectuer l’opération, car une opération de restauration est en cours sur le instance associé à la session. |
JET_errSessionSharingViolation |
La même session ne peut pas être utilisée pour plusieurs threads en même temps. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures. |
JET_errTermInProgress |
Il n’est pas possible d’effectuer l’opération, car le instance associé à la session est en cours d’arrêt. |
En cas de réussite, le rappel spécifié est 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 produira.
En cas d’échec, le rappel n’est pas inscrit. Aucune modification de l’état de la base de données ne se produira.
Notes
Cette méthode permet à l’application d’associer des rappels volatiles à une table d’une base de données. Si l’application souhaite associer des rappels persistants à une table dans la base de données, elle doit passer le rappel à JET_TABLECREATE à l’aide de JetCreateTableColumnIndex.
Spécifications
Condition requise | Valeur |
---|---|
Client |
Nécessite Windows Vista ou Windows XP. |
Serveur |
Nécessite Windows Server 2008 ou Windows Server 2003. |
En-tête |
Déclaré dans Esent.h. |
Bibliothèque |
Utilisez ESENT.lib. |
DLL |
Nécessite ESENT.dll. |
Voir aussi
JET_CALLBACK
JET_CBTYP
JET_ERR
JET_HANDLE
JET_SESID
JET_TABLEID
JetCreateTableColumnIndex
JetTerm
JetUnregisterCallback