適用対象: Windows |Windows Server
JetGetRecordSize2 関数
JetGetRecordSize2 関数は、目的の場所からレコード サイズ情報を取得します。
Windows 7: JetGetRecordSize2 は、Windows 7 オペレーティング システムで導入されています。
JET_ERR JET_API JetGetRecordSize2(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out JET_RECSIZE2* precsize,
__in const JET_GRBIT grbit
);
パラメーター
sesid
API 呼び出しに使用されるデータベース セッション コンテキストを識別します。
tableid
API 呼び出しに使用されるテーブルまたはカーソルを識別します。 カーソルはレコード上に配置するか、更新プログラムを準備する必要があります。
precsize
JET_RECSIZE2構造体の出力バッファーへのポインター。
grbit
これは、次の 1 つ以上の値です。
値 |
説明 |
|---|---|
JET_bitRecordSizeInCopyBuffer |
これにより、更新用に準備されたコピー バッファー内にあるレコードのサイズが取得されます。 それ以外の場合は、 tableid またはカーソルをレコードに配置する必要があり、そのレコードが使用されます。 |
JET_bitRecordSizeRunningTotal |
このビットを指定すると、コンテンツを入力する前に JET_RECSIZE2 がゼロになりません。これは、アクセスまたは更新された複数のレコードの統計の蓄積として効果的に機能します。 |
JET_bitRecordSizeLocal |
これにより、API は組み込み以外の長い値を無視します。 たとえば、ページ上のローカル レコードのみが使用されます。 |
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
|---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errInvalidGrbit |
要求されたオプションの 1 つが無効であるか、実装されていませんでした。 無効な grbit が指定されている場合、このエラーは JetGetRecordSize2 関数によって返されます。 |
JET_errNotInitialized |
セッションに関連付けられているインスタンスが初期化されていないため、操作を完了できません。 |
JET_errClientRequestToStopJetService |
JetStopService の呼び出しの結果、セッションに関連付けられたインスタンス上のすべてのアクティビティが停止したため、操作を完了することはできません。 |
JET_errInstanceUnavailable |
セッションに関連付けられているインスタンスで致命的なエラーが発生したため、操作を完了できません。このエラーでは、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要があります。 Windows XP: JET_errInstanceUnavailableは、Windows XP オペレーティング システム以降のバージョンの Windows でのみ返されます。 |
JET_errTermInProgress |
セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。 |
JET_errRestoreInProgress |
セッションに関連付けられているインスタンスで復元操作が進行中であるため、操作を完了できません。 |
JET_errSessionSharingViolation |
複数のスレッドで同じセッションを同時に使用することは無効です。 Windows XP: JET_errInstanceUnavailableは、Windows XP 以降のバージョンの Windows でのみ返されます。 |
JET_errNoCurrentRecord |
これは、カーソルが正しく配置されていない場合に発生する可能性があります。 |
JET_errRecordDeleted |
カーソルがトランザクションに配置されていない場合は、別のスレッドがこのセッションの下からレコードを削除した場合に発生する可能性があります。 |
JET_errInvalidParameter |
これは、NULLプリサイズが渡された場合に返すことができます。 |
解説
JET_RECSIZE2の cbOverhead フィールドに蓄積されたキーのサイズは、JET_bitRecordSizeInCopyBufferの影響を受けます。 このビットを指定した場合、 cbOverhead フィールドに累積されるキー・サイズは、完全なキー・サイズになります。 このビットを使用しない場合、蓄積されたキー サイズには、キー プレフィックスの圧縮のために保存されたサイズは含まれません。
必要条件
| 要件 | 値 |
|---|---|
Client |
Windows Vista が必要です。 |
[サーバー] |
Windows Server 2008 が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |