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