JetRegisterCallback 함수
적용 대상: Windows | Windows Server
JetRegisterCallback 함수
JetRegisterCallback 함수를 사용하면 애플리케이션이 특정 이벤트에 대한 알림을 애플리케이션에 발급하도록 데이터베이스 엔진을 구성할 수 있습니다. 이러한 알림은 특정 테이블과 연결되며 JetTerm을 사용하여 테이블을 포함하는 instance 종료될 때까지만 적용됩니다.
Windows XP: JetRegisterCallback 은 Windows XP에 도입되었습니다.
JET_ERR JET_API JetRegisterCallback(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_CBTYP cbtyp,
__in JET_CALLBACK pCallback,
__in void* pvContext,
__out JET_HANDLE* phCallbackId
);
매개 변수
sesid
이 호출에 사용할 세션입니다.
tableid
이 호출에 사용할 커서입니다.
cbtyp
애플리케이션이 알림을 수신하려는 콜백 이유로 구성된 비트 마스크입니다.
이 비트 마스크를 만들려면 JET_CBTYP 열거형의 유효한 콜백 이유를 간단히 또는 함께 만듭니다.
pCallback
애플리케이션의 콜백 함수에 대한 함수 포인터입니다.
pvContext
애플리케이션의 콜백 함수에 제공될 컨텍스트 포인터를 지정합니다.
phCallbackId
나중에 JetUnregisterCallback을 사용하여 지정된 콜백 함수의 등록을 취소하는 데 사용할 수 있는 핸들을 반환합니다.
반환 값
이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류 및 오류 처리 매개 변수를 참조하세요.
반환 코드 |
설명 |
---|---|
JET_errSuccess |
작업이 성공적으로 완료되었습니다. |
JET_errClientRequestToStopJetService |
JetStopService 호출로 인해 세션과 연결된 instance 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다. |
JET_errInstanceUnavailable |
세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 심각한 오류가 발생하여 작업을 완료할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다. |
JET_errInvalidParameter |
제공된 매개 변수 중 하나에 예기치 않은 값이 포함되어 있거나 다른 매개 변수의 값과 결합할 때 의미가 없는 값이 포함되어 있습니다. 이 오류는 다음과 같은 경우 JetRegisterCallback 에서 반환됩니다.
|
JET_errNotInitialized |
세션과 연결된 instance 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다. |
JET_errRestoreInProgress |
세션과 연결된 instance 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다. |
JET_errSessionSharingViolation |
두 개 이상의 스레드에 대해 동시에 동일한 세션을 사용할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다. |
JET_errTermInProgress |
세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다. |
성공하면 지정된 콜백 이유로 지정된 커서와 연결된 테이블에 지정된 콜백이 등록됩니다. 데이터베이스 상태는 변경되지 않습니다.
실패 시 콜백이 등록되지 않습니다. 데이터베이스 상태는 변경되지 않습니다.
설명
이 메서드는 애플리케이션이 휘발성 콜백을 데이터베이스의 테이블과 연결할 수 있는 수단을 제공합니다. 애플리케이션이 지속형 콜백을 데이터베이스의 테이블과 연결하려는 경우 JetCreateTableColumnIndex를 사용하여 콜백을 JET_TABLECREATE 전달해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows Vista 또는 Windows XP가 필요합니다. |
서버 |
Windows Server 2008 또는 Windows Server 2003이 필요합니다. |
머리글 |
Esent.h에서 선언되었습니다. |
라이브러리 |
ESENT.lib를 사용합니다. |
DLL |
ESENT.dll 필요합니다. |
참고 항목
JET_CALLBACK
JET_CBTYP
JET_ERR
JET_HANDLE
JET_SESID
JET_TABLEID
JetCreateTableColumnIndex
JetTerm
JetUnregisterCallback
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기