다음을 통해 공유


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