JetPrereadKeys 함수
적용 대상: Windows | Windows Server
JetPrereadKeys 함수
JetPrereadKeys 함수는 버전 저장소 정리의 성능을 향상시키기 위해 키 값을 읽습니다.
Windows 7: PrereadKeys 함수는 Windows 7에 도입되었습니다.
JET_ERR JET_API JetPrereadKeys(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in_ecount(ckeys) const void ** rgpvKeys,
__in_ecount(ckeys) const unsigned long * rgcbKeys,
__in long ckeys,
__out_opt long * pckeysPreread,
__in JET_GRBIT grbit
);
매개 변수
sesid
API 호출에 사용할 데이터베이스 세션 컨텍스트입니다.
tableid
이 호출에 사용할 커서입니다.
rgpvKeys
키에 대한 포인터 배열입니다. 키는 JetMakeKey 를 사용하여 만들거나 JetGetBookmark를 사용하여 검색할 수 있습니다. 전달된 grbit에 따라 키를 오름차순 또는 내림차순으로 정렬해야 합니다. 키는 memcmp로 정렬할 수 있습니다.
rgcbKeys
키 길이의 배열입니다. rgpvKeys[n] 는 rgcbKeys[n] 길이의 키를 가리킵니다.
ckeys
키의 수입니다. rgpvKeys 및 rgcbKeys는 각각 적어도 ckeys 요소가 있는 배열을 가리킵니다.
pckeysPreread
미리 읽기가 실제로 발급된 키 수를 반환합니다. 이 매개 변수는 NULL일 수 있습니다.
grbit
JET_bitPrereadForward 또는 JET_bitPrereadBackward 합니다. grbit이 JET_bitPrereadForward 경우 키를 오름차순으로 정렬해야 합니다. grbit가 JET_bitPrereadBackward 경우 키를 내림차순으로 정렬해야 합니다.
반환 값
이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류 및 오류 처리 매개 변수를 참조하세요.
다음과 같은 API 사용 오류와 함께 다양한 I/O 오류를 반환할 수 있습니다.
반환 코드 |
설명 |
---|---|
JET_errInvalidGrbit |
그빗은 JET_bitPrereadForward JET_bitPrereadBackward 아니었다. |
JET_errInvalidBufferSize |
잘못된 키 크기가 전달되었습니다. 키는 테이블의 최대 키 길이보다 0이거나 길 수 없습니다. |
JET_errInvalidParameter |
잘못된 매개 변수가 전달되었습니다. 이는 필수 매개 변수의 null 값으로 인해 발생하거나 키 배열이 제대로 정렬되지 않았음을 나타낼 수 있습니다. |
JetPrereadKeys는 b-트리의 내부 페이지를 트래버스하여 rgpvKeys/rgcbKeys에 지정된 키가 포함된 리프 페이지를 결정합니다. 리프 페이지 목록이 정렬된 다음 페이지 범위에 대해 사전 읽기가 발급됩니다. 미리 읽을 수 있는 페이지 수가 제한되므로 모든 키를 미리 읽지 못할 수 있습니다. 이 경우 실제로 사전 읽기 키 수가 pckeysPreread에 반환됩니다.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows 7이 필요합니다. |
서버 |
Windows Server 2008 R2가 필요합니다. |
머리글 |
Esent.h에서 선언되었습니다. |
라이브러리 |
ESENT.lib를 사용합니다. |
DLL |
ESENT.dll 필요합니다. |