다음을 통해 공유


JetGetCursorInfo 함수

적용 대상: Windows | Windows Server

JetGetCursorInfo 함수

JetGetCursorInfo 함수는 커서의 현재 레코드를 업데이트하면 레코드의 현재 업데이트 상태 따라 쓰기 충돌이 발생하는지 여부를 결정하는 데 사용됩니다. 현재 세션이 동일한 레코드를 업데이트하기 전에 다른 세션이 레코드를 업데이트할 수 있으므로 JetGetCursorInfo 가 JET_errSuccess 반환하더라도 쓰기 충돌이 궁극적으로 반환될 수 있습니다.

    JET_ERR JET_API JetGetCursorInfo(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

매개 변수

sesid

이 호출에 사용할 세션입니다.

tableid

이 호출에 사용할 커서입니다.

pvResult

다음에 사용하도록 예약됩니다.

cbMax

0(0)으로 설정해야 합니다. 그렇지 않으면 사용되지 않습니다. 향후 기능을 위해 제공됩니다.

InfoLevel

0(0)으로 설정해야 합니다. 그렇지 않으면 사용되지 않습니다. 향후 기능을 위해 제공됩니다.

반환 값

이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류오류 처리 매개 변수를 참조하세요.

반환 코드

설명

JET_errSuccess

작업이 성공적으로 완료되었습니다.

JET_errClientRequestToStopJetService

JetStopService 호출로 인해 세션과 연결된 instance 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다.

JET_errInstanceUnavailable

세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 심각한 오류가 발생하여 작업을 완료할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다.

JET_errInvalidParameter

cbMax가 0이 아니거나 InfoLevel이 0이 아닙니다.

JET_errNoCurrentRecord

커서가 현재 레코드에 없으므로 논리적 레코드에 대한 정보를 반환할 수 없습니다.

JET_errNotInitialized

세션과 연결된 instance 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다.

JET_errRestoreInProgress

세션과 연결된 instance 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다.

JET_errSessionSharingViolation

동시에 둘 이상의 스레드에 동일한 세션을 사용할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다.

JET_errTermInProgress

세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다.

JET_errWriteConflict

커서의 현재 레코드가 다른 세션에 의해 업데이트되었으며 이 세션에서 이 레코드를 업데이트하면 쓰기 충돌이 발생합니다.

성공하면 이 작업은 커서의 위치에 영향을 주지 않지만 현재 이 레코드를 업데이트한 다른 세션이 없음을 나타냅니다.

실패 시 음수 오류 코드가 반환되면 커서나 데이터베이스에 아무런 영향이 없습니다.

설명

이 작업은 커서 또는 데이터의 상태에 영향을 주지 않습니다. 호출 세션에 의한 현재 레코드 업데이트가 JET_errWriteConflict 발생시키는 것으로 알려져 있는지 또는 JET_errWriteConflict 반환할 수 없는지 여부를 설명하는 오류 코드만 반환합니다. 다른 세션에서 이 레코드를 사용하도록 이미 업데이트한 경우 이 세션에서 이 레코드를 업데이트하면 쓰기 충돌이 발생할 수 있습니다. 이 세션은 트랜잭션을 커밋하거나 트랜잭션 수준 0으로 롤백할 때까지 적용됩니다. 그러나 JetGetCursorInfo 가 JET_errSuccess 반환하는 경우에도 다른 세션에서 현재 세션 전에 이 레코드를 업데이트할 수 있으므로 현재 트랜잭션에서 이 세션의 현재 레코드를 업데이트하면 쓰기 충돌이 발생할 수 있습니다.

요구 사항

요구 사항

클라이언트

Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다.

서버

Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다.

머리글

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

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

참고 항목

JET_ERR
JET_SESID
JET_TABLEID
JetGetLock
JetPrepareUpdate
JetStopService
JetUpdate