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