ClfsAddLogContainer 関数 (wdm.h)
ClfsAddLogContainer ルーチンは、CLFS ログにコンテナーを追加します。
構文
CLFSUSER_API NTSTATUS ClfsAddLogContainer(
[in] PLOG_FILE_OBJECT plfoLog,
[in] PULONGLONG pcbContainer,
[in] PUNICODE_STRING puszContainerPath
);
パラメーター
[in] plfoLog
コンテナーが追加されるログを表す LOG_FILE_OBJECT 構造体へのポインター。 呼び出し元は、 以前に ClfsCreateLogFile を呼び出してこのポインターを取得しました。
[in] pcbContainer
ULONGLONG 型の変数へのポインター。 このパラメーターのロールは、ログに現在少なくとも 1 つのコンテナーがあるかどうかによって異なります。
- ログに現在コンテナーがない場合、呼び出し元は、新しいコンテナーの要求されたサイズ (バイト単位) である正の整数を提供します。 CLFS は、要求されたサイズを 512 KB (専用ログの場合) または 1 MB (多重化されたログの場合) の倍数に切り上げたコンテナーを作成します。
- ログに現在少なくとも 1 つのコンテナーがあり、このパラメーターが NULL ポインターである場合、CLFS は既存のコンテナーと同じサイズの新しいコンテナーを作成します。 (ログ内のすべてのコンテナーは同じサイズである必要があります)。
- ログに現在少なくとも 1 つのコンテナーがあり、このパラメーターが有効なポインターである場合、呼び出し元は、新しいコンテナーの要求されたサイズ (バイト単位) である正の整数を提供します。 要求されたサイズは、512 KB (専用ログの場合) または 1 MB (多重化されたログの場合) の倍数に切り上げられます。 切り上げサイズが少なくとも既存のコンテナー サイズと同じ大きさの場合、CLFS は既存のコンテナーと同じサイズの新しいコンテナーを作成します。 正常に戻った場合、このパラメーターは既存のコンテナー サイズを受け取ります。 切り上げサイズが既存のコンテナー サイズより小さい場合、 ClfsAddLogContainer は 失敗します。
[in] puszContainerPath
新しいコンテナーのパス名を指定する UNICODE_STRING 構造体へのポインター。 パスは、基本ログ ファイルの場所に対して絶対パスまたは相対パスにすることができます。 基本ログ ファイルに対する相対パスは、文字列リテラル (L"%BLF%\") である CLFS_CONTAINER_RELATIVE_PREFIX で始まる必要があります。
戻り値
ClfsAddLogContainer は 、成功した場合STATUS_SUCCESSを返します。それ以外の場合は、Ntstatus.h で定義されているエラー コードのいずれかを返します。
注釈
コンテナーは、安定ストレージ上の連続したエクステントです。 たとえば、コンテナーはディスク上の連続したファイルである可能性があります。 ログは、ベース ログ ファイルと共にコンテナーのセットです。 コンテナーの詳細については、「 CLFS Stable Storage」を参照してください。
ベース ログ ファイルに対する相対パスで指定されたコンテナーは、ベース ログ ファイルまたはベース ログ ファイルのサブディレクトリと同じディレクトリに存在する必要があります。 ディレクトリ "." と ".." は相対パスでは使用できません。
ログには、絶対パスを持つコンテナーと、相対パスを持つ他のコンテナーを含めることができます。
コンテナーは非圧縮モードで作成され、ゼロで初期化されます。
ログに対して 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 |