FSCTL_DELETE_REPARSE_POINT control code

The FSCTL_DELETE_REPARSE_POINT control code deletes a reparse point from the specified file or directory. Using FSCTL_DELETE_REPARSE_POINT does not delete the file or directory.

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

Minifilters should use FltUntagFile instead of FSCTL_DELETE_REPARSE_POINT to delete a reparse point.

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

Parameters

FileHandle

File handle for the file or directory from which the reparse point is to be deleted. The caller must have write access to the file or directory. This parameter is required and cannot be NULL.

FsControlCode

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

InputBuffer

Pointer to a REPARSE_GUID_DATA_BUFFER or REPARSE_DATA_BUFFER structure. The tag specified in the ReparseTag member of this structure must match the tag of the reparse point to be deleted, and the ReparseDataLength member must be zero. In addition, if the reparse point is a third-party (non-Microsoft) reparse point, the GUID specified in the ReparseGuid member of the REPARSE_GUID_DATA_BUFFER structure must match the GUID of the reparse point to be deleted.

InputBufferLength

Size, in bytes, of the buffer pointed to by the InputBuffer parameter. For a REPARSE_GUID_DATA_BUFFER structure, this value must be exactly sizeof(REPARSE_GUID_DATA_BUFFER_HEADER_SIZE). For a REPARSE_DATA_BUFFER structure, this value must be exactly sizeof(REPARSE_DATA_BUFFER_HEADER_SIZE).

OutputBuffer

Not used with this operation; set to NULL.

OutputBufferLength

Not used with this operation; set to zero.

Return Value

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

STATUS_IO_REPARSE_DATA_INVALID

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

STATUS_IO_REPARSE_TAG_INVALID

The reparse tag specified by the caller was invalid. This is an error code.

STATUS_IO_REPARSE_TAG_MISMATCH

The reparse tag specified by the caller did not match the tag of the reparse point to be deleted. This is an error code.

STATUS_REPARSE_ATTRIBUTE_CONFLICT

The reparse point is a third-party reparse point, and the reparse GUID specified by the caller did not match the GUID of the reparse point to be deleted. This is an error code.

Requirements

Header

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

See also

FLT_PARAMETERS for IRP_MJ_FILE_SYSTEM_CONTROL
FltTagFile
FltUntagFile
FSCTL_GET_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:
© 2014 Microsoft