構文
void CcMdlWriteComplete(
[in] PFILE_OBJECT FileObject,
[in] PLARGE_INTEGER FileOffset,
[in] PMDL MdlChain
);
パラメーター
[in] FileObject
ccPrepareMdlWrite
[in] FileOffset
[in] MdlChain
CcPrepareMdlWriteによって返される MDL チェーンのアドレス。
戻り値
何一つ
備考
ファイル システム CcMdlWriteComplete を呼び出して、キャッシュされたファイルの ccPrepareMdlWrite によって作成されたメモリ記述子リスト (MDL) を解放し、指定したバイト範囲を書き込み用にマークします。 ロックダウンされたすべての物理ページのロックが解除されます。 マップされたすべてのページはマップ解除されます。
FileObject パラメーターが指すファイル オブジェクトにFO_WRITE_THROUGH フラグが設定されている場合、ファイル データはすぐにディスクにフラッシュされます。 このフラッシュ操作によってファイル システムが再入力され、CcMdlWriteComplete がフラッシュ操作に失敗した場合に例外が発生する可能性があります。 この場合、MDL は解放されておらず、呼び出し元は操作を再試行できます。
IRP_MN_COMPLETE操作
CcMdlWriteCompleteを使用する前に、ファイル システム開発者は FASTFAT サンプルでこのルーチンを使用する方法を検討することを強くお勧めします。
ccPrepareMdlWrite を
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
関連項目
ccMdlWriteAbort を
ccPrepareMdlWrite の