JetGotoSecondaryIndexBookmark 함수
적용 대상: Windows | Windows Server
JetGotoSecondaryIndexBookmark 함수
JetGotoSecondaryIndexBookmark 함수는 지정된 보조 인덱스 책갈피와 연결된 인덱스 항목에 커서를 배치합니다. 보조 인덱스 책갈피는 원래 검색된 테이블과 동일한 인덱스와 함께 사용해야 합니다. 인덱스 항목에 대한 보조 인덱스 책갈피는 JetGotoSecondaryIndexBookmark를 사용하여 검색할 수 있습니다.
Windows XP:JetGotoSecondaryIndexBookmark 는 Windows XP에 도입되었습니다.
JET_ERR JET_API JetGotoSecondaryIndexBookmark(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in void* pvSecondaryKey,
__in unsigned long cbSecondaryKey,
__in_opt void* pvPrimaryBookmark,
__in unsigned long cbPrimaryBookmark,
__in const JET_GRBIT grbit
);
매개 변수
sesid
이 호출에 사용할 세션입니다.
tableid
이 호출에 사용할 커서입니다.
pvSecondaryKey
커서를 배치하는 데 사용할 보조 키가 들어 있는 버퍼입니다.
cbSecondaryKey
버퍼에 있는 보조 키의 크기입니다.
pvPrimaryBookmark
커서를 배치하는 데 사용할 기본 키 책갈피가 들어 있는 버퍼입니다.
cbPrimaryBookmark
버퍼의 기본 키 책갈피 크기입니다.
grbit
다음 옵션 중 0개 이상을 지정하는 비트 그룹입니다.
값 |
의미 |
---|---|
JET_bitBookmarkPermitVirtualCurrency |
인덱스 항목을 더 이상 찾을 수 없는 경우 커서는 해당 인덱스 항목이 이전에 발견된 위치에 배치됩니다. JET_errRecordDeleted 작업이 여전히 실패합니다. 그러나 현재 누락된 인덱스 항목을 기준으로 다음 또는 이전 인덱스 항목으로 이동할 수 있습니다. |
반환 값
이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류 및 오류 처리 매개 변수를 참조하세요.
반환 코드 |
설명 |
---|---|
JET_errSuccess |
작업이 성공적으로 완료되었습니다. |
JET_errClientRequestToStopJetService |
JetStopService 호출로 인해 세션과 연결된 instance 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다. |
JET_errInstanceUnavailable |
세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 치명적인 오류가 발생했기 때문에 작업을 완료할 수 없습니다. Windows XP: 이 반환 값은 Windows XP에 도입되었습니다. |
JET_errInvalidBookmark |
제공된 보조 인덱스 책갈피가 잘못되었습니다. 보조 키가 0이거나 보조 키 버퍼 포인터가 NULL이므로 이 오류가 발생했을 수 있습니다. 이 오류는
|
JET_errNoCurrentIndex |
커서가 현재 보조 인덱스에 있지 않습니다. 커서가 현재 보조 인덱스를 사용하지 않는 경우 보조 인덱스 책갈피로 이동하는 것은 의미가 없습니다. 커서가 보조 인덱스에 없는 경우 JetGotoBookmark를 사용해야 합니다. |
JET_errNotInitialized |
세션과 연결된 instance 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다. |
JET_errRecordDeleted |
보조 인덱스 책갈피와 연결된 인덱스 항목을 찾을 수 없습니다. |
JET_errRestoreInProgress |
세션과 연결된 instance 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다. |
JET_errSessionSharingViolation |
동시에 둘 이상의 스레드에 동일한 세션을 사용할 수 없습니다. Windows XP: 이 반환 값은 Windows XP에 도입되었습니다. |
JET_errTermInProgress |
세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다. |
이 함수가 성공하면 커서가 지정된 보조 인덱스 책갈피와 연결된 인덱스 항목에 배치됩니다. 업데이트할 레코드가 준비되면 해당 업데이트가 취소됩니다. 인덱스 범위가 적용되면 해당 인덱스 범위가 취소됩니다. 커서를 사용할 수 있도록 검색 키가 생성된 경우 해당 검색 키가 삭제됩니다. 데이터베이스 상태는 변경되지 않습니다.
이 함수가 실패하면 JET_errRecordDeleted 반환되고 JET_bitBookmarkPermitVirtualCurrency 지정되지 않는 한 커서의 위치는 변경되지 않습니다. 이 경우 커서는 지정된 보조 인덱스 책갈피와 연결된 인덱스 항목이 있는 위치에 배치됩니다. 커서는 해당 위치를 기준으로 이동할 수 있지만 유효한 인덱스 항목에는 없습니다.
업데이트할 레코드가 준비되면 해당 업데이트가 취소됩니다. 인덱스 범위가 적용되면 해당 인덱스 범위가 취소됩니다. 커서를 사용할 수 있도록 검색 키가 생성된 경우 해당 검색 키가 삭제됩니다. 어떤 경우에도 데이터베이스 상태는 변경되지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows Vista 또는 Windows XP가 필요합니다. |
서버 |
Windows Server 2008 또는 Windows Server 2003이 필요합니다. |
머리글 |
Esent.h에 선언되었습니다. |
라이브러리 |
ESENT.lib를 사용합니다. |
DLL |
ESENT.dll 필요합니다. |
참고 항목
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetGetSecondaryIndexBookmark
JetGotoBookmark
JetStopService