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