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

コンテナーを削除するタイミングと方法を決定する削除フラグ。

fForceTRUE で、コンテナーがアクティブなログ領域の一部である場合、コンテナーは削除されず、エラー 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

関連項目

AddLogContainer

AddLogContainerSet

一般的なログ ファイル システム関数

OVERLAPPED

RemoveLogContainer