Partager via


Fonction JetGotoSecondaryIndexBookmark

S’applique à : Windows | Windows Server

Fonction JetGotoSecondaryIndexBookmark

La fonction JetGotoSecondaryIndexBookmark positionne un curseur sur une entrée d’index associée au signet d’index secondaire spécifié. Le signet d’index secondaire doit être utilisé avec le même index sur la même table à partir de laquelle il a été récupéré à l’origine. Le signet d’index secondaire d’une entrée d’index peut être récupéré à l’aide de JetGotoSecondaryIndexBookmark.

Windows XP:JetGotoSecondaryIndexBookmark est introduit dans Windows XP.

    JET_ERR JET_API JetGotoSecondaryIndexBookmark(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          void* pvSecondaryKey,
      __in          unsigned long cbSecondaryKey,
      __in_opt      void* pvPrimaryBookmark,
      __in          unsigned long cbPrimaryBookmark,
      __in          const JET_GRBIT grbit
    );

Paramètres

sesid

Session à utiliser pour cet appel.

tableid

Curseur à utiliser pour cet appel.

pvSecondaryKey

Mémoire tampon qui contient la clé secondaire à utiliser pour positionner le curseur.

cbSecondaryKey

Taille de la clé secondaire dans la mémoire tampon.

pvPrimaryBookmark

Mémoire tampon qui contient le signet de clé primaire à utiliser pour positionner le curseur.

cbPrimaryBookmark

Taille du signet de clé primaire dans la mémoire tampon.

grbit

Groupe de bits qui spécifie zéro ou plusieurs des options suivantes.

Valeur

Signification

JET_bitBookmarkPermitVirtualCurrency

Dans le cas où l’entrée d’index est introuvable, le curseur est placé à l’emplacement où cette entrée d’index a été trouvée précédemment. L’opération échoue toujours avec JET_errRecordDeleted ; toutefois, il sera possible de passer à l’entrée d’index suivante ou précédente par rapport à l’entrée d’index qui est maintenant manquante.

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 est introduite dans Windows XP.

JET_errInvalidBookmark

Le signet d’index secondaire fourni n’était pas valide. Cette erreur peut s’être produite parce que la clé secondaire est égale à zéro ou que le pointeur de mémoire tampon de clé secondaire a la valeur NULL. Cette erreur se produit parce que

  • L’index secondaire actuel n’a pas de contrainte d’unicité et la taille du signet fourni est égale à zéro.

  • Le pointeur de la mémoire tampon de signet est NULL.

JET_errNoCurrentIndex

Le curseur ne se trouve actuellement pas sur un index secondaire. Il n’est pas significatif d’accéder à un signet d’index secondaire lorsque le curseur n’utilise pas d’index secondaire. JetGotoBookmark doit être utilisé lorsque le curseur ne se trouve pas sur un index secondaire.

JET_errNotInitialized

L’opération ne peut pas se terminer, car le instance associé à la session n’a pas encore été initialisé.

JET_errRecordDeleted

L’entrée d’index associée au signet d’index secondaire 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 est 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 associée au signet d’index secondaire 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 à utiliser, 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, sauf si JET_errRecordDeleted est retourné et JET_bitBookmarkPermitVirtualCurrency est spécifié. Dans ce cas, le curseur est positionné à l’emplacement de l’entrée d’index associée au signet d’index secondaire spécifié. Le curseur peut être déplacé par rapport à cette position, mais il n’est toujours pas sur une entrée d’index valide.

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 à utiliser, cette clé de recherche est supprimée. Dans tous les cas, aucune modification de l’état de la base de données ne se produit.

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_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetGetSecondaryIndexBookmark
JetGotoBookmark
JetStopService