Функция 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 , если:
|
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