JetCloseFileInstance 함수

적용 대상: Windows | Windows Server

JetCloseFileInstance 함수

JetCloseFileInstance 함수는 JetReadFileInstance를 사용하여 해당 파일의 데이터를 추출한 후 JetOpenFileInstance로 열린 파일을 닫습니다.

Windows XP: JetCloseFileInstance 가 Windows XP에 도입되었습니다.

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

매개 변수

instance

이 호출에 사용할 instance.

Windows 2000의 경우 instance 하나만 지원되므로 이 매개 변수를 허용하는 API 변형을 사용할 수 없습니다. 이 하나의 전역 instance 사용하는 것은 이 경우에 암시됩니다.

Windows XP 이상 릴리스의 경우 이 매개 변수를 허용하지 않는 API 변형은 엔진이 하나의 instance 지원되는 레거시 모드(Windows 2000 호환 모드)에 있을 때만 호출될 수 있습니다. 그렇지 않으면 JET_errRunningInMultiInstanceMode 작업이 실패합니다.

hfFile

읽을 파일의 핸들입니다.

반환 값

이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류 및 오류 처리 매개 변수를 참조하세요.

반환 코드

설명

JET_errSuccess

작업이 성공적으로 완료되었습니다.

JET_errClientRequestToStopJetService

JetStopServiceInstance 호출로 인해 세션과 연결된 instance 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다.

JET_errInstanceUnavailable

세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 심각한 오류가 발생하여 작업을 완료할 수 없습니다.

이 오류는 Windows XP 이상 릴리스에서만 반환됩니다.

JET_errInvalidParameter

제공된 매개 변수 중 하나에 예기치 않은 값이 포함되어 있거나 여러 매개 변수 값의 조합으로 예기치 않은 결과가 발생했습니다. JetCloseFileInstance의 경우 다음과 같은 경우에 발생할 수 있습니다.

  • 지정한 instance 핸들이 잘못되었습니다(Windows XP 이상 릴리스).

  • 지정한 파일 핸들이 잘못되었습니다.

JET_errNoBackup

외부 백업이 진행 중이 아니므로 작업이 실패했습니다.

JET_errNotInitialized

세션과 연결된 instance 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다.

JET_errRestoreInProgress

세션과 연결된 instance 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다.

JET_errRunningInMultiInstanceMode

실제로 여러 인스턴스가 이미 있는 경우 하나의 instance만 지원되는 레거시 모드(Windows 2000 호환 모드)에서 엔진을 사용하려고 했기 때문에 작업이 실패했습니다.

JET_errTermInProgress

세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다.

성공하면 파일 핸들이 닫힙니다. 데이터베이스 파일이 닫힌 경우 연결된 데이터베이스 패치 파일(있는 경우)이 제거됩니다.

실패 시 변경 내용이 발생하지 않습니다.

설명

데이터베이스 엔진은 현재 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