OPEN_REPARSE_LIST_ENTRY structure (ntifs.h)

This structure supports callers opening specific reparse points without inhibiting reparse behavior for all classes of reparse points.

Syntax

typedef struct _OPEN_REPARSE_LIST_ENTRY {
  LIST_ENTRY OpenReparseListEntry;
  ULONG      ReparseTag;
  ULONG      Flags;
  GUID       ReparseGuid;
  USHORT     Size;
  USHORT     RemainingLength;
} OPEN_REPARSE_LIST_ENTRY, *POPEN_REPARSE_LIST_ENTRY;

Members

OpenReparseListEntry

The entry in the open reparse list.

ReparseTag

The reparse tag that should be opened directly without returning STATUS_REPARSE.

Flags

Flags that control behavior when a reparse point is encountered on a directory that may be non-empty (one whose reparse tag is recognized by FsRtlIsNonEmptyDirectoryReparsePointAllowed) .

Value Meaning
OPEN_REPARSE_POINT_TAG_ENCOUNTERED
0x00000001
Indicates that the object that was opened matched the given criteria.
OPEN_REPARSE_POINT_REPARSE_IF_CHILD_EXISTS
0x00000002
Reparse on the directory if the reparse point is on a directory that is not the final path component, and the next path component exists.
OPEN_REPARSE_POINT_REPARSE_IF_CHILD_NOT_EXISTS
0x00000004
Reparse on the directory if the reparse point is on a directory that is not the final path component, and the next path component does not exist.
OPEN_REPARSE_POINT_REPARSE_IF_DIRECTORY_FINAL_COMPONENT
0x00000008
Reparse on the directory if the reparse point is on a directory that is the final path component and FILE_OPEN_REPARSE_POINT has not been specified.
OPEN_REPARSE_POINT_VERSION_EX
0x80000000
Indicates that the fields of this structure are valid.
 
Note  When the OPEN_REPARSE_POINT_REPARSE_IF_CHILD_EXISTS, OPEN_REPARSE_POINT_REPARSE_IF_CHILD_NOT_EXISTS, and OPEN_REPARSE_POINT_REPARSE_IF_DIRECTORY_FINAL_COMPONENT flags are used together at the same time, it indicates that the system is to reparse on any directory reparse point.
 

ReparseGuid

The GUID of the reparse tag that should be opened directly without returning STATUS_REPARSE.

Size

The size of this structure.

RemainingLength

The unprocessed path length when the reparse point was encountered.

Remarks

This structure lets callers open specific reparse points without inhibiting reparse behavior for all classes of reparse points. OPEN_REPARSE_LIST is a structure used in an ECP with ECP_TYPE_OPEN_REPARSE_GUID (323eb6a8-affd-4d95-8230-863bce09d37a). The OPEN_REPARSE_LIST points to a list of OPEN_REPARSE_LIST_ENTRY structures specifying the tag and possibly GUID that should be opened directly without returning STATUS_REPARSE. If a match is found, the corresponding OPEN_REPARSE_LIST_ENTRY structure will have the OPEN_REPARSE_POINT_TAG_ENCOUNTERED flag set to indicate that the object that was opened matched the given criteria. If a match is found for a directory that is not the final path component and STATUS_REPARSE is returned, the unprocessed path length will be set in the RemainingLength field.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1607
Minimum supported server Windows Server 2016
Header ntifs.h