FSCTL_GET_REPARSE_POINT control code

The FSCTL_GET_REPARSE_POINT control code retrieves the reparse point data associated with the specified file or directory.

To perform this operation, call FltFsControlFile or ZwFsControlFile with the following parameters.

For more information about reparse points and the FSCTL_GET_REPARSE_POINT control code, see the Microsoft Windows SDK documentation.

Parameters

FileObject

FltFsControlFile only. File object pointer for the file or directory from which to retrieve the reparse point data. This parameter is required and cannot be NULL.

FileHandle

ZwFsControlFile only. File handle for the file or directory from which to retrieve the reparse point data. This parameter is required and cannot be NULL.

FsControlCode

Control code for the operation. Use FSCTL_GET_REPARSE_POINT for this operation.

InputBuffer

Not used with this operation; set to NULL.

InputBufferLength

Not used with this operation; set to zero.

OutputBuffer

Pointer to a caller-allocated REPARSE_GUID_DATA_BUFFER or REPARSE_DATA_BUFFER structure that receives the reparse point data.

OutputBufferLength

Size, in bytes, of the buffer pointed to by the OutputBuffer parameter. For a REPARSE_GUID_DATA_BUFFER structure, this value must be at least sizeof(REPARSE_GUID_DATA_BUFFER_HEADER_SIZE), plus the size of the expected user-defined data, and it must be less than or equal to MAXIMUM_REPARSE_DATA_BUFFER_SIZE. For a REPARSE_DATA_BUFFER structure, this value must be at least sizeof(REPARSE_DATA_BUFFER_HEADER_SIZE), plus the size of the expected user-defined data, and it must be less than or equal to MAXIMUM_REPARSE_DATA_BUFFER_SIZE.

Return Value

FltFsControlFile or ZwFsControlFile returns STATUS_SUCCESS or an appropriate NTSTATUS value such as one of the following:

STATUS_BUFFER_OVERFLOW

The buffer that the OutputBuffer parameter points to is large enough to hold the fixed portion of the REPARSE_GUID_DATA_BUFFER or REPARSE_DATA_BUFFER structure but not the user-defined data. In this case, only the fixed portion of the reparse point data is returned in the OutputBuffer buffer. The LengthReturned parameter to FltFsControlFile receives the actual length, in bytes, of data returned. This is a warning code.

STATUS_BUFFER_TOO_SMALL

The buffer that the OutputBuffer parameter points to is not large enough to hold the reparse point data. The LengthReturned parameter to FltFsControlFile (or the Information member of the IoStatus parameter to ZwFsControlFile) receives the required buffer size. In this case, no reparse point data is returned. This is an error code.

STATUS_IO_REPARSE_DATA_INVALID

One of the specified parameter values was invalid. This is an error code.

STATUS_NOT_A_REPARSE_POINT

The file or directory is not a reparse point. This is an error code.

Requirements

Header

Ntifs.h (include Ntifs.h or Fltkernel.h)

See also

FLT_CALLBACK_DATA
FLT_PARAMETERS for IRP_MJ_FILE_SYSTEM_CONTROL
FLT_TAG_DATA_BUFFER
FltFsControlFile
FltTagFile
FltUntagFile
FSCTL_DELETE_REPARSE_POINT
FSCTL_SET_REPARSE_POINT
IRP_MJ_FILE_SYSTEM_CONTROL
IsReparseTagMicrosoft
IsReparseTagNameSurrogate
REPARSE_DATA_BUFFER
REPARSE_GUID_DATA_BUFFER
ZwFsControlFile

 

 

Send comments about this topic to Microsoft

Show: