Freigeben über


MARK_HANDLE_INFO32-Struktur (winioctl.h)

Enthält Informationen, die verwendet werden, um eine angegebene Datei oder ein angegebenes Verzeichnis zu markieren, und der zugehörige USN-Änderungsjournaldatensatz (Update Sequence Number) mit Daten zu Änderungen. Dies ist nur für 64-Bit-Code definiert und dient zum Interpretieren MARK_HANDLE_INFO Strukturen , die von 32-Bit-Code gesendet werden. Sie wird vom FSCTL_MARK_HANDLE IOCTL-Kontrollcode verwendet.

Syntax

typedef struct _MARK_HANDLE_INFO32 {
  union {
    DWORD UsnSourceInfo;
    DWORD CopyNumber;
  } DUMMYUNIONNAME;
  DWORD  UsnSourceInfo;
  UINT32 VolumeHandle;
  DWORD  HandleInfo;
} MARK_HANDLE_INFO32, *PMARK_HANDLE_INFO32;

Member

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, sind die Quellinformationsflags im vorherigen Datensatz nur dann weiterhin vorhanden, wenn der Thread auch diese Flags festlegt. Daher ermöglicht die Quellinformationsstruktur Anwendungen, USN-Einträge herauszufiltern, die nur von einer bekannten Quelle festgelegt werden, z. B. einem Antivirenfilter.

Die folgenden Werte werden definiert.

Wert Bedeutung
USN_SOURCE_DATA_MANAGEMENT
0x00000001
Der Vorgang stellt Informationen zu einer Änderung der Datei oder des Verzeichnisses bereit, die vom Betriebssystem vorgenommen wurde.

Ein typischer Einsatz ist, wenn Der Remotespeicher Daten aus 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-Datensatz hinzu. Die Daten haben sich jedoch aus Sicht des Benutzers nicht geändert. Wenn Sie USN_SOURCE_DATA_MANAGEMENT im SourceInfo-Member der USN_RECORD-Struktur notieren, 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.

USN_SOURCE_AUXILIARY_DATA
0x00000002
Der Vorgang fügt einer Datei oder einem Verzeichnis einen privaten Datenstrom hinzu.

Ein Beispiel wäre ein Virusdetektor, 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 Anwendungsdaten durch die Änderungen nicht geändert wurden.

USN_SOURCE_REPLICATION_MANAGEMENT
0x00000004
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.

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 berechtigung SE_MANAGE_VOLUME_NAME 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
MARK_HANDLE_PROTECT_CLUSTERS
0x00000001
Die Datei wird als nicht defragmentiert gekennzeichnet, bis das Handle geschlossen wird.
MARK_HANDLE_TXF_SYSTEM_LOG
0x00000004
Die Datei wird als nicht defragmentiert gekennzeichnet, bis das Handle geschlossen wird.
MARK_HANDLE_NOT_TXF_SYSTEM_LOG
0x00000008
Die Datei wird als nicht defragmentiert gekennzeichnet, bis das Handle geschlossen wird.
MARK_HANDLE_REALTIME
0x00000020
Die Datei ist unabhängig vom tatsächlichen Dateityp für das Leseverhalten in Echtzeit gekennzeichnet. Dateien, die mit diesem Flag gekennzeichnet sind, müssen für ungepufferte E/A-Vorgänge geöffnet werden.
MARK_HANDLE_NOT_REALTIME
0x00000040
Die Datei, die zuvor mit dem flag MARK_HANDLE_REALTIME für Echtzeitleseverhalten markiert wurde, kann mit diesem Flag deaktiviert werden, wodurch das Echtzeitverhalten entfernt wird. Dateien, die mit diesem Flag gekennzeichnet sind, müssen für ungepufferte E/A-Vorgänge geöffnet werden.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 (nur 64-Bit) [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Kopfzeile winioctl.h (windows.h einschließen)