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 |
pvResult 는 JET_DBINFOMISC 해석됩니다. JET_DBINFOMISC 구조체는 지정된 데이터베이스와 관련된 정보로 채워집니다. |
JET_DbInfoOptions |
pvResult 는 JET_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이 지원되지 않는 경우 JetGetDatabaseFileInfo 및 JetGetDatabaseInfo에서 반환됩니다. |
성공하면 요청된 데이터가 출력 버퍼에 반환됩니다.
실패 시 출력 버퍼는 정의되지 않은 상태가 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
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