FsRtlMdlWriteCompleteDev 関数 (ntifs.h)

FsRtlMdlWriteCompleteDev ルーチンは、FsRtlPrepareMdlWriteDev が割り当てたリソースを解放します。

構文

BOOLEAN FsRtlMdlWriteCompleteDev(
  [in]             PFILE_OBJECT   FileObject,
  [in]             PLARGE_INTEGER FileOffset,
  [in]             PMDL           MdlChain,
  [ in, optional ] PDEVICE_OBJECT DeviceObject
);

パラメーター

[in] FileObject

ファイル オブジェクトへのポインター。

[in] FileOffset

データを保持するキャッシュ内の開始バイト オフセットを指定する値へのポインター。

[in] MdlChain

FsRtlPrepareMdlWriteDev が割り当てたメモリ記述子リスト (MDLs) のリンクされたリストへのポインター。

[ in, optional ] DeviceObject

ファイルを開くデバイス オブジェクトへのポインター。

戻り値

FsRtlMdlWriteCompleteDev ルーチンは、操作が成功した場合は TRUE、操作が失敗した場合は FALSE、ファイル オブジェクトにFO_WRITE_THROUGH フラグが設定されている場合は FALSE を返します。

注釈

FsRtlMdlWriteCompleteDev ルーチンは、FsRtlPrepareMdlWriteDev が割り当てたメモリ記述子リスト (MDL) を解放し、FsRtlPrepareMdlWriteDev がロックされているキャッシュ メモリのロックを解除します。

FileObject パラメーターが指すファイル オブジェクトに対して FO_WRITE_THROUGH フラグが設定されている場合、FsRtlMdlWriteCompleteDev はキャッシュされたメモリをすぐにディスクにフラッシュします。 このフラッシュ操作によってファイル システムが再入力され、フラッシュ操作が失敗した場合に FsRtlMdlWriteCompleteDev によって 例外が発生する可能性があります。

FsRtlPrepareMdlWriteDev の各呼び出しの後に、FsRtlMdlWriteCompleteDev の呼び出しが続く必要があります。

要件

要件
サポートされている最小のクライアント Windows 8以降で使用できます。
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

こちらもご覧ください

FsRtlPrepareMdlWriteDev