次の方法で共有


ClfsMgmtHandleLogFileFull 関数 (wdm.h)

ClfsMgmtHandleLogFileFull ルーチンは、ログでより多くの領域を使用できるようにしようとします。 ログにコンテナーを追加することで、より多くの領域を使用できる場合や、クライアントにログ末尾の移動を求める場合があります。

構文

CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
  [in] CLFS_MGMT_CLIENT Client
);

パラメーター

[in] Client

ログ内の領域を使用可能にするために CLFS 管理を要求しているクライアント。 このパラメーターの値は、ClfsMgmtRegisterManagedClient ルーチンの呼び出しによって取得されるCLFS_MGMT_CLIENT構造体である必要があります。

戻り値

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

リターン コード 説明
STATUS_INVALID_PARAMETER クライアントがログを管理していません。
STATUS_INVALID_PARAMETER_1 Client パラメーターに指定された値が NULL であるか、有効なクライアントを表していません。
STATUS_LOG_FULL_HANDLER_IN_PROGRESS CLFS 管理では、このクライアントのログ ファイルの完全な状態を既に解決しようとしています。
STATUS_UNSUCCESSFUL CLFS 管理で要求を処理できませんでした。
STATUS_PENDING CLFS 管理は、ログにスペースを作成する要求を処理しています。
STATUS_SUCCESS 要求された領域の量は、ログで使用できます。

注釈

ログでより多くの領域を使用できるようにするために、 ClfsMgmtHandleLogFileFull ルーチンは、まず、増加率、新しいコンテナー サイズ、および最大サイズポリシーに従って、ログにコンテナーを追加しようとします。 コンテナーを追加できない場合、 ClfsMgmtHandleLogFileFull ルーチンは、1 つ以上のクライアントの ClfsAdvanceTailCallback 関数を呼び出すことによって、既存の領域の解放を試みます。

ClfsMgmtHandleLogFileFull ルーチンがSTATUS_PENDINGを返す場合、ログに領域を作成する要求が完了すると、クライアントの ClfsLogGrowthCompleteCallback 関数が呼び出されます。

ClfsMgmtHandleLogFileFull ルーチンがSTATUS_LOG_FULL_HANDLER_IN_PROGRESSを返す場合、クライアントはログ ファイルの完全な条件を処理するように CLFS 管理を既に要求しています。 クライアントの ClfsLogGrowthCompleteCallback 関数は 2 回目には呼び出されません。

ClfsMgmtHandleLogFileFull ルーチンがSTATUS_SUCCESSを返した場合、呼び出しは同期的に完了し、クライアントの ClfsLogGrowthCompleteCallback 関数は呼び出されません。

ClfsMgmtHandleLogFileFull ルーチンがSTATUS_PENDINGを返す場合、CLFS 管理はログ内の空き領域を試みている最中であり、ログ ファイルの完全な条件が処理されたときにクライアントの ClfsLogGrowthCompleteCallback 関数を呼び出します。 ログがピン留めされている場合、CLFS 管理は、ClfsMgmtHandleLogFileFull ルーチンがSTATUS_PENDINGを返す前に、LogIsPinned パラメーターを TRUE に設定してクライアントの ClfsLogGrowthCompleteCallback 関数を呼び出します。

クライアントの ClfsLogGrowthCompleteCallback 関数は、ClfsMgmtHandleLogFileFull の呼び出しが返される前に呼び出される可能性があります。

ClfsMgmtHandleLogFileFull ルーチンがSTATUS_PENDINGを返す場合は、クライアントの ClfsLogGrowthCompleteCallback 関数が呼び出されるまで、このクライアントに対して ClfsMgmtHandleLogFileFull ルーチンを再度呼び出さないでください。

要件

要件
対象プラットフォーム デスクトップ
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library Clfs.lib
[DLL] Clfs.sys
IRQL IRQL <= APC_LEVEL

こちらもご覧ください

ClfsAdvanceTailCallback

ClfsLogGrowthCompleteCallback

ClfsMgmtRegisterManagedClient