JetGetDatabaseInfo 함수

적용 대상: Windows | Windows Server

JetGetDatabaseInfo 함수

JetGetDatabaseInfo 함수는 데이터베이스에 대한 다양한 유형의 정보를 검색합니다. 데이터베이스가 연결되거나 온라인 상태이거나( JetGetDatabaseInfo 사용) 데이터베이스 또는 데이터베이스 엔진이 오프라인 상태인 동안( JetGetDatabaseFileInfo 사용) 이 API를 호출할 수 있습니다.

    JET_ERR JET_API JetGetDatabaseInfo(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

매개 변수

sesid

이 호출에 사용할 세션입니다.

dbid

데이터베이스에서 정보를 검색할 JET_DBID .

pvResult

지정된 정보를 수신할 버퍼에 대한 포인터입니다. 버퍼의 크기(바이트)는 cbMax로 전달됩니다.

실패 시 pvResult 의 내용은 정의되지 않습니다.

pvResult에 저장된 정보는 InfoLevel에 따라 달라집니다.

cbMax

pvResult로 전달된 버퍼의 크기(바이트)입니다.

InfoLevel

InfoLevel 은 지정된 데이터베이스에 대해 검색해야 하는 정보 유형을 지정합니다. pvResult가 해석되는 방식에 영향을 줍니다. 일부 InfoLevel 은 오프라인(JetGetDatabaseFileInfo) 또는 온라인(JetGetDatabaseInfo) 버전의 API에서만 사용할 수 있습니다.

제공된 pvResult 버퍼가 너무 작으면 InfoLevel에 따라 JET_errInvalidBufferSize 또는 JET_errBufferTooSmall 반환됩니다.

의미

JET_DbInfoCollate

아직 지원되지 않으며 기본값을 반환합니다. 사용하지 마십시오.

JET_DbInfoConnect

이러한 InfoLevels는 더 이상 사용되지 않으며 현재 지원되지 않습니다. 사용하지 마십시오.

JET_DbInfoCountry

아직 지원되지 않으며 기본값을 반환합니다. 사용하지 마십시오.

JET_DbInfoCp

아직 지원되지 않으며 기본값을 반환합니다. 사용하지 마십시오.

JET_DbInfoFilename

pvResult 는 문자열 버퍼(char *)로 해석됩니다. MAX_PATH 버퍼가 권장되지만 필수는 아닙니다. 버퍼가 충분히 길지 않으면 JET_errBufferTooSmall 반환됩니다. 문자열은 이 DBID에 대한 데이터베이스의 경로로 채워집니다.

JET_DbInfoFilesize

pvResult 는 DWORD(4바이트)로 해석됩니다. 페이지의 데이터베이스 크기를 반환합니다.

JET_DbInfoIsam

이러한 InfoLevels는 더 이상 사용되지 않으며 현재 지원되지 않습니다. 사용하지 마십시오.

JET_DbInfoLCID

(Windows XP 이상) 이 InfoLevel 은 원래 JET_DbInfoLangid(Windows 2000)로 지정되었습니다.

pvResult 는 long으로 해석됩니다. 이 데이터베이스와 연결된 LCID(로캘 식별자)를 반환합니다.

JET_DbInfoMisc

pvResultJET_DBINFOMISC 해석됩니다. JET_DBINFOMISC 구조체는 지정된 데이터베이스와 관련된 정보로 채워집니다.

JET_DbInfoOptions

pvResultJET_GRBIT (DWORD)로 해석됩니다. 데이터베이스가 단독 모드로 열려 있는지 여부를 반환합니다. 데이터베이스가 배타적 모드인 경우 JET_bitDbExclusive 제공된 JET_GRBIT 설정됩니다. 그렇지 않으면 0이 설정됩니다. JetAttachDatabase 및 JetOpenDatabase 대한 다른 데이터베이스 grbit 옵션은 반환되지 않습니다.

JET_DbInfoPageSize

Windows XP 이상에서만 사용할 수 있습니다. pvResult 는 서명되지 않은 long으로 해석됩니다. 그러면 데이터베이스의 페이지 크기가 바이트 단위로 반환됩니다.

JET_DbInfoSpaceAvailable

pvResult 는 DWORD로 해석됩니다. 그러면 페이지의 데이터베이스에 사용할 수 있는 공간이 반환됩니다.

JET_DbInfoSpaceOwned

pvResult 는 DWORD로 해석됩니다. 그러면 페이지의 데이터베이스에 대한 소유 공간이 반환됩니다.

JET_DbInfoTransactions

pvResult 는 long으로 해석됩니다. 이렇게 하면 트랜잭션을 중첩할 수 있는 최대 수준보다 큰 값이 반환됩니다. JetBeginTransaction이 이 값과 동일한 세션에서 커밋 또는 롤백 없이 중첩 방식으로 호출되는 경우 마지막 호출 JET_errTransTooDeep JetBeginTransaction에서 반환됩니다. Windows 2000, Windows XP 및 Windows Server 2003의 값은 7입니다.

JET_DbInfoVersion

pvResult 는 long으로 해석됩니다. 그러면 데이터베이스 엔진의 기본 주 버전이 반환됩니다. 이 값은 Windows 2000, Windows XP 및 Windows Server 2003에 대해 0x620.

반환 값

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

반환 코드

설명

JET_errSuccess

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

JET_errBufferTooSmall

cbMax에 지정된 버퍼의 크기가 너무 작거나 올바르지 않아 원하는 정보를 보유할 수 없습니다.

JET_errFeatureNotAvailable

요청한 InfoLevel 이 JET_DbInfoIsam. 이는 지원되지 않습니다.

JET_errInvalidBufferSize

cbMax에 지정된 버퍼의 크기가 너무 작거나 올바르지 않아 원하는 정보를 보유할 수 없습니다.

JET_errInvalidParameter

제공된 매개 변수 중 하나에 예기치 않은 값이 포함되어 있거나 다른 매개 변수의 값과 결합할 때 의미가 없는 값이 포함되어 있습니다. 제공된 JET_DBID 유효한(연결된) 데이터베이스가 아닌 경우 JetGetDatabaseInfo에서 이 오류가 반환됩니다. 이 오류는 해당 버전의 함수에서 요청한 InfoLevel이 지원되지 않는 경우 JetGetDatabaseFileInfoJetGetDatabaseInfo에서 반환됩니다.

성공하면 요청된 데이터가 출력 버퍼에 반환됩니다.

실패 시 출력 버퍼는 정의되지 않은 상태가 됩니다.

요구 사항

요구 사항

클라이언트

Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다.

서버

Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다.

머리글

Esent.h에 선언되었습니다.

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

유니코드

JetGetDatabaseInfoW(유니코드) 및 JetGetDatabaseInfoA(ANSI)로 구현됩니다.

참고 항목

JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseFileInfo