RemoveLogContainerSet 関数 (clfsw32.h)
専用または多重化されたログ ハンドルに関連付けられているログから複数のコンテナーを削除します。
コンテナーを削除するには、ログ ハンドルに対する管理者特権がクライアントに必要です。 RemoveLogContainer 関数は、コンテナーを 1 つだけ削除するため、この RemoveLogContainerSet 関数の特殊なケースです。 複数のコンテナーを削除するには、 RemoveLogContainerSet を使用します。
構文
CLFSUSER_API BOOL RemoveLogContainerSet(
[in] HANDLE hLog,
[in] USHORT cContainer,
[in] LPWSTR *rgwszContainerPath,
[in] BOOL fForce,
[in, out, optional] LPVOID pReserved
);
パラメーター
[in] hLog
CreateLogFile から取得されたログへのハンドル。
ログ ハンドルには、ログ コンテナーを追加するための管理アクセス許可が必要であり、専用または多重化されたログを参照できます。
[in] cContainer
rgwszContainerPath によって指される配列内のコンテナー パス名の数。
この値は 0 以外である必要があります。
[in] rgwszContainerPath
cContainers ポインターを含むコンテナー パス名へのポインターの配列。
各パス名は、 AddLogContainer または AddLogContainerSet によって作成されたコンテナーを識別するワイド文字列 です。
[in] fForce
コンテナーを削除するタイミングと方法を決定する削除フラグ。
fForce が TRUE で、コンテナーがアクティブなログ領域の一部である場合、コンテナーは削除されず、エラー ERROR_LOG_CANT_DELETEが返されます。
FALSE の場合、コンテナーがアクティブなログ領域の一部ではなくなったときにコンテナーが削除されます。
[in, out, optional] pReserved
予約済み。 pReserved を NULL に設定します。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
次の一覧は、考えられるエラー コードを示しています。
解説
既定では、コンテナーの削除は遅延です。つまり、コンテナーがアクティブ ログに含まれていない場合にのみ削除されます。 コンテナーがアクティブ ログの一部である場合は、削除対象としてマークされます。 この削除は、ログの末尾がコンテナーの最後のセクターを超えるか、コンテナーの論理識別子がアクティブ ログの先頭の論理識別子より大きいまで延期されます。 ログ サイズには、コンテナーが物理的に削除された場合にのみ、コンテナーの削除が反映されます。
ログ クライアントは、削除フラグを TRUE に設定することで、コンテナーに対して強制削除を要求できます。 これは、アクティブ ログに含まれていないコンテナーを削除する場合と同じ効果があります。 ただし、コンテナーがアクティブ ログの一部である場合、呼び出しは失敗し、コンテナーに削除のマークが付けされません。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | clfsw32.h |
Library | Clfsw32.lib |
[DLL] | Clfsw32.dll |