次の方法で共有


JetGetRecordSize 関数

適用対象: Windows |Windows Server

JetGetRecordSize 関数

JetGetRecordSize 関数は、目的の場所からレコード サイズ情報を取得します。

Windows Vista: JetGetRecordSize は Windows Vista で導入されています。

    JET_ERR JET_API JetGetRecordSize(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         JET_RECSIZE* precsize,
      __in          const JET_GRBIT grbit
    );

パラメーター

sesid

API 呼び出しに使用されるデータベース セッション コンテキストを識別します。

tableid

API 呼び出しに使用されるテーブルまたはカーソルを識別します。 カーソルはレコード上に配置するか、更新プログラムを準備する必要があります。

precsize

JET_RECSIZE構造体の出力バッファーへのポインター。

grbit

これは、次の値のうちの 1 つ以上です。

説明

JET_bitRecordSizeInCopyBuffer

これにより、更新用に準備されたコピー バッファー内にあるレコードのサイズが取得されます。 それ以外の場合は、 tableid またはカーソルをレコードに配置する必要があり、そのレコードが使用されます。

JET_bitRecordSizeRunningTotal

このビットを指定した場合、 コンテンツ を入力する前にJET_RECSIZEはゼロになりません。これは、アクセスまたは更新された複数のレコードの統計の蓄積として効果的に機能します。

JET_bitRecordSizeLocal

これにより、API は組み込み以外の長い値を無視します。 たとえば、ページ上のローカル レコードのみが使用されます。

戻り値

この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラーエラー処理パラメーター」を参照してください。

リターン コード

説明

JET_errSuccess

操作は正常に完了しました。

JET_errInvalidGrbit

要求されたオプションの 1 つが無効であるか、実装されていません。 無効な grbit が指定されている場合、このエラーは JetGetRecordSize 関数によって返されます。

JET_errNotInitialized

セッションに関連付けられているインスタンスが初期化されていないため、操作を完了できません。

JET_errClientRequestToStopJetService

JetStopService の呼び出しの結果、セッションに関連付けられたインスタンスのすべてのアクティビティが停止したため、操作を完了できません。

JET_errInstanceUnavailable

セッションに関連付けられているインスタンスで、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要がある致命的なエラーが発生したため、操作を完了できません。

Windows XP: JET_errInstanceUnavailableは、Windows XP 以降のリリースでのみ返されます。

JET_errTermInProgress

セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。

JET_errRestoreInProgress

セッションに関連付けられているインスタンスで復元操作が進行中のため、操作を完了できません。

JET_errSessionSharingViolation

複数のスレッドから同じセッションを同時に使用することは無効です。

Windows XP: JET_errInstanceUnavailableは、Windows XP 以降のリリースでのみ返されます。

JET_errNoCurrentRecord

これは、カーソルが正しく配置されていない場合に発生する可能性があります。

JET_errRecordDeleted

カーソルがトランザクション内に配置されていない場合は、別のスレッドがこのセッションの下からレコードを削除した場合に発生する可能性があります。

JET_errInvalidParameter

これは、NULL事前サイズが渡された場合に返すことができます。

解説

JET_RECSIZEの cbOverhead フィールドに蓄積された キーのサイズは、JET_bitRecordSizeInCopyBufferの影響を受ける。 このビットを指定した場合、 cbOverhead フィールドに累積されるキー・サイズはフル・キー・サイズになります。 このビットを使用しない場合、蓄積されたキー サイズには、キー プレフィックスの圧縮のために保存されたサイズは含まれません。

必要条件

要件

Client

Windows Vista が必要です。

[サーバー]

Windows Server 2008 が必要です。

Header

Esent.h で宣言されています。

Library

ESENT.lib を使用します。

[DLL]

ESENT.dllが必要です。

参照

JET_ERR
JET_GRBIT
JET_SESID
JET_RECSIZE
JET_TABLEID