REPARSE_GUID_DATA_BUFFER structure (ntifs.h)
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
GenericReparseBuffer.DataBuffer[1]
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.
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 can 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
Requirement | Value |
---|---|
Header | ntifs.h (include Ntifs.h, Fltkernel.h) |
See also
FILE_REPARSE_POINT_INFORMATION