Функция 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
Указатель на объект file.
[in] FileOffset
Указатель на значение, указывающее смещение начального байта в кэше, в котором хранятся данные.
[in] MdlChain
Указатель на связанный список списков дескрипторов памяти (MDL), выделенных FsRtlPrepareMdlWriteDev .
[ in, optional ] DeviceObject
Указатель на объект устройства, в котором открыт файл.
Возвращаемое значение
Подпрограмма FsRtlMdlWriteCompleteDev возвращает значение TRUE , если операция выполнена успешно, и FALSE в случае сбоя операции или если в объекте файла установлен флаг FO_WRITE_THROUGH.
Комментарии
Подпрограмма FsRtlMdlWriteCompleteDev освобождает списки дескрипторов памяти ,выделенные FsRtlPrepareMdlWriteDev , и разблокирует кэш-память, заблокированную FsRtlPrepareMdlWriteDev .
Если флаг FO_WRITE_THROUGH установлен для объекта файла, на который указывает параметр FileObject , FsRtlMdlWriteCompleteDev немедленно сбрасывает кэшированную память на диск. Эта операция очистки повторно входит в файловую систему и может привести к тому , что функция FsRtlMdlWriteCompleteDev вызовет исключение в случае сбоя операции очистки.
За каждым вызовом FsRtlPrepareMdlWriteDev должен следовать вызов FsRtlMdlWriteCompleteDev.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |