JetGetSystemParameter 함수
적용 대상: Windows | Windows Server
JetGetSystemParameter 함수
JetGetSystemParameter 함수는 데이터베이스 엔진의 다양한 구성 설정을 읽습니다.
JET_ERR JET_API JetGetSystemParameter(
__in JET_INSTANCE instance,
__in JET_SESID sesid,
__in unsigned long paramid,
__in_out_opt JET_API_PTR* plParam,
__out_opt JET_PSTR szParam,
__in unsigned long cbMax
);
매개 변수
instance
이 호출에 사용할 instance.
Windows 2000의 경우 이 매개 변수는 무시되며 항상 NULL이어야 합니다.
Windows XP 이상 릴리스의 경우 이 매개 변수는 다소 오버로드됩니다. 엔진이 하나의 instance 지원되는 레거시 모드(Windows 2000 호환 모드)에서 작동하는 경우 이 매개 변수는 NULL이거나 JetInit에서 반환된 실제 instance 포함할 수 있습니다. 두 경우 모두 해당 instance 모든 시스템 매개 변수 설정을 읽습니다. 엔진이 다중 instance 모드에서 작동하는 경우 이 매개 변수는 NULL이거나 JetInit 또는 JetCreateInstance를 사용하여 만든 instance 대한 포인터일 수 있습니다. 이 매개 변수가 NULL 이면 전역 시스템 매개 변수 설정(또는 기본값)을 읽습니다. 이 매개 변수가 instance 경우 해당 instance 대한 시스템 매개 변수 설정을 읽습니다.
sesid
이 호출에 사용할 세션입니다.
지정하면 지정된 instance 무시되고 세션과 연결된 instance 사용됩니다.
paramid
읽을 시스템 매개 변수의 ID입니다.
시스템 매개 변수 및 해당 속성의 전체 목록은 시스템 매개 변수를 참조하세요.
plParam
해당 시스템 매개 변수가 정수 형식인 경우 선택한 시스템 매개 변수의 값을 수신하는 출력 버퍼입니다.
szParam
해당 시스템 매개 변수가 문자열 형식인 경우 선택한 시스템 매개 변수의 값을 받는 출력 버퍼입니다.
cbMax
문자열 출력 버퍼의 최대 크기(바이트)입니다.
반환 값
이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류 및 오류 처리 매개 변수를 참조하세요.
반환 코드 |
설명 |
---|---|
JET_errSuccess |
작업이 성공적으로 완료되었습니다. |
JET_errClientRequestToStopJetService |
JetStopService 호출로 인해 세션과 연결된 instance 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다. |
JET_errInitInProgress |
세션과 연결된 instance 초기화되므로 작업을 완료할 수 없습니다. |
JET_errInstanceUnavailable |
세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 심각한 오류가 발생하여 작업을 완료할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다. |
JET_errInvalidParameter |
제공된 매개 변수 중 하나에 예기치 않은 값이 포함되어 있거나 다른 매개 변수의 값과 결합할 때 의미가 없는 값이 포함되어 있습니다. 이는 다음과 같은 경우 JetGetSystemParameter에 대해 발생할 수 있습니다.
|
JET_errNotInitialized |
세션과 연결된 instance 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다. |
JET_errRestoreInProgress |
세션과 연결된 instance 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다. |
JET_errTermInProgress |
세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다. |
JET_errInvalidSesid |
세션 핸들이 잘못되었거나 닫힌 세션을 참조합니다. 이 오류는 모든 상황에서 반환되지 않습니다. 핸들은 최상의 노력으로만 유효성이 검사됩니다. |
JET_errInvalidInstance |
instance 핸들이 잘못되었거나 종료된 instance 나타냅니다. 이 오류는 모든 상황에서 반환되지 않습니다. 핸들은 최상의 노력으로만 유효성이 검사됩니다. Windows Vista: 이 오류는 Windows Vista 이상 릴리스에서만 반환됩니다. |
JET_wrnBufferTruncated |
작업이 성공적으로 완료되었지만 출력 버퍼가 너무 작아서 전체 시스템 매개 변수 설정을 받을 수 없습니다. 출력 버퍼가 시스템 매개 변수 설정만큼 채워졌습니다. 출력 버퍼의 길이가 하나 이상인 경우 해당 출력 버퍼의 문자열은 null로 종료됩니다. 참고 이 오류는 모든 릴리스에서 반환되지 않습니다. 자세한 내용은 설명 섹션을 참조하세요. |
JET_errBufferTooSmall |
출력 버퍼가 너무 작아서 전체 시스템 매개 변수 설정을 받을 수 없어 작업이 실패했습니다. 참고 경우에 따라 애플리케이션 호환성을 유지하기 위해 이 오류가 반환되지 않습니다. 자세한 내용은 설명 섹션을 참조하세요. Windows Vista: 이 오류는 Windows Vista 이상 릴리스에서만 반환됩니다. |
성공하면 요청된 시스템 매개 변수에 적합한 출력 버퍼가 해당 시스템 매개 변수의 값으로 설정됩니다.
실패 시 출력 버퍼의 상태는 정의되지 않습니다.
설명
이 API에는 모든 릴리스에 있는 중요한 문제가 있습니다. 문자열 값이 있는 시스템 매개 변수가 요청되고 출력 버퍼가 너무 작아 전체 시스템 매개 변수 설정을 수신할 수 없는 경우 JET_wrnBufferTruncated 반환되지 않습니다. 대신 JET_errSuccess 반환됩니다. 반환된 문자열의 길이가 NULL 종결자보다 작은 출력 버퍼의 크기와 같으면 호출자는 JET_wrnBufferTruncated 반환된 것처럼 반응해야 합니다. 크기가 0인 문자열 출력 버퍼를 지정하면 호출자는 JET_errInvalidParameter 반환된 것처럼 반응해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다. |
서버 |
Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다. |
머리글 |
Esent.h에 선언되었습니다. |
라이브러리 |
ESENT.lib를 사용합니다. |
DLL |
ESENT.dll 필요합니다. |
유니코드 |
JetGetSystemParameterW(유니코드) 및 JetGetSystemParameterA(ANSI)로 구현됩니다. |
참고 항목
JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetInit
JetSetSystemParameter
JetStopService
시스템 매개 변수