AddLogContainerSet 関数 (clfsw32.h)
呼び出し元のプロセスがログ ハンドルにアクセスできる場合は、ログ ハンドルに関連付けられている物理ログに複数のログ コンテナーを追加します。 コンテナーを追加すると、クライアントはログのサイズを増やすことができます。
構文
CLFSUSER_API BOOL AddLogContainerSet(
[in] HANDLE hLog,
[in] USHORT cContainer,
[in, optional] PULONGLONG pcbContainer,
[in] LPWSTR *rgwszContainerPath,
[in, out, optional] LPVOID pReserved
);
パラメーター
[in] hLog
ログ コンテナーを追加するためのアクセス許可を持つ CreateLogFile から取得された開いているログへのハンドル。
ファイルは専用にすることも、多重化することもできます。
[in] cContainer
rgwszContainerPath 配列内のコンテナーの数。
この値は 0 以外である必要があります。 ログに対して I/O を実行するには、少なくとも 2 つのコンテナーが必要です。
[in, optional] pcbContainer
コンテナーのサイズ (バイト単位)。
最小サイズは、通常のログの場合は 512 KB、多重化されたログの場合は 1024 KB です。 最大サイズは約 4 ギガバイト (GB) です。
コンテナーが新しく作成されたログに追加される場合は、このパラメーターが必要です。 コンテナーが既に作成されている場合、このパラメーターは NULL、または最初のコンテナーのサイズと少なくとも同じ大きさの値にすることができます。
ログ コンテナーのサイズは、ログ領域サイズ (512 KB) の倍数です。 新しいファイルにコンテナーを追加すると、 AddLogContainer 関数はコンテナーのサイズを次の 512 KB の境界に切り上げ、そのサイズを pcbContainer が指す値で返します。
同様に、ログに少なくとも 1 つのコンテナーがあり、 *pcbContainer の値が現在のコンテナー サイズと少なくとも同じ大きさである場合、関数は現在の内部サイズを持つすべてのコンテナーを作成し、そのサイズを *pcbContainer で返します。
[in] rgwszContainerPath
コンテナーの cContainer パス名の配列。
配列内の各要素は、ログ ボリューム内の新しいコンテナーの有効なパスを含むワイド文字列です。
[in, out, optional] pReserved
予約済み。 [予約済み] を NULL に設定します。
戻り値
関数が成功した場合、戻り値は 0 以外です。これは、すべてのコンテナーがログに正常に追加されたことを示します。
関数が失敗した場合、戻り値は 0 で、どのコンテナーも追加されていないことを示します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
次の一覧は、考えられるエラー コードを示しています。
注釈
AddLogContainerSet 関数はアトミックではありません。 たとえば、無効なパス名によって操作が中断された場合、 AddLogContainerSet の呼び出しはエラーを返しますが、一部のコンテナーが作成されている可能性があります。 たとえば、追加されたコンテナーを決定するなどして、アプリケーションはこのエラーから回復する必要があります。
AddLogContainerSet は複数のコンテナーを追加するため、AddLogContainer を繰り返し呼び出すよりも効率的です。これは、1 つのコンテナーのみを追加します。
コンテナーは非圧縮モードで作成および開き、作成時に 0 (ゼロ) で初期化されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | clfsw32.h |
Library | Clfsw32.lib |
[DLL] | Clfsw32.dll |