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


Функция JetCloseFile

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

Функция JetCloseFile

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

    JET_ERR JET_API JetCloseFile(
      __in          JET_HANDLE hfFile
    );

Параметры

hfFile

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

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

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

Код возврата

Описание

JET_errSuccess

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

JET_errClientRequestToStopJetService

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

JET_errInstanceUnavailable

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

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

JET_errInvalidParameter

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

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

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

JET_errNoBackup

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

JET_errNotInitialized

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

JET_errRestoreInProgress

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

JET_errRunningInMultiInstanceMode

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

JET_errTermInProgress

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

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

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

Комментарии

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

Требования

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

Клиент

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

Сервер

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

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

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

Библиотека

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

DLL

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

См. также:

JET_ERR
JET_INSTANCE
JET_HANDLE
JetOpenFile
JetReadFile
JetStopService