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


Функция JetCloseFileInstance

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

Функция JetCloseFileInstance

Функция JetCloseFileInstance закрывает файл, открытый с помощью JetOpenFileInstance после извлечения данных из этого файла с помощью JetReadFileInstance.

Windows XP: JetCloseFileInstance представлен в Windows XP.

    JET_ERR JET_API JetCloseFileInstance(
      __in          JET_INSTANCE instance,
      __in          JET_HANDLE hfFile
    );

Параметры

Экземпляр

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

Для Windows 2000 вариант API, который принимает этот параметр, недоступен, так как поддерживается только один экземпляр. В данном случае подразумевается использование этого одного глобального экземпляра.

Для Windows XP и более поздних версий вариант API, который не принимает этот параметр, может вызываться только в том случае, если подсистема находится в устаревшем режиме (режим совместимости Windows 2000), где поддерживается только один экземпляр. В противном случае операция завершится сбоем с JET_errRunningInMultiInstanceMode.

hfFile

Дескриптор считываемого файла.

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

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

Код возврата

Описание

JET_errSuccess

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

JET_errClientRequestToStopJetService

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

JET_errInstanceUnavailable

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

Эта ошибка будет возвращена только в Windows XP и более поздних выпусках.

JET_errInvalidParameter

Один из предоставленных параметров содержал непредвиденное значение или сочетание нескольких значений параметров привело к непредвиденному результату. Это может произойти для JetCloseFileInstance , если:

  • Указанный дескриптор экземпляра недопустим (Windows XP и более поздние выпуски)

  • Указанный дескриптор файла недопустим

JET_errNoBackup

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

JET_errNotInitialized

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

JET_errRestoreInProgress

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

JET_errRunningInMultiInstanceMode

Операция завершилась сбоем, так как была предпринята попытка использовать подсистему в устаревшем режиме (режим совместимости с Windows 2000), где поддерживается только один экземпляр, если на самом деле уже существует несколько экземпляров.

JET_errTermInProgress

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

При успешном выполнении дескриптор файла закрывается. Если файл базы данных был закрыт, соответствующий файл исправлений базы данных (при наличии) удаляется.

При сбое изменения не происходят.

Комментарии

В настоящее время ядро СУБД поддерживает только один открытый файл через JetOpenFileInstance одновременно. Если дескриптор файла открывается с помощью JetOpenFileInstance , то перед открытием другого файла его необходимо закрыть с помощью JetCloseFileInstance .

Требования

Требование Значение

Клиент

Требуется Windows Vista или Windows XP.

Сервер

Требуется Windows Server 2008 или Windows Server 2003.

Верхняя часть

Объявлено в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

См. также:

JET_ERR
JET_HANDLE
JET_INSTANCE
JetOpenFileInstance
JetReadFileInstance
JetStopServiceInstance