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 |