Поделиться через


Функция JetTerm2

Применимо к: Windows | Windows Server

Функция JetTerm2

Функция JetTerm2 инициирует завершение работы экземпляра, инициализированного JetInit.

JetTerm2 также может уничтожить неинициализированный экземпляр, созданный JetCreateInstance.

    JET_ERR JET_API JetTerm2(
      __in          JET_INSTANCE instance,
      __in          JET_GRBIT grbit
    );

Параметры

Экземпляр

Экземпляр, используемый для этого вызова.

Windows 2000: Этот параметр игнорируется и всегда должен иметь значение NULL.

Windows XP и более поздние выпуски: Этот параметр перегружен. Если подсистема работает в устаревшем режиме (режим совместимости Windows 2000), где поддерживается только один экземпляр, этот параметр может иметь значение NULL или содержать фактический экземпляр, возвращаемый JetInit. Если подсистема работает в режиме с несколькими экземплярами, этот параметр должен быть указателем на экземпляр, созданный с помощью JetCreateInstance.

grbit

Группа битов, содержащих параметры, используемые для этого вызова, которые включают ноль или более следующих значений.

Значение

Значение

JET_bitTermComplete

Запрос на чистое завершение работы экземпляра. Любая необязательная работа по очистке, которая обычно выполняется в фоновом режиме во время выполнения, завершается немедленно.

JET_bitTermAbrupt

Запрашивает завершение работы экземпляра как можно быстрее. Любая необязательная работа, которая обычно выполняется в фоновом режиме во время выполнения, отказывается.

Примечание Этот параметр может привести к временной или постоянной потере места в базе данных. Это потерянное пространство всегда можно восстановить с помощью автономной дефрагментации базы данных.

JET_bitTermStopBackup

Запрашивает завершение работы экземпляра, даже если в настоящее время выполняется резервное копирование. Как правило, ожидающее резервное копирование приведет к сбою JetTerm с JET_errBackupInProgress. Если этот параметр отсутствует, предполагается, что его значение JET_bitTermAbrupt.

JET_bitTermDirty

Запрашивает завершение работы экземпляра со всеми подключенными базами данных, оставшимися в грязное состоянии.

Windows 7: JET_bitTermDirty появилась в Windows 7.

Возвращаемое значение

Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.

Код возврата

Описание

JET_errSuccess

Операция выполнена успешно.

JET_errBackupInProgress

Операция не может завершиться, так как в экземпляре выполняется операция резервного копирования.

JET_errInvalidParameter

Один из предоставленных параметров содержал непредвиденное значение или сочетание нескольких параметров привело к непредвиденному результату. Эта ошибка будет возвращена JetTerm , если подсистема находится в режиме нескольких экземпляров и когда pinstance ссылается на недопустимый экземпляр.

Windows XP: Это возвращаемое значение появилось в Windows XP.

JET_errNotInitialized

Операция не может завершиться, так как экземпляр еще не инициализирован.

JET_errTermInProgress

Операция не может завершиться, так как экземпляр завершает работу.

JET_errRestoreInProgress

Невозможно выполнить операцию, так как в экземпляре выполняется операция восстановления.

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
JetTerm