Функция JetTerm
Применимо к: Windows | Windows Server
Функция JetTerm
Функция JetTerm инициирует завершение работы экземпляра, инициализированного JetInit.
JetTerm также можно использовать для уничтожения неинициализированного экземпляра, созданного JetCreateInstance.
JET_ERR JET_API JetTerm(
__in JET_INSTANCE instance
);
Параметры
Экземпляр
Указывает экземпляр, используемый для этого вызова.
Windows 2000: Этот параметр игнорируется и всегда должен иметь значение NULL.
Windows XP и более поздние выпуски: Этот параметр перегружен. Если подсистема работает в устаревшем режиме (режим совместимости Windows 2000), где поддерживается только один экземпляр, этот параметр может иметь значение NULL или содержать фактический экземпляр, возвращаемый JetInit. Если подсистема работает в режиме с несколькими экземплярами, этот параметр должен быть указателем на экземпляр, созданный с помощью JetCreateInstance.
Возвращаемое значение
Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.
Код возврата |
Описание |
---|---|
JET_errSuccess |
Операция выполнена успешно. |
JET_errInvalidParameter |
Один из предоставленных параметров содержал непредвиденное значение или сочетание нескольких параметров привело к непредвиденному результату. Эта ошибка будет возвращена JetTerm , если подсистема находится в режиме нескольких экземпляров и когда pinstance ссылается на недопустимый экземпляр. Windows XP: Это возвращаемое значение появилось в Windows XP. |
JET_errNotInitialized |
Операция не может завершиться, так как экземпляр еще не инициализирован. |
JET_errTermInProgress |
Операция не может завершиться, так как экземпляр завершает работу. |
JET_errRestoreInProgress |
Невозможно выполнить операцию, так как в экземпляре выполняется операция восстановления. |
JET_errBackupInProgress |
Операция не может завершиться, так как в экземпляре выполняется операция резервного копирования. |
JET_errTooManyActiveUsers |
Невозможно завершить работу экземпляра, так как в настоящее время для указанного экземпляра имеются сеансы с активными транзакциями. Эта ошибка возникает только в том случае, если используется JET_bitTermComplete. |
Если эта функция будет выполнена успешно, указанный экземпляр завершит работу. Дескриптор экземпляра также будет закрыт и станет недоступным для любого API, который принимает дескриптор экземпляра. Все другие объекты, связанные с экземпляром , например сеансы, также будут закрыты. Состояние файла контрольных точек, файлов журнала транзакций и файлов базы данных, присоединенных к экземпляру, будет изменено во время завершения работы.
Если эта функция завершается сбоем в результате ошибки использования, экземпляр остается в инициализированном состоянии и ничего не изменяется. В противном случае экземпляр по-прежнему будет завершен в случае успешного выполнения. Разница заключается в том, что экземпляру потребуется выполнить аварийное восстановление при следующей инициализации. Подсистема попытается очистить как можно больше данных, чтобы свести к минимуму объем необходимого восстановления. По сути, такой сбой JetTerm ничем не отличается от сбоя процесса.
Комментарии
Если главный процесс экземпляра по какой-либо причине завершает работу до успешного вызова JetTerm для этого экземпляра, экземпляр считается аварийным. Аварийное восстановление произойдет при следующей попытке инициализации этого экземпляра.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Профессиональная. |
Сервер |
Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server. |
Верхняя часть |
Объявлено в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
DLL |
Требуется ESENT.dll. |
См. также:
Файлы расширяемого ядра хранилища
JetCreateInstance
JET_ERR
JET_GRBIT
JetInit
JET_INSTANCE
JetTerm2