OPEN_REPARSE_LIST_ENTRY structure

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

Minimum supported client

Windows 10, version 1607

Minimum supported server

Windows Server 2016

Header

Ntifs.h

 

 

Send comments about this topic to Microsoft