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