REPARSE_GUID_DATA_BUFFER structure

The REPARSE_GUID_DATA_BUFFER structure contains reparse point data for a reparse point.

Syntax


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;

Members

ReparseTag

Reparse point tag that uniquely identifies the owner of the reparse point. (See the following Remarks section.)

ReparseDataLength

Size, in bytes, of the reparse data in the DataBuffer member.

Reserved

Reserved; do not use.

ReparseGuid

GUID that uniquely identifies the owner of the reparse point. (See the following Remarks section.)

GenericReparseBuffer
DataBuffer

User-defined data for the reparse point. The format of this data is defined by the owner of the reparse point.

Remarks

The REPARSE_GUID_DATA_BUFFER structure is used by all third-party file systems, filters, and minifilters, as well as some Microsoft file systems, filters, and minifilters to store data for a reparse point. Each reparse point contains one REPARSE_GUID_DATA_BUFFER structure.

Microsoft reparse points can use the REPARSE_DATA_BUFFER structure instead of the REPARSE_GUID_DATA_BUFFER structure. However, third-party reparse points are required to use the REPARSE_GUID_DATA_BUFFER structure.

Reparse point tags are assigned to third parties by Microsoft. You may request more than one reparse point for use with a file system, file system filter driver, or minifilter driver. For more information about requesting a reparse point tag from Microsoft, see the Windows IFS Kit website.

Reparse point GUIDs are not assigned by Microsoft. However, you must choose one GUID to use with your assigned reparse point tag, and you must always use this GUID with the tag. To generate a GUID, you should use GUIDGen (Guidgen.exe), a tool that is included in the Microsoft Windows SDK.

Minifilters can set or delete a reparse point by calling FltTagFile or FltUntagFile. Minifilters can retrieve a reparse point by using the FSCTL_GET_REPARSE_POINT control code. This code can be sent to the file system by calling FltFsControlFile.

File systems and filter drivers can retrieve, set, or delete a reparse point by using the FSCTL_GET_REPARSE_POINT, FSCTL_SET_REPARSE_POINT, and FSCTL_DELETE_REPARSE_POINT control codes. These codes can be sent to the file system by calling ZwFsControlFile.

For more information about reparse points and reparse point tags, see the Windows SDK documentation.

Requirements

Header

Ntifs.h (include Ntifs.h or Fltkernel.h)

See also

FILE_REPARSE_POINT_INFORMATION
FLT_PARAMETERS for IRP_MJ_FILE_SYSTEM_CONTROL
FltFsControlFile
FltTagFile
FltUntagFile
FSCTL_DELETE_REPARSE_POINT
FSCTL_GET_REPARSE_POINT
FSCTL_SET_REPARSE_POINT
IRP_MJ_FILE_SYSTEM_CONTROL
IsReparseTagMicrosoft
IsReparseTagNameSurrogate
REPARSE_DATA_BUFFER
ZwFsControlFile

 

 

Send comments about this topic to Microsoft

Show: