JET_CBTYP

적용 대상: Windows | Windows Server

JET_CBTYP

상수의 JET_CBTYP 그룹은 데이터베이스 엔진이 JET_CALLBACK 콜백 함수를 호출하여 애플리케이션에 알리는 작업의 가능한 모든 지점을 설명합니다. 데이터베이스 엔진은 콜백 함수의 cbtyp 매개 변수에서 이러한 상수 중 하나를 전달합니다. 이 호출에서 데이터베이스 엔진에서 전달하는 다른 매개 변수의 의미는 전달된 특정 JET_CBTYP 따라 달라집니다.

Windows XP:JET_CBTYP 상수 그룹은 Windows XP에 도입되었습니다.

상수/값

설명

JET_cbtypNull
0x00000000

이 콜백은 예약되어 있으며 항상 잘못된 것으로 간주됩니다.

JET_cbtypFinalize
0x00000001

이 콜백은 나중에 사용하도록 예약되어 있습니다.

JET_cbtypBeforeInsert
0x00000002

이 콜백은 JetUpdate를 호출하여 테이블에 새 레코드를 삽입하기 직전에 발생합니다.

이 콜백 이유에 대한 함수 포인터는 JET_TABLECREATE 통해 JetCreateTableColumnIndex에 전달되거나 JetRegisterCallback을 통해 런타임에 구성됩니다. 자세한 내용은 JET_TABLECREATE 또는 JetRegisterCallback을 참조하세요.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: 삽입할 레코드가 있는 세션입니다.

  • dbid: 삽입할 레코드가 포함된 테이블의 데이터베이스 ID입니다.

  • tableid: 삽입할 새 레코드를 준비한 커서입니다. 현재 버전 또는 자동 증가 열의 값이 올바르지 않을 수 있다는 점에 유의해야 합니다.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback 또는 NULL에 전달된 컨텍스트 포인터입니다.

  • ulUnused: NULL 콜백에서 오류가 반환되면 콜백을 시작하는 작업이 해당 오류로 인해 실패합니다.

JET_cbtypAfterInsert
0x00000004

이 콜백은 JetUpdate 를 호출하여 테이블에 새 레코드를 삽입한 직후에 발생하지만 JetUpdate 가 호출자에게 반환되기 직전에 발생합니다.

이 콜백 이유에 대한 함수 포인터는 JET_TABLECREATE 통해 JetCreateTableColumnIndex에 전달되거나 JetRegisterCallback을 통해 런타임에 구성됩니다. 자세한 내용은 JET_TABLECREATE 또는 JetRegisterCallback을 참조하세요.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: 방금 삽입된 레코드가 있는 세션입니다.

  • dbid: 방금 삽입된 레코드가 포함된 테이블의 데이터베이스 ID입니다.

  • tableid: 방금 삽입된 레코드가 있는 테이블의 커서입니다. 커서는 삽입 전 콜백에서와 동일한 인덱스 항목에 계속 배치됩니다. 또한 이 인덱스 항목은 삽입되는 레코드와 어떤 식으로든 관련이 없을 수 있습니다.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback 또는 NULL에 전달된 컨텍스트 포인터입니다.

  • ulUnused: NULL 콜백에서 오류가 반환되면 무시됩니다.

JET_cbtypBeforeReplace
0x00000008

이 콜백은 JetUpdate 호출에 의해 테이블의 기존 레코드가 변경되기 직전에 발생합니다.

이 콜백 이유에 대한 함수 포인터는 JET_TABLECREATE 통해 JetCreateTableColumnIndex에 전달되거나 JetRegisterCallback을 통해 런타임에 구성됩니다. 자세한 내용은 JET_TABLECREATE 또는 JetRegisterCallback을 참조하세요.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: 변경할 레코드가 있는 세션입니다.

  • dbid: 변경할 레코드가 포함된 테이블의 데이터베이스 ID입니다.

  • tableid: 변경할 레코드와 연결된 인덱스 항목에 있는 커서입니다. 현재 버전 또는 자동 증가 열의 값이 올바르지 않을 수 있다는 점에 유의해야 합니다.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback 또는 NULL에 전달된 컨텍스트 포인터입니다.

  • ulUnused: NULL 콜백에서 오류가 반환되면 콜백을 시작하는 작업이 해당 오류로 인해 실패합니다.

JET_cbtypAfterReplace
0x00000010

이 콜백은 JetUpdate 호출에 의해 테이블의 기존 레코드가 변경된 직후에 발생하지만 JetUpdate 가 호출자에게 반환되기 직전에 발생합니다.

이 콜백 이유에 대한 함수 포인터는 JET_TABLECREATE 통해 JetCreateTableColumnIndex에 전달되거나 JetRegisterCallback을 통해 런타임에 구성됩니다. 자세한 내용은 JET_TABLECREATE 또는 JetRegisterCallback을 참조하세요.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: 방금 변경된 레코드가 있는 세션입니다.

  • dbid: 방금 변경된 레코드가 포함된 테이블의 데이터베이스 ID입니다.

  • tableid: 방금 변경된 레코드와 연결된 인덱스 항목에 배치된 커서입니다.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback 또는 NULL에 전달된 컨텍스트 포인터입니다.

  • ulUnused: NULL 콜백에서 오류가 반환되면 무시됩니다.

JET_cbtypBeforeDelete
0x00000020

이 콜백은 JetDelete를 호출하여 테이블의 기존 레코드가 삭제되기 직전에 발생합니다.

이 콜백 이유에 대한 함수 포인터는 JET_TABLECREATE 통해 JetCreateTableColumnIndex에 전달되거나 JetRegisterCallback을 통해 런타임에 구성됩니다. 자세한 내용은 JET_TABLECREATE 또는 JetRegisterCallback을 참조하세요.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: 삭제할 레코드가 있는 세션입니다.

  • dbid: 삭제할 레코드가 포함된 테이블의 데이터베이스 ID입니다.

  • tableid: 삭제할 레코드와 연결된 인덱스 항목에 배치된 커서입니다.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback 또는 NULL에 전달된 컨텍스트 포인터입니다.

  • ulUnused: NULL 콜백에서 오류가 반환되면 콜백을 시작하는 작업이 해당 오류로 인해 실패합니다.

JET_cbtypAfterDelete
0x00000040

이 콜백은 JetDelete 호출에 의해 테이블의 기존 레코드가 삭제된 직후에 발생하지만 JetDelete 가 호출자에게 반환되기 직전에 발생합니다.

이 콜백 이유에 대한 함수 포인터는 JET_TABLECREATE 통해 JetCreateTableColumnIndex에 전달되거나 JetRegisterCallback을 통해 런타임에 구성됩니다. 자세한 내용은 JET_TABLECREATE 또는 JetRegisterCallback을 참조하세요.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: 방금 삭제된 레코드가 있는 세션입니다.

  • dbid: 방금 삭제된 레코드가 포함된 테이블의 데이터베이스 ID입니다.

  • tableid: 방금 삭제된 레코드와 연결된 인덱스 항목에 배치된 커서입니다.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback 또는 NULL에 전달된 컨텍스트 포인터입니다.

  • ulUnused: NULL

콜백에서 오류가 반환되면 무시됩니다.

JET_cbtypUserDefinedDefaultValue
0x00000080

이 콜백은 엔진이 애플리케이션에서 열의 사용자 정의 기본값을 검색해야 할 때 발생합니다. 이 콜백은 기본적으로 애플리케이션에서 평가되는 JetRetrieveColumn 의 제한된 구현입니다. 사용자 정의 기본값에 대해 최대 1개의 열 값을 반환할 수 있습니다.

이 콜백 이유에 대한 함수 포인터는 JET_USERDEFINEDDEFAULT 구조체를 통해 JetAddColumn에 전달되거나 JET_TABLECREATE 구조체의 JET_COLUMNCREATE 구조체에서 JET_USERDEFINEDDEFAULT 구조체를 통해 JetCreateTableColumnIndex에 전달됩니다.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: 사용자 정의 기본값을 계산하는 세션

  • dbid: 사용자가 정의한 기본값을 포함하는 테이블의 데이터베이스 ID입니다.

  • tableid: 사용자가 정의한 기본값이 검색되는 레코드에 배치된 커서입니다.

  • pvArg1: 사용자가 정의한 기본값에 대한 출력 버퍼

  • pvArg2: 입력 시 출력 버퍼의 크기입니다. 출력에서 사용자가 정의한 기본값의 실제 크기입니다. 두 경우 모두 크기는 부호 없는 32비트 정수입니다.

  • pvContext: 열을 만들 때 JET_USERDEFINEDDEFAULT 구조에 지정된 사용자 데이터를 포함하는 버퍼에 대한 포인터이거나 컨텍스트가 제공되지 않은 경우 NULL입니다.

  • ulUnused: 사용자가 정의한 기본값을 검색할 열의 열 ID입니다.

콜백에서 오류가 반환되면 콜백을 시작하는 작업이 해당 오류와 함께 실패합니다.

콜백에서 JET_wrnBufferTruncated 반환되는 경우 작업은 계속되지만 콜백 중에는 전체 값이 검색되지 않습니다.

콜백에서 JET_wrnColumnNull 반환되는 경우 작업은 계속되지만 열에 대해 사용자가 정의한 기본값은 NULL입니다.

JET_cbtypOnlineDefragCompleted
0x00000100

이 콜백은 프로세스가 완료되거나 시간 제한에 도달하여 JetDefragment 에서 시작한 데이터베이스의 온라인 조각 모음이 중지된 경우에 발생합니다.

이 콜백 이유에 대한 함수 포인터는 JetDefragment에 전달됩니다. 자세한 내용은 JetDefragment를 참조하세요.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: 데이터베이스 또는 스트리밍 파일의 JET_sesidNil 대한 온라인 조각 모음을 수행하는 데 사용되는 세션입니다.

  • dbid: 스트리밍 파일의 조각 모음 또는 JET_dbidNil 데이터베이스의 데이터베이스 ID입니다.

  • tableid: JET_tableidNil

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

콜백에서 오류가 반환되면 무시됩니다.

JET_cbtypFreeCursorLS
0x00000200

이 콜백은 애플리케이션이 데이터베이스 엔진에서 해제되는 커서와 연결된 로컬 스토리지에 대한 컨텍스트 핸들을 클린 때 발생합니다. 자세한 내용은 JetSetLS를 참조하세요.

이 콜백 이유에 대한 함수 포인터는 JET_paramRuntimeCallbackJetSetSystemParameter를 통해 구성됩니다.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: JetSetLS를 사용하여 설정된 컨텍스트 핸들

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

콜백에서 오류가 반환되면 무시됩니다.

JET_cbtypFreeTableLS
0x00000400

이 콜백은 애플리케이션이 데이터베이스 엔진에서 해제되는 테이블과 연결된 로컬 스토리지에 대한 컨텍스트 핸들을 정리해야 하므로 발생합니다. 자세한 내용은 JetSetLS를 참조하세요.

이 콜백 이유에 대한 함수 포인터는 JET_paramRuntimeCallbackJetSetSystemParameter를 통해 구성됩니다.

콜백 매개 변수에는 다음 값이 있습니다.

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: JetSetLS를 사용하여 설정된 컨텍스트 핸들입니다.

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

콜백에서 오류가 반환되면 무시됩니다.

요구 사항

요구 사항 값

클라이언트

Windows Vista 또는 Windows XP가 필요합니다.

서버

Windows Server 2008 또는 Windows Server 2003이 필요합니다.

머리글

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

참고 항목

JET_CALLBACK