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
Balise de point d’analyse. Doit être une balise de point d’analyse Microsoft. (Consultez la section remarques
ReparseDataLength
Taille, en octets, des données d’analyse dans la mémoire tampon qui DataBuffer pointe vers.
Reserved
Longueur, en octets, de la partie non utilisée du nom de fichier pointé par le FileName membre de l’objet de fichier associé. Pour plus d’informations sur le membre FileName
DUMMYUNIONNAME
DUMMYUNIONNAME.SymbolicLinkReparseBuffer
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.SubstituteNameOffset
Offset, en octets, de la chaîne de nom de remplacement dans le tableau PathBuffer. Notez que ce décalage doit être divisé par taille de(WCHAR) pour obtenir l’index de 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 terminateur UNICODE_NULL.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.PrintNameOffset
Offset, en octets, de la chaîne de nom d’impression dans le tableau PathBuffer. Notez que ce décalage doit être divisé par taille de(WCHAR) pour obtenir l’index de 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 marque de fin UNICODE_NULL.
DUMMYUNIONNAME.SymbolicLinkReparseBuffer.Flags
Indique si le lien symbolique est absolu ou relatif. Si
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 contient la chaîne de nom de remplacement et la chaîne de nom d’impression. Le nom de remplacement et les chaînes de nom d’impression peuvent apparaître dans n’importe quel ordre dans le PathBuffer. Pour rechercher le nom de remplacement et les chaînes de nom d’impression dans lePathBuffer
DUMMYUNIONNAME.MountPointReparseBuffer
DUMMYUNIONNAME.MountPointReparseBuffer.SubstituteNameOffset
Offset, en octets, de la chaîne de nom de remplacement dans le tableau PathBuffer. Notez que ce décalage doit être divisé par taille de(WCHAR) pour obtenir l’index de 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 terminateur UNICODE_NULL.
DUMMYUNIONNAME.MountPointReparseBuffer.PrintNameOffset
Offset, en octets, de la chaîne de nom d’impression dans le tableau PathBuffer. Notez que ce décalage doit être divisé par taille de(WCHAR) pour obtenir l’index de 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 marque de fin UNICODE_NULL.
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 contient la chaîne de nom de remplacement et la chaîne de nom d’impression. Le nom de remplacement et les chaînes de nom d’impression peuvent apparaître dans n’importe quel ordre dans le PathBuffer. Pour rechercher le nom de remplacement et les chaînes de nom d’impression dans lePathBuffer
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 mini-filtres Microsoft, ainsi que le gestionnaire d’E/S, pour stocker les données d’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 de IO_REPARSE_TAG_XXX, ou utiliser éventuellement l’une des autres structures au sein de l’union comme suit :
Utilisez la structure SymbolLinkReparseBuffer 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 du Kit de développement logiciel (SDK) Microsoft Windows.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntifs.h (include Ntifs.h, Fltkernel.h) |
Voir aussi
FILE_REPARSE_POINT_INFORMATION