Partager via


Fonction JetGetRecordPosition

S’applique à : Windows | Windows Server

Fonction JetGetRecordPosition

La fonction JetGetRecordPosition retourne la position fractionnaire de l’enregistrement actif dans l’index actuel sous la forme d’une structure JET_RECPOS . Cette structure décrit les positions fractionnaires en termes d’un nombre approximatif d’entrées d’index avant l’enregistrement actif et d’un nombre total approximatif d’entrées dans l’index.

    JET_ERR JET_API JetGetRecordPosition(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         JET_RECPOS* precpos,
      __in          unsigned long cbRecpos
    );

Paramètres

sesid

Session à utiliser pour cet appel.

tableid

Curseur à utiliser pour cet appel.

précpos

Description de la fraction à utiliser pour obtenir la position de l’enregistrement actif dans l’index actuel.

cbRecpos

Taille de la mémoire allouée au moment des précpos.

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_errNotInitialized

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session n’a pas encore été initialisé.

JET_errClientRequestToStopJetService

L’opération ne peut pas se terminer, car toutes les activités sur le instance associée à la session ont cessé à la suite d’un appel à JetStopService.

JET_errInstanceUnavailable

Cette opération ne peut pas se terminer, car le instance, associé à la session, a rencontré une erreur irrécupérable. Il est nécessaire que l’accès à toutes les données soit révoqué afin de protéger l’intégrité de ces données.

Windows 2000 : Cette erreur ne sera pas retournée par le système d’exploitation Windows 2000.

JET_errInvalidParameter

La taille de la mémoire allouée au moment des précpos n’est pas suffisante.

JET_errNoCurrentRecord

Le curseur ne se trouve pas actuellement sur un enregistrement et ne peut pas retourner de position.

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.

Windows 2000 : Cette erreur ne sera pas retournée par le système d’exploitation Windows 2000.

JET_errTermInProgress

L’opération ne peut pas se terminer, car le instance associé à la session est en cours d’arrêt.

En cas de réussite, le nombre approximatif d’entrées d’index précédant l’enregistrement actif dans l’index est retourné dans precpos-centriesLT>. 1 est retourné dans precpos-centriesInRange>. Le nombre approximatif d’entrées dans l’index est retourné dans precpos-centriesTotal>.

En cas d’échec, aucune modification n’est apportée à la mémoire allouée au moment des précpos.

Notes

Cette opération retourne des données variables lorsque des mises à jour se produisent en continu sur la table. Les modifications apportées aux valeurs ne correspondent pas toujours aux attentes basées sur la connaissance des mises à jour, car les valeurs sont des approximations basées sur les propriétés physiques de l’index. L’isolation transactionnelle ne s’applique pas aux positions de JetGetRecordPosition , car les valeurs dépendent des propriétés physiques de l’index qui ne sont pas isolées par transaction.

JET_RECPOS ne doit pas être utilisé pour décrire un enregistrement dans une table ou pour repositionner un enregistrement à proximité d’un enregistrement existant. Au lieu de cela, les signets d’un enregistrement existant doivent être récupérés, puis utilisés pour repositionner le même enregistrement.

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_COLUMNID
JET_ERR
JET_SESID
JET_TABLEID
JET_RECPOS
JET_SETINFO
JetGotoPosition
JetStopService