CcDeferWrite 関数 (ntifs.h)

CcDeferWrite ルーチンは、キャッシュされたファイルへの書き込みを延期します。 指定されたポスト ルーチンは、書き込み操作に対応できる場合にキャッシュ マネージャーによって呼び出されます。

構文

void CcDeferWrite(
  [in] PFILE_OBJECT            FileObject,
  [in] PCC_POST_DEFERRED_WRITE PostRoutine,
  [in] PVOID                   Context1,
  [in] PVOID                   Context2,
  [in] ULONG                   BytesToWrite,
  [in] BOOLEAN                 Retrying
);

パラメーター

[in] FileObject

データの書き込み先となるキャッシュされたファイルのファイル オブジェクトへのポインター。

[in] PostRoutine

キャッシュ・マネージャーがキャッシュ・ファイルへの書き込みを呼び出すルーチンのアドレス。 CcCanIWrite が FALSE を返した直後であっても、このルーチンがすぐに呼び出される可能性があることに注意してください

post ルーチンは ntifs.h で次のように定義されます。

typedef
VOID (*PCC_POST_DEFERRED_WRITE) (
    _In_ PVOID Context1,
    _In_ PVOID Context2
    );

[in] Context1

PostRoutine の post ルーチンの最初のパラメーター。

[in] Context2

PostRoutine の post ルーチンの 2 番目のパラメーター。

[in] BytesToWrite

書き込まれるデータのバイト数。

[in] Retrying

要求が初めて投稿される場合は FALSE 、それ以外の場合は TRUE に設定します。

戻り値

なし

解説

ファイル システムは通常 、CcCanIWrite から FALSE の戻り値を受け取った後 に CcDeferWrite を呼び出します。

ファイルをキャッシュするには、 CcInitializeCacheMap を使用します

PostRoutine に渡されるコンテキスト パラメーターは、通常、I/O 要求と関連するコンテキスト データです。

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe

こちらもご覧ください

CcCanIWrite

CcInitializeCacheMap

CcSetDirtyPageThreshold