FSCTL_GET_REPARSE_POINT - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// winioctl.h

// CTL_CODE(0x0009, 0x02a, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_GET_REPARSE_POINT 0x000900A8
View the official Win32 API reference
// ntifs.h

// CTL_CODE(0x0009, 0x02a, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_GET_REPARSE_POINT 0x000900A8
View the official Windows hardware development documentation

NtDoc

No description available.

Win32 API reference (ni-winioctl-fsctl_get_reparse_point)

FSCTL_GET_REPARSE_POINT IOCTL

Description

Retrieves the reparse point data associated with the file or directory identified by the specified handle.

To perform this operation, call the DeviceIoControl function with the following parameters.

BOOL DeviceIoControl(
  (HANDLE) hDevice,             // handle to file or directory
  FSCTL_GET_REPARSE_POINT,      // dwIoControlCode
  NULL,                         // lpInBuffer
  0,                            // nInBufferSize
  (LPVOID) lpOutBuffer,         // output buffer
  (DWORD) nOutBufferSize,       // size of output buffer
  (LPDWORD) lpBytesReturned,    // number of bytes returned
  (LPOVERLAPPED) lpOverlapped   // OVERLAPPED structure
);

Parameters

Input buffer

Input buffer length

Output buffer

Output buffer length

Input/output buffer

Input/output buffer length

Status block

Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful.

Otherwise, Status is set to the appropriate error condition as a NTSTATUS code.

For more information, see NTSTATUS Values.

Remarks

For the implications of overlapped I/O on this operation, see the Remarks section of DeviceIoControl.

In Windows 8 and Windows Server 2012, this code is supported by the following technologies.

Technology Supported
Server Message Block (SMB) 3.0 protocol Yes
SMB 3.0 Transparent Failover (TFO) Yes
SMB 3.0 with Scale-out File Shares (SO) Yes
Cluster Shared Volume File System (CsvFS) No
Resilient File System (ReFS) Yes

CsvFs does not support reparse points.

See also


Windows hardware development documentation (fsctl-get-reparse-point)

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

Status block

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

Code Meaning
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 OutputBufferLength bytes are 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 OutputBuffer points to is less than sizeof(REPARSE_GUID_DATA_BUFFER) and 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

Requirement type Requirement
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