Fonction JetGotoBookmark
S’applique à : Windows | Windows Server
Fonction JetGotoBookmark
La fonction JetGotoBookmark positionne un curseur sur une entrée d’index pour l’enregistrement associé au signet spécifié. Le signet peut être utilisé avec n’importe quel index défini sur une table. Le signet d’un enregistrement peut être récupéré à l’aide de JetGetBookmark.
JET_ERR JET_API JetGotoBookmark(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in void* pvBookmark,
__in unsigned long cbBookmark
);
Paramètres
sesid
Session à utiliser pour cet appel.
tableid
Curseur à utiliser pour cet appel.
pvBookmark
Mémoire tampon qui contient le signet à utiliser pour positionner le curseur.
cbBookmark
Taille du signet dans la mémoire tampon.
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 |
L’opération ne peut pas se terminer, car toute l’activité sur le instance associée à la session a cessé à la suite d’un appel à JetStopService. |
JET_errInstanceUnavailable |
L’opération ne peut pas se terminer, 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. Windows XP : Cette valeur de retour a été introduite dans Windows XP. |
JET_errInvalidBookmark |
Le signet fourni n’est pas valide. Cela peut se produire parce que la taille du signet est égale à zéro ou que le pointeur de la mémoire tampon de signet a la valeur NULL. |
JET_errNoCurrentRecord |
Le curseur se trouve sur un index secondaire et aucune entrée d’index n’est trouvée pour l’enregistrement associé au signet. |
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_errRecordDeleted |
L’enregistrement associé au signet est introuvable. |
JET_errRestoreInProgress |
L’opération ne peut pas se terminer, 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. Windows XP : Cette valeur de retour a été introduite dans Windows XP. |
JET_errTermInProgress |
L’opération ne peut pas se terminer, car le instance associé à la session est en cours d’arrêt. |
Si cette fonction réussit, le curseur sera positionné sur une entrée d’index pour l’enregistrement associé au signet spécifié. Si un enregistrement a été préparé pour la mise à jour, cette mise à jour est annulée. Si une plage d’index est en vigueur, cette plage d’index est annulée. Si une clé de recherche a été construite pour le curseur, cette clé de recherche est supprimée. Aucune modification de l’état de la base de données ne se produira.
Si cette fonction échoue, la position du curseur reste inchangée. Si un enregistrement a été préparé pour la mise à jour, cette mise à jour est annulée. Si une plage d’index est en vigueur, cette plage d’index est annulée. Si une clé de recherche a été construite pour le curseur, cette clé de recherche est supprimée. Aucune modification de l’état de la base de données ne se produira.
Notes
Il existe deux façons d’utiliser un signet pour positionner un curseur sur un index. La première consiste à utiliser le signet pour se positionner directement sur l’enregistrement. Cela se produit lorsque l’index actuel du curseur est l’index principal. Cette technique fonctionne, car un signet ESENT est identique à la clé primaire de l’enregistrement associé.
La deuxième façon d’utiliser un signet consiste à le positionner sur une entrée dans un index secondaire qui correspond à l’enregistrement associé à ce signet. Pendant ce processus, le moteur recherche l’enregistrement réel à l’aide du signet sur l’index principal. Il utilise ensuite les données d’enregistrement et la définition d’index secondaire pour calculer une clé dans l’index secondaire qui pointe vers l’enregistrement. Il positionne ensuite le curseur sur l’entrée d’index de cette clé. Si le curseur se trouve actuellement sur un index secondaire sur une ou plusieurs colonnes clés à valeurs multiples, le curseur est positionné sur l’entrée d’index correspondant à la première valeur multi-valeur de chacune de ces colonnes clés.
Spécifications
Condition requise | Valeur |
---|---|
Client |
Nécessite Windows Vista, Windows XP ou Windows 2000 Professionnel. |
Serveur |
Nécessite Windows Server 2008, Windows Server 2003 ou Windows 2000 Server. |
En-tête |
Déclaré dans Esent.h. |
Bibliothèque |
Utilisez ESENT.lib. |
DLL |
Nécessite ESENT.dll. |