Функция 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)

См. также раздел

FsRtlPrepareMdlWriteDev