MmDoesFileHaveUserWritableReferences-Funktion (ntifs.h)
Die MmDoesFileHaveUserWritableReferences--Funktion bestimmt, ob eine mit einer Transaktion verknüpfte Datei über benutzerdefinierte Abschnitte verfügt.
Syntax
ULONG MmDoesFileHaveUserWritableReferences(
[in] PSECTION_OBJECT_POINTERS SectionPointer
);
Parameter
[in] SectionPointer
Zeigen Sie auf eine SECTION_OBJECT_POINTERS Struktur, die die Abschnittsobjektzeiger des Dateiobjekts enthält. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
Rückgabewert
MmDoesFileHaveUserWritableReferences einen der folgenden Werte zurück.
Rückgabewert | Bedeutung |
---|---|
0 | Das Dateiobjekt weist keine benutzerdefinierten Abschnitte auf. Es ist sicher, mit der Transaktion fortzufahren. |
1 | Das Dateiobjekt verfügt über vom Benutzer zugeordnete Abschnitte. Die Transaktion muss zurückgesetzt werden. |
Bemerkungen
Bei Transaktionsdateisystemen können Sie mit dieser Funktion ermitteln, ob eine bestimmte Transaktion auf ein Dateiobjekt verweist, das sich ändern kann. Wenn ja, muss die Transaktion zurückgesetzt werden, da Atomität nicht garantiert werden kann.
Vor dem Aufrufen MmDoesFileHaveUserWritableReferencesmüssen Transaktionsdateisysteme die Erstellung von Dateiobjekten überprüfen und abfangen, die Schreibzugriff angeben. Vor dem Starten einer Transaktion müssen Transaktionsdateisysteme sicherstellen, dass keine schreibbaren Dateiobjekte vorhanden sind, die derzeit für die angegebene Datei in der Transaktion vorhanden sind. Während die Transaktion ausgeführt wird, müssen Transaktionsdateisysteme die Anforderungen zum Erstellen von Dateiobjekten mit Schreibzugriff für die transaktionenten Dateien nicht ausführen.
Diese Funktion kann verwendet werden, um zu erkennen, ob schreibbare Ansichten für ein Dateiobjekt vorhanden sind, auch wenn alle Dateihandles und Abschnittshandles für das Dateiobjekt geschlossen wurden.
Weitere Informationen zu Transaktionen finden Sie unter Kernel Transaction Manager.
Weitere Informationen zu Dateiobjekten finden Sie unter FILE_OBJECT.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Fltkernel.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= APC_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport) |