Поделиться через


Функция MmDoesFileHaveUserWritableReferences (ntifs.h)

Функция MmDoesFileHaveUserWritableReferences определяет, имеет ли файл, связанный с транзакцией, любые разделы, сопоставленные пользователем.

Синтаксис

ULONG MmDoesFileHaveUserWritableReferences(
  [in] PSECTION_OBJECT_POINTERS SectionPointer
);

Параметры

[in] SectionPointer

Указатель на структуру SECTION_OBJECT_POINTERS, содержащую указатели объекта раздела файла. Этот параметр является обязательным и не может быть null.

Возвращаемое значение

MmDoesFileHaveUserWritableReferences возвращает одно из следующих значений.

Возвращаемое значение Значение
0 Объект файла не имеет разделов, сопоставленных пользователем. Это безопасно для продолжения транзакции.
1 Объект файла содержит разделы, сопоставленные пользователем. Транзакция должна быть откатена.

Замечания

Для файловой системы транзакций эту функцию можно использовать для определения того, ссылается ли данная транзакция на объект файла, который может измениться. В этом случае транзакция должна быть откатена, так как атомарности не может быть гарантирована.

Перед вызовом MmDoesFileHaveUserRitableReferences, транзакционные файловые системы должны проверять и перехватывать создание объектов файлов, которые указывают доступ на запись. В частности, перед началом транзакции файловые системы транзакций должны обеспечить отсутствие записываемых файловых объектов, которые в настоящее время существуют для заданного файла в транзакции. Пока транзакция продолжается, транзакционные файловые системы должны завершить запросы на создание объектов файлов с доступом на запись для транзакционных файлов.

Эту функцию можно использовать для обнаружения наличия записываемых представлений для объекта файла даже при закрытии всех дескрипторов файлов и дескрипторов разделов для объекта файла.

Дополнительные сведения о транзакциях см. в диспетчере транзакций ядра.

Дополнительные сведения об объектах файлов см. в FILE_OBJECT.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
целевая платформа Всеобщий
заголовка ntifs.h (include Fltkernel.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport)

См. также

FILE_OBJECT

SECTION_OBJECT_POINTERS