Condividi tramite


Funzione JetTerm

Si applica a: Windows | Windows Server

Funzione JetTerm

La funzione JetTerm avvia l'arresto di un'istanza inizializzata da JetInit.

JetTerm può essere usato anche per eliminare un'istanza non inizializzata creata da JetCreateInstance.

    JET_ERR JET_API JetTerm(
      __in          JET_INSTANCE instance
    );

Parametri

Istanza

Specifica l'istanza da usare per questa chiamata.

Windows 2000: Questo parametro viene ignorato e deve sempre essere NULL.

Windows XP e versioni successive: Questo parametro è in overload. Se il motore è operativo in modalità legacy (modalità di compatibilità windows 2000) in cui è supportata una sola istanza, questo parametro potrebbe essere NULL o potrebbe contenere l'istanza effettiva restituita da JetInit. Se il motore è operativo in modalità multiistanza, questo parametro deve essere un puntatore a un'istanza creata usando JetCreateInstance.

Valore restituito

Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sugli errori ESE possibili, vedere Errori del motore di archiviazione estendibili e parametri di gestione degli errori.

Codice restituito

Descrizione

JET_errSuccess

Operazione riuscita.

JET_errInvalidParameter

Uno dei parametri forniti contiene un valore imprevisto o la combinazione di diversi parametri ha restituito un risultato imprevisto. Questo errore verrà restituito da JetTerm quando il motore è in modalità multiistanza e quando pinstance fa riferimento a un'istanza non valida.

Windows XP: Questo valore restituito viene introdotto in Windows XP.

JET_errNotInitialized

Impossibile completare l'operazione perché l'istanza non è ancora stata inizializzata.

JET_errTermInProgress

Impossibile completare l'operazione perché l'istanza viene arrestata.

JET_errRestoreInProgress

Non è possibile completare l'operazione perché un'operazione di ripristino è in corso nell'istanza.

JET_errBackupInProgress

L'operazione non può essere completata perché un'operazione di backup è in corso nell'istanza.

JET_errTooManyActiveUsers

Impossibile arrestare l'istanza perché sono attualmente presenti sessioni con transazioni attive per l'istanza specificata. Questo errore si verifica solo se viene usato il JET_bitTermComplete.

Se questa funzione ha esito positivo, l'istanza specificata verrà arrestata. L'handle dell'istanza verrà chiuso e reso non disponibile per qualsiasi API che accetta un handle di istanza. Tutti gli altri oggetti associati all'istanza, ad esempio sessioni, verranno chiusi. Lo stato del file di checkpoint, i file di log delle transazioni e i file di database collegati all'istanza verranno modificati durante il processo di arresto.

Se questa funzione ha esito negativo come risultato di un errore di utilizzo, l'istanza rimane in uno stato inizializzato e non cambia nulla. In caso contrario, l'istanza è ancora arrestata in base al caso di esito positivo. La differenza è che l'istanza dovrà passare attraverso il ripristino di arresto anomalo quando viene inizializzata successivamente. Il motore tenterà di scaricare il maggior numero possibile di dati per ridurre al minimo la quantità di ripristino necessaria. Concettualmente, tale errore di JetTerm non è diverso da un arresto anomalo del processo.

Commenti

Se il processo host di un'istanza viene arrestato per qualsiasi motivo prima che JetTerm venga chiamato correttamente in tale istanza, l'istanza viene considerata in uno stato anomalo. Il ripristino di arresto anomalo si verificherà nel tentativo successivo di inizializzare tale istanza.

Requisiti

Requisito Valore

Client

Richiede Windows Vista, Windows XP o Windows 2000 Professional.

Server

Richiede Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Intestazione

Dichiarato in Esent.h.

Libreria

Usare ESENT.lib.

DLL

Richiede ESENT.dll.

Vedere anche

File del motore di archiviazione estendibili
JetCreateInstance
JET_ERR
JET_GRBIT
JetInit
JET_INSTANCE
JetTerm2