REPARSE_DATA_BUFFER-Struktur (ntifs.h)
Die REPARSE_DATA_BUFFER-Struktur enthält Analysepunktdaten für einen Microsoft-Analysepunkt. Sie können stattdessen REPARSE_DATA_BUFFER_EX verwenden. (Besitzer von Analysepunkten von Drittanbietern müssen stattdessen die REPARSE_GUID_DATA_BUFFER-Struktur verwenden.)
Syntax
typedef struct _REPARSE_DATA_BUFFER {
ULONG ReparseTag;
USHORT ReparseDataLength;
USHORT Reserved;
union {
struct {
USHORT SubstituteNameOffset;
USHORT SubstituteNameLength;
USHORT PrintNameOffset;
USHORT PrintNameLength;
ULONG Flags;
WCHAR PathBuffer[1];
} SymbolicLinkReparseBuffer;
struct {
USHORT SubstituteNameOffset;
USHORT SubstituteNameLength;
USHORT PrintNameOffset;
USHORT PrintNameLength;
WCHAR PathBuffer[1];
} MountPointReparseBuffer;
struct {
UCHAR DataBuffer[1];
} GenericReparseBuffer;
} DUMMYUNIONNAME;
} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
Member
ReparseTag
Analysepunkttag. Muss ein Microsoft-Analysepunkttag sein. (Weitere Informationen finden Sie im folgenden Abschnitt mit den Anmerkungen .)
ReparseDataLength
Größe der Analysedaten im Puffer, auf den DataBuffer verweist, in Byte.
Reserved
Länge des nicht analysierten Teils des Dateinamens, auf den der FileName-Member des zugeordneten Dateiobjekts verweist, in Byte. Weitere Informationen zum FileName-Element finden Sie unter FILE_OBJECT<. Dieser Member ist nur für Erstellungsvorgänge gültig, wenn die E/A mit STATUS_REPARSE fehlschlägt. Für alle anderen Zwecke, z. B. das Festlegen oder Abfragen eines Analysepunkts für die Analysedaten, wird dieser Member als reserviert behandelt.
DUMMYUNIONNAME
DUMMYUNIONNAME.SymbolicLinkReparseBuffer
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.SubstituteNameOffset
Offset in Bytes der Ersatznamenzeichenfolge im PathBuffer-Array . Beachten Sie, dass dieser Offset durch sizeof(WCHAR) geteilt werden muss, um den Arrayindex abzurufen.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.SubstituteNameLength
Länge der Ersatznamenzeichenfolge in Byte. Wenn diese Zeichenfolge NULL-beendet ist, enthält SubstituteNameLength keinen Leerraum für das UNICODE_NULL-Abschlusszeichen.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.PrintNameOffset
Offset in Byte der Drucknamenzeichenfolge im PathBuffer-Array . Beachten Sie, dass dieser Offset durch sizeof(WCHAR) geteilt werden muss, um den Arrayindex abzurufen.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.PrintNameLength
Länge der Drucknamenzeichenfolge in Byte. Wenn diese Zeichenfolge NULL-beendet ist, enthält PrintNameLength keinen Leerraum für das UNICODE_NULL Abschlusszeichen.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.Flags
Gibt an, ob die symbolische Verknüpfung absolut oder relativ ist. Wenn Flags SYMLINK_FLAG_RELATIVE enthält, wird die symbolische Verknüpfung im PathBuffer-Array (am Offset SubstituteNameOffset) als relative symbolische Verknüpfung verarbeitet. andernfalls wird sie als absolute symbolische Verbindung verarbeitet.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.PathBuffer[1]
Erstes Zeichen der Pfadzeichenfolge. Auf dieses Zeichen folgt im Arbeitsspeicher der rest der Zeichenfolge. Die Pfadzeichenfolge enthält die Ersatznamenzeichenfolge und die Drucknamenzeichenfolge. Die Ersatznamen- und Drucknamenzeichenfolgen können in beliebiger Reihenfolge im PathBuffer angezeigt werden. Um die Ersatznamen- und Drucknamenzeichenfolgen im PathBuffer zu suchen, verwenden Sie die Member SubstituteNameOffset, SubstituteNameLength, PrintNameOffset und PrintNameLength .
DUMMYUNIONNAME.MountPointReparseBuffer
DUMMYUNIONNAME.MountPointReparseBuffer.SubstituteNameOffset
Offset in Bytes der Ersatznamenzeichenfolge im PathBuffer-Array . Beachten Sie, dass dieser Offset durch sizeof(WCHAR) geteilt werden muss, um den Arrayindex abzurufen.
DUMMYUNIONNAME.MountPointReparseBuffer.SubstituteNameLength
Länge der Ersatznamenzeichenfolge in Byte. Wenn diese Zeichenfolge NULL-beendet ist, enthält SubstituteNameLength keinen Leerraum für das UNICODE_NULL-Abschlusszeichen.
DUMMYUNIONNAME.MountPointReparseBuffer.PrintNameOffset
Offset in Byte der Drucknamenzeichenfolge im PathBuffer-Array . Beachten Sie, dass dieser Offset durch sizeof(WCHAR) geteilt werden muss, um den Arrayindex abzurufen.
DUMMYUNIONNAME.MountPointReparseBuffer.PrintNameLength
Länge der Drucknamenzeichenfolge in Byte. Wenn diese Zeichenfolge NULL-beendet ist, enthält PrintNameLength keinen Leerraum für das UNICODE_NULL Abschlusszeichen.
DUMMYUNIONNAME.MountPointReparseBuffer.PathBuffer[1]
Erstes Zeichen der Pfadzeichenfolge. Auf dieses Zeichen folgt im Arbeitsspeicher der rest der Zeichenfolge. Die Pfadzeichenfolge enthält die Ersatznamenzeichenfolge und die Drucknamenzeichenfolge. Die Ersatznamen- und Drucknamenzeichenfolgen können in beliebiger Reihenfolge im PathBuffer angezeigt werden. Um die Ersatznamen- und Drucknamenzeichenfolgen im PathBuffer zu suchen, verwenden Sie die Member SubstituteNameOffset, SubstituteNameLength, PrintNameOffset und PrintNameLength .
DUMMYUNIONNAME.GenericReparseBuffer
DUMMYUNIONNAME.GenericReparseBuffer.DataBuffer[1]
Zeiger auf einen Puffer, der von Microsoft definierte Daten für den Analysepunkt enthält.
Hinweise
Die REPARSE_DATA_BUFFER-Struktur wird von Microsoft-Dateisystemen, Filtern und Minifiltertreibern sowie dem E/A-Manager zum Speichern von Daten für einen Analysepunkt verwendet.
Diese Struktur kann nur für Analysepunkte von Microsoft verwendet werden. Drittanbieter-Analysepunktbesitzer müssen stattdessen die REPARSE_GUID_DATA_BUFFER-Struktur verwenden.
Microsoft-Analysepunkte können die REPARSE_DATA_BUFFER-Struktur oder die REPARSE_GUID_DATA_BUFFER-Struktur verwenden.
In der Union können Sie die GenericReparseBuffer-Struktur verwenden, um die Nutzlast für ein beliebiges IO_REPARSE_TAG_XXX-Tag zu interpretieren, oder optional eine der anderen Strukturen innerhalb der Union wie folgt verwenden:
Verwenden Sie die SymbolicLinkReparseBuffer-Struktur, wenn FileTag IO_REPARSE_TAG_SYMLINK ist.
Verwenden Sie die MountPointReparseBuffer-Struktur, wenn FileTag IO_REPARSE_TAG_MOUNT_POINT ist.
Weitere Informationen zu Analysepunkttags finden Sie in der Dokumentation zu Microsoft Windows SDK.
Anforderungen
Anforderung | Wert |
---|---|
Header | ntifs.h (include Ntifs.h, Fltkernel.h) |
Weitere Informationen
FILE_REPARSE_POINT_INFORMATION