Fonction JetDupCursor
S’applique à : Windows | Windows Serveurs
Fonction JetDupCursor
La fonction JetDupCursor duplique un curseur ouvert et retourne un descripteur au curseur dupliqué. Si le curseur qui était dupliqué était un curseur en lecture seule, le curseur dupliqué est également un curseur en lecture seule. Tout État lié à la construction d’une clé de recherche ou à la mise à jour d’un enregistrement n’est pas copié dans le curseur dupliqué. En outre, l’emplacement du curseur d’origine n’est pas dupliqué dans le curseur dupliqué. Le curseur dupliqué est toujours ouvert sur l’index cluster et son emplacement est toujours sur la première ligne de la table.
JET_ERR JET_API JetDupCursor(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out JET_TABLEID* ptableid,
__in JET_GRBIT grbit
);
Paramètres
sesid
Session à utiliser pour cet appel.
TableID
Curseur à utiliser pour cet appel.
pTableID
Pointeur vers TableID.
grbit
Réservé pour un usage futur.
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 |
Il n’est pas possible de terminer l’opération, car toute activité sur l’instance associée à la session a été interrompue suite à un appel à JetStopService. |
JET_errInstanceUnavailable |
Il n’est pas possible de terminer l’opération, car l’instance associée à la session a rencontré une erreur irrécupérable qui requiert que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. cette erreur est renvoyée uniquement par Windows XP et les versions ultérieures. |
JET_errNotInitialized |
Impossible de terminer l’opération, car l’instance associée à la session n’a pas encore été initialisée. |
JET_errOutOfCursors |
Il n’existe aucune ressource de curseur disponible. |
JET_errRestoreInProgress |
Il n’est pas possible de terminer l’opération, car une opération de restauration est en cours sur l’instance associée à la session. |
JET_errSessionSharingViolation |
La même session ne peut pas être utilisée simultanément pour plusieurs threads. cette erreur est renvoyée uniquement par Windows XP et les versions ultérieures. |
JET_errTermInProgress |
Il n’est pas possible de terminer l’opération, car l’instance associée à la session est en cours d’arrêt. |
En cas de réussite, pTableID est défini sur un curseur dupliqué.
En cas d’échec, aucune modification n’est apportée. L’état de TableID est inchangé.
Remarques
Le curseur dupliqué n’a pas l’état de curseur entier copié. L’emplacement du curseur dupliqué, y compris l’index actuel, est généralement différent du curseur donné. Le curseur dupliqué est toujours retourné sur l’index cluster et sur la première ligne de la table. Si la table est vide, le curseur dupliqué ne figure pas sur une ligne.
Les tables ouvertes avec JetDupCursor doivent généralement être fermées avec JetCloseTable. L’exception à cette règle se produit lorsque JetDupCursor est appelé dans une transaction et que la transaction est restaurée (avec JetRollback). Lors de la restauration d’une transaction, le curseur est automatiquement fermé. Dans ce cas, il s’agit d’une erreur de fermeture de la table avec JetCloseTable.
Le nombre de tables pouvant être ouvertes simultanément est directement affecté par JET_paramMaxOpenTables. Pour plus d’informations, consultez paramètres système .
Configuration requise
| | |
Client
|requiert Windows Vista, Windows XP ou Windows 2000 Professional.
| |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
|Requiert ESENT.dll.
|Voir aussi
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetRollback
JetStopService
Paramètres système