次の方法で共有


ClfsReadLogRecord 関数 (wdm.h)

ClfsReadLogRecord ルーチンは、CLFS ストリーム内のターゲット レコードを読み取り、呼び出し元がストリームの前または後のレコードを読み取るために使用できる読み取りコンテキストを返します。

構文

CLFSUSER_API NTSTATUS ClfsReadLogRecord(
  [in]      PVOID             pvMarshalContext,
  [in, out] PCLFS_LSN         plsnFirst,
  [in]      CLFS_CONTEXT_MODE peContextMode,
  [out]     PVOID             *ppvReadBuffer,
  [out]     PULONG            pcbReadBuffer,
  [out]     PCLFS_RECORD_TYPE peRecordType,
  [out]     PCLFS_LSN         plsnUndoNext,
  [out]     PCLFS_LSN         plsnPrevious,
  [out]     PVOID             *ppvReadContext
);

パラメーター

[in] pvMarshalContext

マーシャリング領域を表す不透明なコンテキストへのポインター。 呼び出し元は、 ClfsCreateMarshallingArea を呼び出して、このポインターを以前に取得しました。

[in, out] plsnFirst

ログ内のターゲット レコードの LSN を提供する CLFS_LSN 構造体へのポインター。

[in] peContextMode

ppvReadContext で返される読み取りコンテキストの初期モード (ClfsContextUndoNext、ClfsContextPrevious、または ClfsContextForward) を指定するCLFS_CONTEXT_MODE列挙の値。

[out] ppvReadBuffer

ターゲット レコードのデータ バッファーへのポインターを受け取る変数へのポインター。

[out] pcbReadBuffer

*ppvReadBuffer が指すバッファーのサイズ (バイト単位) を受け取る ULONG 型の変数へのポインター。 これは、ターゲット レコードのデータ バッファーの長さです。

[out] peRecordType

次のいずれかの値を受け取るCLFS_RECORD_TYPE型の変数へのポインター。

意味
ClfsDataRecord ターゲット レコードはデータ レコードです。
ClfsRestartRecord ターゲット レコードは再起動レコードです。

[out] plsnUndoNext

ターゲット レコードの元 に戻す次の LSN を受け取るCLFS_LSN構造体へのポインター。

[out] plsnPrevious

ターゲット レコードの前の LSN を受け取る CLFS_LSN 構造体へのポインター。

[out] ppvReadContext

不透明な読み取りコンテキストへのポインターを受け取る変数へのポインター。 クライアントは、このコンテキストを ClfsReadNextLogRecord に繰り返し渡して、シーケンス内の残りのレコードを読み取ります。 クライアントは、シーケンス内のすべてのレコードを読み取った後、 ClfsTerminateReadLog を呼び出して読み取りコンテキストを解放します。

戻り値

ClfsReadLogRecord は 、成功した場合STATUS_SUCCESSを返します。それ以外の場合は、Ntstatus.h で定義されているエラー コードのいずれかを返します。

注釈

メモリ リークを回避するには、読み取りコンテキストの使用が完了したら ClfsTerminateReadLog を呼び出す必要があります。

CLFS の概念と用語の詳細については、「 共通ログ ファイル システム」を参照してください。

CLFS ストリームからレコードを読み取る方法については、「CLFS Streamからのデータ レコードの読み取り」および「CLFS Streamからの再開レコードの読み取り」を参照してください。

読み取りコンテキストはスレッド セーフではありません。 クライアントは、読み取りコンテキストへのアクセスをシリアル化する必要があります。

要件

要件
サポートされている最小のクライアント Windows Server 2003 R2、Windows Vista、およびそれ以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header wdm.h (Wdm.h を含む)
Library Clfs.lib
[DLL] Clfs.sys
IRQL <= APC_LEVEL

こちらもご覧ください

ClfsReadNextLogRecord

ClfsTerminateReadLog