Функция JetTerm
Область применения: Windows | сервер Windows
Функция JetTerm
Функция JetTerm инициирует завершение работы экземпляра, инициализированного JetInit.
JetTerm также можно использовать для уничтожения неинициализированного экземпляра, созданного JetCreateInstance.
JET_ERR JET_API JetTerm(
__in JET_INSTANCE 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 не отличается от сбоя процесса.
Remarks
Если процесс узла экземпляра завершает работу по какой-либо причине до успешного вызова JetTerm для этого экземпляра, экземпляр считается аварийным. Аварийное восстановление произойдет при следующей попытке инициализации этого экземпляра.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Professional. |
Server |
Требуется 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