Fonction JetTerm

S’applique à : Windows | Windows Server

Fonction JetTerm

La fonction JetTerm lance l’arrêt d’un instance initialisé par JetInit.

JetTerm peut également être utilisé pour détruire un instance non initialisé créé par JetCreateInstance.

    JET_ERR JET_API JetTerm(
      __in          JET_INSTANCE instance
    );

Paramètres

instance

Spécifie le instance à utiliser pour cet appel.

Windows 2000 : Ce paramètre est ignoré et doit toujours avoir la valeur NULL.

Windows XP et versions ultérieures : Ce paramètre est surchargé. Si le moteur fonctionne en mode hérité (mode de compatibilité Windows 2000) où une seule instance est prise en charge, ce paramètre peut être NULL ou contenir la instance réelle retournée par JetInit. Si le moteur fonctionne en mode multi-instance, ce paramètre doit être un pointeur vers un instance qui a été créé à l’aide de JetCreateInstance.

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_errInvalidParameter

L’un des paramètres fournis contenait une valeur inattendue, ou la combinaison de plusieurs paramètres a produit un résultat inattendu. Cette erreur est retournée par JetTerm lorsque le moteur est en mode multi-instance et lorsque pinstance fait référence à un instance non valide.

Windows XP : Cette valeur de retour est introduite dans Windows XP.

JET_errNotInitialized

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

JET_errTermInProgress

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

JET_errRestoreInProgress

Il n’est pas possible d’effectuer l’opération, car une opération de restauration est en cours sur le instance.

JET_errBackupInProgress

L’opération ne peut pas se terminer, car une opération de sauvegarde est en cours sur le instance.

JET_errTooManyActiveUsers

Impossible d’arrêter le instance, car il existe actuellement des sessions avec des transactions actives pour le instance spécifié. Cette erreur se produit uniquement si le JET_bitTermComplete est utilisé.

Si cette fonction réussit, le instance spécifié est arrêté. Le handle instance est également fermé et rendu indisponible pour toute API qui accepte un handle instance. Tous les autres objets associés au instance, tels que les sessions, seront également fermés. L’état du fichier de point de contrôle, des fichiers journaux des transactions et des fichiers de base de données attachés au instance sera modifié pendant le processus d’arrêt.

Si cette fonction échoue à la suite d’une erreur d’utilisation, le instance reste dans un état initialisé et rien ne change. Sinon, le instance est toujours arrêté en fonction du cas de réussite. La différence est que le instance devra passer par une récupération sur incident lors de sa prochaine initialisation. Le moteur essaiera de vider autant de données que possible pour réduire la quantité de récupération requise. D’un point de vue conceptuel, une telle défaillance de JetTerm n’est pas différente d’un plantage de processus.

Notes

Si le processus hôte d’un instance s’arrête pour une raison quelconque avant que JetTerm ne soit correctement appelé sur cette instance l’instance est considéré comme étant dans un état de blocage. La récupération sur incident se produira lors de la prochaine tentative d’initialisation de cette instance.

Configuration requise

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

Fichiers du moteur de stockage extensibles
JetCreateInstance
JET_ERR
JET_GRBIT
JetInit
JET_INSTANCE
JetTerm2