ILog::ReadRecordPrefix メソッド (txlogpub.h)
レコードの最初の部分をログから読み取ります。
構文
HRESULT ReadRecordPrefix(
[in] LSN lsnToRead,
[in, out] LSN *plsnPrev,
[in, out] LSN *plsnNext,
[out] BYTE *pbData,
[in, out] ULONG *pcbData,
[out] ULONG *pcbRecord
);
パラメーター
[in] lsnToRead
読み取るレコードの LSN。
[in, out] plsnPrev
前のレコード (読み取るレコードのすぐ前のレコード) の LSN へのポインター。 前のレコードの LSN が不要な場合は 、NULL を 渡すことができます。 このパラメーターは、ログに以前のレコードがない場合、またはエラーが発生した場合は 0 です。
[in, out] plsnNext
次のレコード (読み取るレコードの直後のレコード) の LSN へのポインター。 次のレコードの LSN が必要ない場合は 、NULL を 渡すことができます。 ログに次のレコードがない場合、このパラメーターは MAXLSN (0x7FFFFFFFFFFFFFFF) です。 エラーが発生した場合、このパラメーターは 0 です。
[out] pbData
レコード データの読み取り先となるバッファーへのポインター。
[in, out] pcbData
入力時のバッファーのサイズ (バイト単位) を含み、戻り時に読み取られたレコード データのサイズ (バイト単位) を含む変数へのポインター。
[out] pcbRecord
戻り値のレコード全体のサイズをバイト単位で格納する変数へのポインター。 レコード全体のサイズが不要な場合は 、NULL を 渡すことができます。
戻り値
このメソッドは、次の値と他の HRESULT 値を返すことができます。
リターン コード | 説明 |
---|---|
|
レコードがログから正常に読み取られました。 |
|
lsnToRead は、ログの現在の制限の範囲外です。 「ILog::GetLogLimits」を参照してください。 |
|
lsnToRead はログの現在の制限内にありますが、ログ内のレコードの LSN ではありません。 |
解説
ILog::AppendRecord を使用してログに追加されたレコードは複数の BLOB から連結できますが、ReadRecordPrefix はレコードを単一の不透明なデータ BLOB として返します。 ILog には、レコードから個々の BLOB を抽出するメソッドはありません。 ReadRecordPrefix によって返されるレコードのデータを解析するのは呼び出し元の責任です。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | txlogpub.h |