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 (ゼロ) に設定する必要があります。それ以外の場合は使用されません。 これは、将来の機能のために存在します。
InfoLevel
0 (ゼロ) に設定する必要があります。それ以外の場合は使用されません。 これは、将来の機能のために存在します。
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errClientRequestToStopJetService |
JetStopService の呼び出しの結果、セッションに関連付けられたインスタンス上のすべてのアクティビティが停止したため、操作を完了することはできません。 |
JET_errInstanceUnavailable |
セッションに関連付けられているインスタンスで致命的なエラーが発生したため、操作を完了できません。このエラーでは、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要があります。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errInvalidParameter |
cbMax が 0 (ゼロ) ではないか、InfoLevel が 0 (ゼロ) ではありません。 |
JET_errNoCurrentRecord |
カーソルは現在レコード上に存在せず、結果として論理レコードの情報を返すことができません。 |
JET_errNotInitialized |
セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。 |
JET_errRestoreInProgress |
セッションに関連付けられているインスタンスで復元操作が進行中であるため、操作を完了できません。 |
JET_errSessionSharingViolation |
同じセッションを複数のスレッドに同時に使用することはできません。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errTermInProgress |
セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。 |
JET_errWriteConflict |
カーソルの現在のレコードが別のセッションによって更新され、このセッションによってこのレコードが更新されると、書き込み競合が発生します。 |
成功した場合、この操作はカーソルの位置には影響しませんが、このレコードを現在更新しているセッションが他にないことを示すだけです。
エラーが発生した場合、負のエラー コードが返された場合、カーソルまたはデータベースに影響はありません。
解説
この操作は、カーソルまたはデータの状態には影響しません。 呼び出し元のセッションによる現在のレコードの更新がJET_errWriteConflictになることがわかっているか、またはJET_errWriteConflictを返すために不明であるかを示すエラー コードのみが返されます。 別のセッションがこのレコードを既に更新して使用している場合、このセッションによるこのレコードの更新によって書き込みの競合が発生することが確実です。 これは、このセッションがトランザクションをコミットするか、トランザクション レベル 0 (ゼロ) にロールバックするまで当てはまります。 ただし、 JetGetCursorInfo がJET_errSuccessを返した場合でも、現在のセッションの前に別のセッションがこのレコードを更新する可能性があるため、現在のトランザクションでこのセッションによって現在のレコードが更新されると、書き込み競合が発生する可能性があります。
必要条件
要件 | 値 |
---|---|
Client |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
[サーバー] |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
参照
JET_ERR
JET_SESID
JET_TABLEID
JetGetLock
JetPrepareUpdate
JetStopService
JetUpdate