Freigeben über


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)

Siehe auch

FILE_OBJECT

SECTION_OBJECT_POINTERS