structure REPARSE_DATA_BUFFER (ntifs.h)
La structure REPARSE_DATA_BUFFER contient des données de point d’analyse pour un point d’analyse Microsoft. Vous pouvez utiliser REPARSE_DATA_BUFFER_EX à la place. (Les propriétaires de points d’analyse tiers doivent utiliser la structure REPARSE_GUID_DATA_BUFFER à la place.)
Syntaxe
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;
Membres
ReparseTag
Répare l’étiquette de point. Doit être une balise de point d’analyse Microsoft. (Voir la section Remarques suivante.)
ReparseDataLength
Taille, en octets, des données d’analyse dans la mémoire tampon vers laquelle pointe DataBuffer .
Reserved
Longueur, en octets, de la partie non décrite du nom de fichier pointée par le membre FileName de l’objet fichier associé. Pour plus d’informations sur le membre FileName , consultez FILE_OBJECT<. Ce membre n’est valide que pour les opérations de création lorsque l’E/S échoue avec STATUS_REPARSE. À toutes autres fins, telles que la définition ou l’interrogation d’un point d’analyse pour les données d’analyse, ce membre est traité comme réservé.
DUMMYUNIONNAME
DUMMYUNIONNAME.SymbolicLinkReparseBuffer
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.SubstituteNameOffset
Décalage, en octets, de la chaîne de nom de substitution dans le tableau PathBuffer . Notez que ce décalage doit être divisé par sizeof(WCHAR) pour obtenir l’index du tableau.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.SubstituteNameLength
Longueur, en octets, de la chaîne de nom de remplacement. Si cette chaîne est terminée par null, SubstituteNameLength n’inclut pas d’espace pour le UNICODE_NULL de fin.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.PrintNameOffset
Décalage, en octets, de la chaîne de nom d’impression dans le tableau PathBuffer . Notez que ce décalage doit être divisé par sizeof(WCHAR) pour obtenir l’index du tableau.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.PrintNameLength
Longueur, en octets, de la chaîne de nom d’impression. Si cette chaîne est terminée par null, PrintNameLength n’inclut pas d’espace pour la UNICODE_NULL fin.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.Flags
Indique si le lien symbolique est absolu ou relatif. Si Flags contient SYMLINK_FLAG_RELATIVE, le lien symbolique contenu dans le tableau PathBuffer (au décalage SubstituteNameOffset) est traité comme un lien symbolique relatif ; sinon, il est traité comme un lien symbolique absolu.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.PathBuffer[1]
Premier caractère de la chaîne de chemin d’accès. Ce caractère est suivi en mémoire par le reste de la chaîne. La chaîne de chemin d’accès contient la chaîne de nom de substitution et la chaîne de nom d’impression. Les chaînes de nom de remplacement et de nom d’impression peuvent apparaître dans n’importe quel ordre dans le PathBuffer. Pour rechercher les chaînes de nom de substitution et de nom d’impression dans pathBuffer, utilisez les membres SubstituteNameOffset, SubstituteNameLength, PrintNameOffset et PrintNameLength .
DUMMYUNIONNAME.MountPointReparseBuffer
DUMMYUNIONNAME.MountPointReparseBuffer.SubstituteNameOffset
Décalage, en octets, de la chaîne de nom de substitution dans le tableau PathBuffer . Notez que ce décalage doit être divisé par sizeof(WCHAR) pour obtenir l’index du tableau.
DUMMYUNIONNAME.MountPointReparseBuffer.SubstituteNameLength
Longueur, en octets, de la chaîne de nom de remplacement. Si cette chaîne est terminée par null, SubstituteNameLength n’inclut pas d’espace pour le UNICODE_NULL de fin.
DUMMYUNIONNAME.MountPointReparseBuffer.PrintNameOffset
Décalage, en octets, de la chaîne de nom d’impression dans le tableau PathBuffer . Notez que ce décalage doit être divisé par sizeof(WCHAR) pour obtenir l’index du tableau.
DUMMYUNIONNAME.MountPointReparseBuffer.PrintNameLength
Longueur, en octets, de la chaîne de nom d’impression. Si cette chaîne est terminée par null, PrintNameLength n’inclut pas d’espace pour la UNICODE_NULL fin.
DUMMYUNIONNAME.MountPointReparseBuffer.PathBuffer[1]
Premier caractère de la chaîne de chemin d’accès. Ce caractère est suivi en mémoire par le reste de la chaîne. La chaîne de chemin d’accès contient la chaîne de nom de substitution et la chaîne de nom d’impression. Les chaînes de nom de remplacement et de nom d’impression peuvent apparaître dans n’importe quel ordre dans le PathBuffer. Pour rechercher les chaînes de nom de substitution et de nom d’impression dans pathBuffer, utilisez les membres SubstituteNameOffset, SubstituteNameLength, PrintNameOffset et PrintNameLength .
DUMMYUNIONNAME.GenericReparseBuffer
DUMMYUNIONNAME.GenericReparseBuffer.DataBuffer[1]
Pointeur vers une mémoire tampon qui contient des données définies par Microsoft pour le point d’analyse.
Remarques
La structure REPARSE_DATA_BUFFER est utilisée par les systèmes de fichiers, les filtres et les pilotes de minifiltre Microsoft, ainsi que par le gestionnaire d’E/S, pour stocker des données pour un point d’analyse.
Cette structure ne peut être utilisée que pour les points d’analyse Microsoft. Les propriétaires de points d’analyse tiers doivent utiliser la structure REPARSE_GUID_DATA_BUFFER à la place.
Les points d’analyse Microsoft peuvent utiliser la structure REPARSE_DATA_BUFFER ou la structure REPARSE_GUID_DATA_BUFFER.
À partir de l’union, vous pouvez utiliser la structure GenericReparseBuffer pour interpréter la charge utile pour n’importe quelle balise IO_REPARSE_TAG_XXX, ou éventuellement utiliser l’une des autres structures au sein de l’union comme suit :
Utilisez la structure SymbolicLinkReparseBuffer lorsque FileTag est IO_REPARSE_TAG_SYMLINK.
Utilisez la structure MountPointReparseBuffer lorsque FileTag est IO_REPARSE_TAG_MOUNT_POINT.
Pour plus d’informations sur les balises de point d’analyse, consultez la documentation Microsoft Windows SDK.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntifs.h (include Ntifs.h, Fltkernel.h) |
Voir aussi
FILE_REPARSE_POINT_INFORMATION