次の方法で共有


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 を返し、操作が失敗した場合、またはFO_WRITE_THROUGH フラグがファイル オブジェクトに設定されている場合に FALSE を します。

備考

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

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

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

必要条件

要件 価値
サポートされる最小クライアント Windows 8 以降で使用できます。
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 を する HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

関連項目

FsRtlPrepareMdlWriteDev