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 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;
Angehörige
ReparseTag
Analysepunkttag. Muss ein Microsoft-Analysepunkttag sein. (Siehe den folgenden Abschnitt "Anmerkungen".)
ReparseDataLength
Größe der Analysedaten in Bytes im Puffer, auf die DataBuffer verweist.
Reserved
Länge des nicht analysierten Teils des Dateinamens, auf den durch den FileName Member des zugeordneten Dateiobjekts verwiesen wird. Weitere Informationen zum mitglied FileName finden Sie unter FILE_OBJECT<. Dieses Element 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 dieses Element als reserviert behandelt.
DUMMYUNIONNAME
DUMMYUNIONNAME.SymbolicLinkReparseBuffer
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.SubstituteNameOffset
Offset in Byte der Ersatznamenzeichenfolge im PathBuffer Array. Beachten Sie, dass dieser Offset durch Größe von(WCHAR) dividiert 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 den UNICODE_NULL Terminator.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.PrintNameOffset
Offset in Byte der Drucknamenzeichenfolge im PathBuffer Array. Beachten Sie, dass dieser Offset durch Größe von(WCHAR) dividiert 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 den UNICODE_NULL Terminator.
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 (bei 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. Verwenden Sie zum Suchen der Ersatznamen- und Drucknamenzeichenfolgen in der PathBuffer-die SubstituteNameOffset, SubstituteNameLength, PrintNameOffsetund PrintNameLength Member.
DUMMYUNIONNAME.MountPointReparseBuffer
DUMMYUNIONNAME.MountPointReparseBuffer.SubstituteNameOffset
Offset in Byte der Ersatznamenzeichenfolge im PathBuffer Array. Beachten Sie, dass dieser Offset durch Größe von(WCHAR) dividiert 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 den UNICODE_NULL Terminator.
DUMMYUNIONNAME.MountPointReparseBuffer.PrintNameOffset
Offset in Byte der Drucknamenzeichenfolge im PathBuffer Array. Beachten Sie, dass dieser Offset durch Größe von(WCHAR) dividiert 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 den UNICODE_NULL Terminator.
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. Verwenden Sie zum Suchen der Ersatznamen- und Drucknamenzeichenfolgen in der PathBuffer-die SubstituteNameOffset, SubstituteNameLength, PrintNameOffsetund PrintNameLength Member.
DUMMYUNIONNAME.GenericReparseBuffer
DUMMYUNIONNAME.GenericReparseBuffer.DataBuffer[1]
Zeigen Sie auf einen Puffer, der von Microsoft definierte Daten für den Analysepunkt enthält.
Bemerkungen
Die REPARSE_DATA_BUFFER Struktur wird von Microsoft-Dateisystemen, Filtern und Minifiltertreibern sowie dem E/A-Manager verwendet, um Daten für einen Analysepunkt zu speichern.
Diese Struktur kann nur für Microsoft-Analysepunkte verwendet werden. Besitzer von Drittanbietern 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.
Aus der Union können Sie die GenericReparseBuffer-Struktur verwenden, um die Nutzlast für jedes IO_REPARSE_TAG_XXX-Tag zu interpretieren oder optional eine der anderen Strukturen innerhalb der Union wie folgt zu 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 Microsoft Windows SDK-Dokumentation.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntifs.h (einschließlich Ntifs.h, Fltkernel.h) |
Siehe auch
FILE_REPARSE_POINT_INFORMATION