Partager via


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.

Voir aussi

JET_ERR
JET_SESID
JET_TABLEID
JetGetBookmark