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) |