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 分配的内存描述符列表(MDL)的链接列表的指针。

[ 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 (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDIS(storport)PowerIrpDDis(wdm)

另请参阅

FsRtlPrepareMdlWriteDev