REPARSE_GUID_DATA_BUFFER结构 (ntifs.h)
REPARSE_GUID_DATA_BUFFER结构包含重新分析点的重新分析点数据。
语法
typedef struct _REPARSE_GUID_DATA_BUFFER {
ULONG ReparseTag;
USHORT ReparseDataLength;
USHORT Reserved;
GUID ReparseGuid;
struct {
UCHAR DataBuffer[1];
} GenericReparseBuffer;
} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER;
成员
ReparseTag
重新分析点标记,用于唯一标识重新分析点的所有者。 (请参阅以下 备注 部分。
ReparseDataLength
DataBuffer 成员中重新分析数据的大小(以字节为单位)。
Reserved
保留;请勿使用。
ReparseGuid
唯一标识重新分析点所有者的 GUID。 (请参阅以下 备注 部分。
GenericReparseBuffer
GenericReparseBuffer.DataBuffer[1]
重新分析点的用户定义数据。 此数据的格式由重新分析点的所有者定义。
言论
REPARSE_GUID_DATA_BUFFER结构由所有第三方文件系统、筛选器和微筛选器以及一些Microsoft文件系统、筛选器和微型筛选器用于存储重新分析点的数据。 每个重新分析点都包含一个REPARSE_GUID_DATA_BUFFER结构。
Microsoft重新分析点可以使用 REPARSE_DATA_BUFFER 结构而不是REPARSE_GUID_DATA_BUFFER结构。 但是,使用REPARSE_GUID_DATA_BUFFER结构需要第三方重新分析点。
Microsoft将重新分析点标记
Microsoft不分配重新分析点 GUID。 但是,必须选择要用于分配的重分析点标记的 GUID,并且必须始终将此 GUID 与标记一起使用。 若要生成 GUID,可以使用 GUIDGen(Guidgen.exe),该工具包含在 Microsoft Windows SDK 中。
微型筛选器可以通过调用 FltTagFile 或 FltUntagFile来设置或删除重新分析点。 微型筛选器可以使用 FSCTL_GET_REPARSE_POINT 控制代码检索重新分析点。 可以通过调用 FltFsControlFile将此代码发送到文件系统。
文件系统和筛选器驱动程序可以使用 FSCTL_GET_REPARSE_POINT、FSCTL_SET_REPARSE_POINT和 FSCTL_DELETE_REPARSE_POINT 控制代码来检索、设置或删除重新分析点。 可以通过调用 ZwFsControlFile将这些代码发送到文件系统。
有关重新分析点和重新分析点标记的详细信息,请参阅 Windows SDK 文档。
要求
要求 | 价值 |
---|---|
标头 | ntifs.h(包括 Ntifs.h、Fltkernel.h) |
另请参阅
FILE_REPARSE_POINT_INFORMATION
IRP_MJ_FILE_SYSTEM_CONTROL的