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 分配) 的内存描述符列表 (MdlWriteDev,并解锁 FsRtlPrepareMdlWriteDev 锁定的缓存内存。

如果在 FileObject 参数指向的文件对象上设置了FO_WRITE_THROUGH标志, FsRtlMdlWriteCompleteDev 会立即将缓存的内存刷新到磁盘。 此刷新操作会重新进入文件系统,如果刷新操作失败,可能会导致 FsRtlMdlWriteCompleteDev 引发异常。

每次调用 FsRtlPrepareMdlWriteDev 后,都必须调用 FsRtlMdlWriteCompleteDev

要求

要求
最低受支持的客户端 从Windows 8开始可用。
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) PowerIrpDDis (wdm)

另请参阅

FsRtlPrepareMdlWriteDev