MARK_HANDLE_INFO Struktur (winioctl.h)
Enthält Informationen, die verwendet werden, um eine angegebene Datei oder ein angegebenes Verzeichnis zu markieren, und die Aktualisierungssequenznummer (USN) ändert den Journaldatensatz 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;
Angehörige
DUMMYUNIONNAME
DUMMYUNIONNAME.UsnSourceInfo
DUMMYUNIONNAME.CopyNumber
UsnSourceInfo
Der Typ der vorgenommenen Änderungen.
Der Vorgang ändert die Datei oder das Verzeichnis nicht extern aus der Sicht der Anwendung, die sie erstellt hat.
Wenn ein Thread einen neuen USN-Eintrag schreibt, werden die Quellinformationskennzeichnungen im vorherigen Datensatz weiterhin nur vorhanden, wenn der Thread auch diese Flags festlegt. Daher ermöglicht die Quellinformationsstruktur Anwendungen das Filtern von USN-Datensätzen, die nur von einer bekannten Quelle festgelegt werden, z. B. einem Antivirenfilter.
Die folgenden Werte sind definiert.
Wert | Bedeutung |
---|---|
|
Der Vorgang enthält Informationen zu einer Änderung an der Datei oder dem Verzeichnis, die vom Betriebssystem vorgenommen werden.
Eine typische Verwendung ist, wenn Remotespeicher Daten von einem externen 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 zu einem USN-Eintrag hinzu. Die Daten wurden jedoch aus Sicht des Benutzers nicht geändert. Wenn Sie USN_SOURCE_DATA_MANAGEMENT im SourceInfo Element der USN_RECORD Struktur notieren, die den Datensatz enthält, können Sie feststellen, dass daten, obwohl ein Schreibvorgang für das Element ausgeführt wird, nicht geändert wurde. |
|
Der Vorgang fügt einer Datei oder einem Verzeichnis einen privaten Datenstrom hinzu.
Ein Beispiel könnte ein Virendetektor sein, der Prüfsummeninformationen hinzufügt. Während der Virusdetektor das Element ändert, generiert das System USN-Datensätze. USN_SOURCE_AUXILIARY_DATA weist darauf hin, dass die Änderungen die Anwendungsdaten nicht geändert haben. |
|
Der Vorgang erstellt oder aktualisiert den Inhalt einer replizierten Datei.
Beispielsweise legt der Dateireplikationsdienst dieses Kennzeichen fest, wenn eine Datei in einem replizierten Verzeichnis erstellt oder aktualisiert wird. |
|
Die Replikation wird auf Clientsystemen entweder über die Cloud oder server ausgeführt. |
VolumeHandle
Das Volumehandle für das Volume, auf 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 die SE_MANAGE_VOLUME_NAME Berechtigung 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 Handlewert im VolumeHandle Member identifiziert werden.
Wert | Bedeutung |
---|---|
|
Die Datei ist als nicht defragmentiert gekennzeichnet, bis das Handle geschlossen wird.
Sobald ein Handle geschlossen wurde, das MARK_HANDLE_PROTECT_CLUSTERS markiert ist, besteht keine Garantie dafür, dass die Cluster der Datei nicht verschoben werden. |
|
Die Datei ist als nicht defragmentiert gekennzeichnet, 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 als nicht defragmentiert gekennzeichnet, 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 echtzeitbasiertes Leseverhalten gekennzeichnet. Dateien, die mit dieser Kennzeichnung gekennzeichnet sind, müssen für nicht entbufferten E/A-geöffnet werden.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt. |
|
Die zuvor für das Echtzeitleseverhalten mit dem MARK_HANDLE_REALTIME Flag markierte Datei kann mit diesem Flag nicht markiert werden, wodurch das Echtzeitverhalten entfernt wird. Dateien, die mit dieser Kennzeichnung gekennzeichnet sind, müssen für nicht entbufferten E/A-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 für Lesevorgänge an. Dateien, die mit dieser Kennzeichnung gekennzeichnet sind, müssen für nicht entbufferten E/A-geöffnet werden.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Kennzeichen wird erst unter Windows 8 und Windows Server 2012 unterstützt. |
|
Die datei, die zuvor für das Lesekopieverhalten mit dem MARK_HANDLE_READ_COPY Flag markiert wurde, kann mit diesem Flag nicht markiert werden, wodurch das Lesekopieverhalten entfernt wird. Dateien, die mit dieser Kennzeichnung gekennzeichnet sind, müssen für nicht entbufferten E/A-geöffnet werden.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Kennzeichen wird erst unter Windows 8 und Windows Server 2012 unterstützt. |
|
Beim Mischen des zugeordneten/zwischengespeicherten E/A-Speichers mit nicht zwischengespeicherter E/A versucht das System, wenn ein nicht zwischengespeichertes Io ausgegeben wird, Speicherzuordnungen für den Bereich der nicht zwischengespeicherten E/A zu löschen. Wenn diese Bereinigungen fehlschlagen, gibt das System normalerweise nicht den Fehler an den Aufrufer zurück, der zu beschädigten Zustand führen kann (weshalb die Dokumentation sagt, dass dies nicht geschieht). Dieses Kennzeichen weist das System an, Löschfehler für das angegebene Handle zurückzugeben, damit die Anwendung diese Situation besser behandeln kann. Dieses Kennzeichen wird erst unter Windows 8 und Windows Server 2012 unterstützt. |
|
Eine stark fragmentierte Datei in NTFS verwendet mehrere MFT-Einträge, um alle Ausmaße für eine Datei zu beschreiben. Diese Liste der untergeordneten MFT-Datensätze (auch als FRS-Datensätze bezeichnet) wird durch eine Struktur gesteuert, die als Attributliste bezeichnet wird. Eine Attributliste ist auf 128 KB begrenzt. Wenn die Größe einer Attributliste auf einen bestimmten Schwellenwert trifft, löst NTFS eine Hintergrundkomprimierung in den Ausmaßen aus, sodass die Mindestanzahl der untergeordneten FRS-Einträge verwendet wird.
Dieses Flag deaktiviert dieses FRS-Komprimierungsfeature für die angegebene Datei.
Dieses Kennzeichen wird erst unter Windows 10 unterstützt. |
|
Weist NTFS an, den angegebenen UsnSourceInfo-Wert für Paging-Schreibvorgänge im USN Journal festzulegen. Dies wurde traditionell nicht bei Auslagerungs-Schreibvorgängen durchgeführt, da das System nicht wusste, welcher Thread die gegebenen Änderungen vorgenommen hat. Dies ist eine Außerkraftsetzung. Dies funktioniert nur, wenn das vom Speicher-Manager verwendete FileObject diesen Zustand zugeordnet hat.
Dieses Kennzeichen wird erst unter Windows 10 unterstützt. |
|
Durch Festlegen dieses Flags wird dem System mitgeteilt, dass Schreibvorgänge in dieser 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 mit STATUS_MARKED_TO_DISALLOW_WRITES fehlgeschlagen ist Dieses Kennzeichen wird erst unter Windows 10 unterstützt. |
Bemerkungen
Rufen Sie zum Abrufen eines Handles zu einem Volume CreateFile- auf, wobei der parameter lpFileName auf eine Zeichenfolge in der folgenden Form festgelegt ist:
"\\.\X:"
In der vorherigen Zeichenfolge ist X- der Buchstabe, der das Laufwerk angibt, auf dem das Volume angezeigt wird.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Header- | winioctl.h (enthalten Windows.h) |