ClfsMgmtSetLogFileSize 関数 (wdm.h)

ClfsMgmtSetLogFileSize ルーチンは、コンテナーをログに追加するか、ログからコンテナーを削除します。

構文

CLFSUSER_API NTSTATUS ClfsMgmtSetLogFileSize(
  [in]           PLOG_FILE_OBJECT                     LogFile,
  [in]           PULONGLONG                           NewSizeInContainers,
  [out]          PULONGLONG                           ResultingSizeInContainers,
  [in, optional] PCLFS_SET_LOG_SIZE_COMPLETE_CALLBACK CompletionRoutine,
  [in, optional] PVOID                                CompletionRoutineData
);

パラメーター

[in] LogFile

CLFS ログを表す LOG_FILE_OBJECT 構造体、またはコンテナーが追加または削除されるログ内のストリームへのポインター。

[in] NewSizeInContainers

要求されたログ サイズへのポインター。 呼び出し元は、このパラメーターを次のいずれかの値に設定します。

意味
0 最小サイズ ポリシーを適用します。 このポリシーの詳細については、「 ClfsMgmtInstallPolicy」を参照してください。

最小サイズ ポリシーがインストールされていない場合は、次のいずれかが発生します。

  • ログに現在 2 つ未満のコンテナーがある場合、ログは 2 つのコンテナーのサイズに拡張されます。
  • ログに現在 2 つ以上のコンテナーがある場合、変更は行われず、呼び出しは成功します。
最小サイズ ポリシーがインストールされている場合は、次のいずれかが発生します。
  • ログに現在、最小サイズ ポリシーで指定されているコンテナーの最小数より少ない場合、ログはポリシー指定の最小コンテナー数に拡張されます。
  • ログ内のコンテナーの数が、最小サイズ ポリシーで指定されたコンテナーの最小数以上の場合、変更は行われず、呼び出しはエラーなしで成功します。
1 無効な値です。 呼び出しは失敗し、STATUS_INVALID_VALUEを返します。
2 から 1023 コンテナーの数として表される、ログの目的のサイズ。

この数が、インストールされているポリシーで指定されたコンテナーの最小数より小さい場合、呼び出しはERROR_COULD_NOT_RESIZE_LOGで失敗します。

この数が、インストールされているポリシーで指定されたコンテナーの最大数を超える場合、ログはポリシーで指定されたコンテナーの最大数までだけ拡張され、呼び出しはエラーなしで成功します。

1024 から MAXULONG へ 最大サイズ ポリシーがインストールされていない場合、呼び出しは失敗し、ERROR_LOG_POLICY_CONFLICTを返します。

最大サイズ ポリシーがインストールされている場合、ログは最大サイズ ポリシーで指定されたコンテナーの最大数に拡張され、呼び出しはエラーなしで成功します。

 

要求されたサイズとは異なる可能性がある実際のログ サイズを確認するには、 ResultingSizeInContainers パラメーターを使用します。

[out] ResultingSizeInContainers

結果のログ サイズへのポインター。 成功した場合、ルーチンは、ログ内のコンテナーの数として表されるログの実際のサイズを、このパラメーターが指す場所に書き込みます。

[in, optional] CompletionRoutine

使用されていません。 NULL に設定されている。

[in, optional] CompletionRoutineData

使用されていません。 NULL に設定されている。

戻り値

ClfsMgmtSetLogFileSize ルーチンは、次のいずれかの NTSTATUS 値を返します。

リターン コード 説明
STATUS_SUCCESS
ログ ファイルのサイズが設定されています。 ResultingSizeInContainers パラメーターには、ログの現在のサイズが含まれています。
STATUS_UNSUCCESSFUL
CLFS 管理でログ ファイルのサイズを設定できませんでした。
STATUS_INVALID_PARAMETER_1
LogFile パラメーターの値が NULL であるか、NewSizeInContainers パラメーターの内容が 1 です。
STATUS_INVALID_PARAMETER_2
NewSizeInContainers パラメーターの値は NULL です
STATUS_LOG_POLICY_INVALID
ログの最大サイズポリシーと最小サイズポリシーの間に競合があります。
STATUS_COULD_NOT_RESIZE_LOG
CLFS 管理では 、NewSizeInContainers に到達するのに十分なコンテナーを削除できませんでした。
STATUS_LOG_POLICY_CONFLICT
CLFS 管理では、 NewSizeInContainers に到達するのに十分なコンテナーをログに追加できませんでした。 これは、クライアントが設定したポリシーとの競合が原因である可能性があります。
 

このルーチンは、他の NTSTATUS 値も返す場合があります。

注釈

ClfsMgmtSetLogFileSize ルーチンは、通常、クライアントが起動または停止した場合にのみ使用されます。 ClfsAdvanceTailCallback 関数内から ClfsMgmtSetLogFileSize ルーチンを呼び出さないでください。

要件

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

こちらもご覧ください

CLFS_MGMT_POLICY_TYPE

ClfsMgmtInstallPolicy