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 |