// ntifs.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
This structure supports callers opening specific reparse points without inhibiting reparse behavior for all classes of reparse points.
OpenReparseListEntryThe entry in the open reparse list.
ReparseTagThe reparse tag that should be opened directly without returning STATUS_REPARSE.
FlagsFlags 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.
ReparseGuidThe GUID of the reparse tag that should be opened directly without returning STATUS_REPARSE.
SizeThe size of this structure.
RemainingLengthThe unprocessed path length when the reparse point was encountered.
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.