次の方法で共有


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 ストリーム からのデータ レコードの読み取り」および「CLFS ストリーム からの再開レコードの読み取り」を参照してください。

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

必要条件

要件 価値
サポートされる最小クライアント Windows Server 2003 R2、Windows Vista、およびそれ以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー wdm.h (Wdm.h を含む)
ライブラリ Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

関連項目

clfsReadNextLogRecord

ClfsTerminateReadLog