Fonction JetTerm

S’applique à : Windows | serveur Windows

Fonction JetTerm

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

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

    JET_ERR JET_API JetTerm(
      __in          JET_INSTANCE instance
    );

Paramètres

Exemple

Spécifie l’instance à utiliser pour cet appel.

Windows 2000 : ce paramètre est ignoré et doit toujours être NULL.

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

Valeur de retour

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 extensible Stockage s etparamè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 l’épingle fait référence à une 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 l’instance n’a pas encore été initialisée.

JET_errTermInProgress

L’opération ne peut pas se terminer, car l’instance est arrêtée.

JET_errRestoreInProgress

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

JET_errBackupInProgress

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

JET_errTooManyActiveUsers

L’instance ne peut pas être arrêtée, car il existe actuellement des sessions avec des transactions actives pour l’instance spécifiée. Cette erreur se produit uniquement si le JET_bitTermComplete est utilisé.

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

Si cette fonction échoue suite à une erreur d’utilisation, l’instance reste dans un état initialisé et rien ne change. Sinon, l’instance est toujours arrêtée selon le cas de réussite. La différence est que l’instance doit passer par la récupération d’incident lors de son initialisation suivante. Le moteur essaiera de vider autant de données que possible pour réduire la quantité de récupération requise. Conceptuellement, une telle défaillance de JetTerm n’est pas différente d’un incident de processus.

Notes

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

Spécifications

Condition requise Valeur

Client

Nécessite 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

Nécessite ESENT.dll.

Voir aussi

Fichiers de moteur de Stockage extensibles
JetCreateInstance
JET_ERR
JET_GRBIT
JetInit
JET_INSTANCE
JetTerm2