Функция 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