Fonction JetSetLS
S’applique à : Windows | Windows Server
Fonction JetSetLS
La fonction JetSetLS permet à l’application d’associer un handle de contexte appelé Stockage local à un curseur ou à la table associée à ce curseur. Ce handle de contexte peut être utilisé par l’application pour stocker des données auxiliaires associées à un curseur ou à une table. L’application est ensuite avertie à l’aide d’un rappel du runtime lorsque le handle de contexte doit être libéré. Cela permet d’associer un état alloué dynamiquement à un curseur ou à une table.
Windows XP:JetSetLS est introduit dans Windows XP.
JET_ERR JET_API JetSetLS(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_LS ls,
__in JET_GRBIT grbit
);
Paramètres
sesid
Session à utiliser pour cet appel.
tableid
Curseur à utiliser pour cet appel.
ls
Handle de contexte à associer au curseur ou à la table.
Lorsque JET_bitLSReset est spécifié, la valeur réelle de ce paramètre est ignorée et JET_LSNil est utilisé.
grbit
Groupe de bits contenant les options à utiliser pour cet appel, qui incluent zéro ou plusieurs des éléments suivants.
Valeur |
Signification |
---|---|
JET_bitLSCursor |
Cette option indique que le handle de contexte doit être associé au curseur donné. Si ni JET_bitLSCursor ni JET_bitLSTable n’est spécifié, JET_bitLSCursor est présumé. Il n’est pas possible d’utiliser cette option avec JET_bitLSTable. L’opération échoue avec JET_errInvalidgrbit si cette opération est tentée. |
JET_bitLSReset |
Cette option indique que le handle de contexte spécifié doit être ignoré et que le handle de contexte de l’objet choisi doit être réinitialisé à JET_LSNil. Il est important de noter que cette action n’entraîne pas de rappel pour nettoyer la valeur précédente du handle de contexte pour l’objet choisi. Un nettoyage correct du handle de contexte précédent peut être effectué à l’aide de JetGetLS avec JET_bitLSReset. Pour plus d’informations, consultez JetGetLS . |
JET_bitLSTable |
Cette option indique que le handle de contexte doit être associé à la table associée au curseur donné. Il n’est pas possible d’utiliser cette option avec JET_bitLSCursor. L’opération échoue avec JET_errInvalidgrbit si cette opération est tentée. |
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 d’effectuer l’opération, car toutes les activités sur le instance associées à la session ont cessé à la suite d’un appel à JetStopService. |
JET_errInvalidgrbit |
L’une des options demandées n’était pas valide, utilisée de manière incorrecte ou non implémentée. Cela peut se produire pour JetSetLS lorsque JET_bitLSCursor et JET_bitLSTable sont tous deux spécifiés. |
JET_errInstanceUnavailable |
Il n’est pas possible d’effectuer l’opération, 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. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures. |
JET_errLSAlreadySet |
Le handle de contexte donné n’a pas pu être associé à l’objet demandé, car un handle de contexte lui était déjà associé. |
JET_errLSCallbackNotSpecified |
Le handle de contexte donné n’a pas pu être associé à l’objet demandé, car le rappel du runtime n’a pas été configuré pour le instance associé à la session. |
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_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_errTermInProgress |
Il n’est pas possible d’effectuer l’opération, car le instance associé à la session est en cours d’arrêt. |
En cas de réussite, le handle de contexte donné a été correctement associé à l’objet demandé. Aucune modification de l’état de la base de données ne se produira.
En cas d’échec, aucune modification de l’état de l’objet demandé ne s’est produite. Aucune modification de l’état de la base de données ne se produira.
Notes
Le stockage local d’un curseur ou d’une table doit être vu comme un cache volatile. L’application doit d’abord essayer de récupérer le handle de contexte à l’aide de JetGetLS. Si la valeur n’est pas définie (c’est-à-dire qu’elle est JET_LSNil), l’application doit créer un nouveau contexte et le charger dans le cache à l’aide de JetSetLS. L’application peut vider le cache à l’aide d’un appel à JetGetLS avec JET_bitLSReset. Si le moteur de base de données vide le cache, un rappel du runtime est généré pour permettre à l’application de nettoyer ce contexte. Le type de rappel sera JET_cbtypFreeCursorLS pour un handle de contexte associé à un curseur et JET_cbtypFreeTableLS pour un handle de contexte associé à une table. Dans les deux cas, le handle de contexte est passé en tant que pvArg1. Pour plus d’informations, consultez JET_CALLBACK .
Le rappel du runtime doit être correctement configuré pour le instance associé à la session donnée avant que le stockage local puisse être utilisé. Ce rappel peut être défini à l’aide de JetSetSystemParameter avec JET_paramRuntimeCallback. Pour plus d’informations, consultez JetSetSystemParameter et JET_paramRuntimeCallback dans Paramètres système.
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_CALLBACK
JET_ERR
JET_GRBIT
JET_LS
JET_SESID
JET_TABLEID
JetGetLs
JetSetSystemParameter
Paramètres système