ntifs.h) (REPARSE_GUID_DATA_BUFFER 结构

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]

重新分析点的用户定义数据。 此数据的格式由重分析点的所有者定义。

注解

所有第三方文件系统、筛选器和微筛选器以及某些 Microsoft 文件系统、筛选器和微筛选器都使用 REPARSE_GUID_DATA_BUFFER 结构来存储重新分析点的数据。 每个重分析点包含一个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_POINTFSCTL_SET_REPARSE_POINTFSCTL_DELETE_REPARSE_POINT 控制代码来检索、设置或删除重分析点。 可以通过调用 ZwFsControlFile 将这些代码发送到文件系统。

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

要求

要求
Header 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