2.3.28 FSCTL_GET_REPARSE_POINT Reply
This message returns the results of the FSCTL_GET_REPARSE_POINT request. The message contains a REPARSE_GUID_DATA_BUFFER (including subtypes) or a REPARSE_DATA_BUFFER data element.
Both the REPARSE_GUID_DATA_BUFFER and the REPARSE_DATA_BUFFER structures begin with a ReparseTag field. The ReparseTag value uniquely identifies the filter driver that creates/uses the reparse point, and the application's filter driver processes the reparse point data as either a REPARSE_GUID_DATA_BUFFER or a REPARSE_DATA_BUFFER, depending on the structure implemented by the filter driver for that type of reparse point. A particular filter driver is implemented with specific support for the type of reparse point data structure it accepts.
If the file system of the volume containing the specified file or directory does not support the use of reparse points, the request will not succeed. The error code returned in this situation MAY vary, depending on the file system.<29>
This message also returns a status code as specified in section 2.2. Upon success, the status code returned by the function that processes this FSCTL is STATUS_SUCCESS. The most common error codes are listed in the following table.
Error code |
Meaning |
---|---|
STATUS_BUFFER_TOO_SMALL 0xC0000023 |
The output buffer is too small to contain a REPARSE_GUID_DATA_BUFFER. |
STATUS_INVALID_PARAMETER 0xC000000D |
The handle is not to a file or directory. |
STATUS_BUFFER_OVERFLOW 0x80000005 |
The output buffer filled before all the reparse point data was returned. |
STATUS_NOT_A_REPARSE_POINT 0xC0000275 |
The file or directory is not a reparse point. |
STATUS_INVALID_DEVICE_REQUEST 0xC0000010 |
The file system does not support the use of reparse points. |