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