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 中。

微型筛选器可以通过调用 FltTagFileFltUntagFile来设置或删除重新分析点。 微型筛选器可以使用 FSCTL_GET_REPARSE_POINT 控制代码检索重新分析点。 可以通过调用 FltFsControlFile将此代码发送到文件系统。

文件系统和筛选器驱动程序可以使用 FSCTL_GET_REPARSE_POINTFSCTL_SET_REPARSE_POINTFSCTL_DELETE_REPARSE_POINT 控制代码来检索、设置或删除重新分析点。 可以通过调用 ZwFsControlFile将这些代码发送到文件系统。

有关重新分析点和重新分析点标记的详细信息,请参阅 Windows SDK 文档。

要求

要求 价值
标头 ntifs.h(包括 Ntifs.h、Fltkernel.h)

另请参阅

FILE_REPARSE_POINT_INFORMATION

IRP_MJ_FILE_SYSTEM_CONTROL的 FLT_PARAMETERS

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

FSCTL_SET_REPARSE_POINT

FltFsControlFile

FltTagFile

FltTagFileEx

FltUntagFile

IRP_MJ_FILE_SYSTEM_CONTROL

IsReparseTagMicrosoft

IsReparseTagNameSurrogate

REPARSE_DATA_BUFFER

REPARSE_DATA_BUFFER_EX

ZwFsControlFile