MARK_HANDLE_INFO-Struktur (winioctl.h)
Enthält Informationen, die verwendet werden, um eine angegebene Datei oder ein angegebenes Verzeichnis zu markieren, und den Änderungsjournaldatensatz für eine Updatesequenznummer (USN) mit Daten zu Änderungen. Sie wird vom FSCTL_MARK_HANDLE-Steuerelementcode verwendet.
Syntax
typedef struct _MARK_HANDLE_INFO {
union {
DWORD UsnSourceInfo;
DWORD CopyNumber;
} DUMMYUNIONNAME;
DWORD UsnSourceInfo;
HANDLE VolumeHandle;
DWORD HandleInfo;
} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;
Member
DUMMYUNIONNAME
DUMMYUNIONNAME.UsnSourceInfo
DUMMYUNIONNAME.CopyNumber
UsnSourceInfo
Der Typ der vorgenommenen Änderungen.
Der Vorgang ändert die Datei oder das Verzeichnis nicht extern aus sicht der Anwendung, von der sie erstellt wurde.
Wenn ein Thread einen neuen USN-Datensatz schreibt, sind die Quellinformationsflags im vorherigen Datensatz nur dann weiterhin vorhanden, wenn der Thread auch diese Flags festlegt. Daher ermöglicht die Quellinformationsstruktur Anwendungen, USN-Datensätze herauszufiltern, die nur von einer bekannten Quelle festgelegt werden, z. B. einem Antivirenfilter.
Die folgenden Werte werden definiert.
Wert | Bedeutung |
---|---|
|
Der Vorgang stellt Informationen zu einer Änderung der Datei oder des Verzeichnisses bereit, die vom Betriebssystem vorgenommen wurde.
Eine typische Verwendung ist, wenn Remotespeicher Daten aus externem Speicher in den lokalen Speicher verschiebt. Remotespeicher ist die hierarchische Speicherverwaltungssoftware. Eine solche Verschiebung fügt in der Regel mindestens das USN_REASON_DATA_OVERWRITE-Flag einem USN-Datensatz hinzu. Die Daten haben sich jedoch aus Sicht des Benutzers nicht geändert. Durch Notieren USN_SOURCE_DATA_MANAGEMENT im SourceInfo-Member der USN_RECORD-Struktur , die den Datensatz enthält, können Sie feststellen, dass sich die Daten nicht geändert haben, obwohl ein Schreibvorgang für das Element ausgeführt wird. |
|
Der Vorgang fügt einer Datei oder einem Verzeichnis einen privaten Datenstrom hinzu.
Ein Beispiel könnte ein Virusdetektor sein, der Prüfsummeninformationen hinzufügt. Wenn der Virusdetektor das Element ändert, generiert das System USN-Datensätze. USN_SOURCE_AUXILIARY_DATA gibt an, dass die Änderungen die Anwendungsdaten nicht geändert haben. |
|
Der Vorgang erstellt oder aktualisiert den Inhalt einer replizierten Datei.
Beispielsweise legt der Dateireplikationsdienst dieses Flag fest, wenn er eine Datei in einem replizierten Verzeichnis erstellt oder aktualisiert. |
|
Die Replikation wird auf Clientsystemen entweder aus der Cloud oder von Servern ausgeführt. |
VolumeHandle
Das Volumehandle für das Volume, in dem sich die Datei oder das Verzeichnis befindet. Weitere Informationen zum Abrufen eines Volumehandles finden Sie im Abschnitt Hinweise.
Dieses Handle ist erforderlich, um die Berechtigungen für diesen Vorgang zu überprüfen.
Der Aufrufer muss über das SE_MANAGE_VOLUME_NAME-Recht verfügen. Weitere Informationen finden Sie unter Berechtigungen.
HandleInfo
Das Flag, das zusätzliche Informationen zu der Datei oder dem Verzeichnis angibt, die durch den Handle-Wert im VolumeHandle-Member identifiziert werden.
Wert | Bedeutung |
---|---|
|
Die Datei wird als nicht defragmentiert markiert, bis das Handle geschlossen wird.
Sobald ein MARK_HANDLE_PROTECT_CLUSTERS markiertes Handle geschlossen wurde, gibt es keine Garantie, dass die Cluster der Datei nicht verschoben werden. |
|
Die Datei wird als nicht defragmentiert markiert, bis das Handle geschlossen wird.
Windows Server 2003: Dieses Flag wird erst unter Windows Server 2003 mit SP1 unterstützt. Windows XP: Dieses Flag wird nicht unterstützt. |
|
Die Datei wird als nicht defragmentiert markiert, bis das Handle geschlossen wird.
Windows Server 2003: Dieses Flag wird erst unter Windows Server 2003 mit SP1 unterstützt. Windows XP: Dieses Flag wird nicht unterstützt. |
|
Die Datei ist unabhängig vom tatsächlichen Dateityp für das Echtzeitleseverhalten gekennzeichnet. Dateien, die mit diesem Flag gekennzeichnet sind, müssen für nicht gepufferte E/A-Vorgänge geöffnet werden.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt. |
|
Die Datei, die zuvor mit dem MARK_HANDLE_REALTIME-Flag für Echtzeitleseverhalten markiert wurde, kann mithilfe dieses Flags deaktiviert werden, wodurch das Echtzeitverhalten entfernt wird. Dateien, die mit diesem Flag gekennzeichnet sind, müssen für nicht gepufferte E/A-Vorgänge geöffnet werden.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt. |
|
Gibt die im CopyNumber-Member angegebene Kopiernummer an, die für Lesevorgänge verwendet werden soll. Dateien, die mit diesem Flag gekennzeichnet sind, müssen für nicht gepufferte E/A-Vorgänge geöffnet werden.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird erst unterstützt, wenn Windows 8 und Windows Server 2012. |
|
Die Datei, die zuvor mit dem MARK_HANDLE_READ_COPY-Flag für das Lese-Kopierverhalten markiert wurde, kann mit diesem Flag deaktiviert werden, wodurch das Lese-Kopierverhalten entfernt wird. Dateien, die mit diesem Flag gekennzeichnet sind, müssen für nicht gepufferte E/A-Vorgänge geöffnet werden.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird erst unterstützt, wenn Windows 8 und Windows Server 2012. |
|
Beim Mischen von zugeordneten/zwischengespeicherten E/A mit nicht zwischengespeicherten E/A-Adressen versucht das System, wenn eine nicht zwischengespeicherte E/A-Instanz ausgegeben wird, Speicherzuordnungen für den Bereich der nicht zwischengespeicherten E/A zu bereinigen. Wenn diese Bereinigungen fehlschlagen, gibt das System den Fehler normalerweise nicht an den Aufrufer zurück, was zu einem beschädigten Zustand führen kann (weshalb die Dokumentation besagt, dass dies nicht geschieht). Dieses Flag weist das System an, Löschfehler für den angegebenen Handle zurückzugeben, damit die Anwendung diese Situation besser bewältigen kann. Dieses Flag wird erst unterstützt, wenn Windows 8 und Windows Server 2012. |
|
Eine stark fragmentierte Datei in NTFS verwendet mehrere MFT-Datensätze, um alle Erweiterungen für eine Datei zu beschreiben. Diese Liste der untergeordneten MFT-Einträge (auch als FRS-Datensätze bezeichnet) wird von einer Struktur gesteuert, die als Attributliste bezeichnet wird. Eine Attributliste ist auf 128 KB beschränkt. Wenn die Größe einer Attributliste einen bestimmten Schwellenwert erreicht, löst NTFS eine Hintergrundkomprimierung für die Ausdehnungen aus, sodass die Mindestanzahl untergeordneter FRS-Einträge verwendet wird.
Dieses Flag deaktiviert diese FRS-Komprimierungsfunktion für die angegebene Datei.
Dieses Flag wird erst Windows 10 unterstützt. |
|
Weist NTFS an, den angegebenen UsnSourceInfo-Wert für Pagingschreibvorgänge im USN-Journal festzulegen. Traditionell wurde dies nicht beim Paging von Schreibvorgängen durchgeführt, da das System nicht wusste, welcher Thread die angegebenen Änderungen vorgenommen hat. Dies ist eine Überschreibung. Dies funktioniert nur, wenn dem vom Speicher-Manager verwendeten FileObject dieser Zustand zugeordnet ist.
Dieses Flag wird erst Windows 10 unterstützt. |
|
Das Festlegen dieses Flags teilt dem System mit, dass Schreibvorgänge für diese Datei nicht zulässig sind. Wenn eine Anwendung versucht, die Datei für den Schreibzugriff zu öffnen, ist der Vorgang mit STATUS_ACCESS_DENIED fehlgeschlagen.
Wenn ein Schreibvorgang angezeigt wird, ist der Vorgang mit STATUS_MARKED_TO_DISALLOW_WRITES Dieses Flag wird erst Windows 10 unterstützt. |
Hinweise
Um ein Handle für ein Volume abzurufen, rufen Sie CreateFile auf, wobei der lpFileName-Parameter auf eine Zeichenfolge in der folgenden Form festgelegt ist:
"\.\X:"
In der vorherigen Zeichenfolge ist X der Buchstabe, der das Laufwerk identifiziert, auf dem das Volume angezeigt wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | winioctl.h (einschließlich Windows.h) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für