ClfsAddLogContainerSet 関数 (wdm.h)

ClfsAddLogContainerSet ルーチンは、一連のコンテナーを CLFS ログにアトミックに追加します。

構文

CLFSUSER_API NTSTATUS ClfsAddLogContainerSet(
  [in]           PLOG_FILE_OBJECT plfoLog,
  [in]           USHORT           cContainers,
  [in, optional] PULONGLONG       pcbContainer,
  [in]           PUNICODE_STRING  rguszContainerPath
);

パラメーター

[in] plfoLog

コンテナーが追加されるログを表す LOG_FILE_OBJECT 構造体へのポインター。 呼び出し元は、以前に ClfsCreateLogFile を呼び出してこのポインターを取得しました。

[in] cContainers

セット内のコンテナーの数。 これは、 rguszContainerPath 配列内の要素の数です。

[in, optional] pcbContainer

ULONGLONG 型の変数へのポインター。 このパラメーターのロールは、ログに現在少なくとも 1 つのコンテナーがあるかどうかによって異なります。

  • ログに現在コンテナーがない場合、呼び出し元は、個々のコンテナーの要求されたサイズ (バイト単位) である正の整数を提供します。 CLFS は、要求されたサイズが 512 KB (専用ログの場合) または 1 MB (多重化されたログの場合) の倍数に切り上げられたコンテナーを作成します。
  • ログに現在少なくとも 1 つのコンテナーがあり、このパラメーターが NULL ポインターである場合、CLFS は既存のコンテナーと同じサイズの新しいコンテナーを作成します。 (ログ内のすべてのコンテナーのサイズは同じである必要があります)。
  • ログに現在少なくとも 1 つのコンテナーがあり、このパラメーターが有効なポインターである場合、呼び出し元は、個々のコンテナーの要求されたサイズ (バイト単位) である正の整数を提供します。 要求されたサイズは、512 KB (専用ログの場合) または 1 MB (共有ログの場合) の倍数に切り上げられます。 切り上げサイズが既存のコンテナー サイズと同じ大きさ以上の場合、CLFS は既存のコンテナーと同じサイズの新しいコンテナーを作成します。 正常に戻った場合、このパラメーターは既存のコンテナー サイズを受け取ります。 切り上げサイズが既存のコンテナー サイズより小さい場合、 ClfsAddLogContainerSet は失敗します。

[in] rguszContainerPath

UNICODE_STRING構造体の配列へのポインター。 各文字列は、新しいコンテナーの 1 つのパス名を指定します。 配列内の要素の数は cContainers によって指定されます。 特定のパスは、絶対パスでも、ベース ログ ファイルの場所に対する相対パスでもかまいません。 基本ログ ファイルを基準とするパスは、文字列リテラル (L"%BLF%\") である CLFS_CONTAINER_RELATIVE_PREFIX で始まる必要があります。

戻り値

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

注釈

コンテナーは、安定したストレージ上の連続したエクステントです。 たとえば、コンテナーはディスク上の連続したファイルである可能性があります。 ログは、ベース ログ ファイルと共にコンテナーのセットです。 コンテナーの詳細については、「 CLFS 安定ストレージ」を参照してください。

ベース ログ ファイルに対する相対パスで指定されたコンテナーは、ベース ログ ファイルまたはベース ログ ファイルのサブディレクトリと同じディレクトリに存在する必要があります。 ディレクトリ "." と ".." は相対パスでは使用できません。

ログには、絶対パスを持つコンテナーと、相対パスを持つ他のコンテナーを含めることができます。

コンテナーは非圧縮モードで作成され、ゼロで初期化されます。

ログに対して I/O を実行するには、少なくとも 2 つのコンテナーが必要です。

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

要件

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

こちらもご覧ください

ClfsAddLogContainer

ClfsRemoveLogContainerSet