3.1.4.2 Receiving a FSCTL_LMR_SET_LINK_TRACKING_INFORMATION Request

The FSCTL_LMR_SET_LINK_TRACKING_INFORMATION request is defined in [MS-FSCC], section 2.3.37. If the connection to the remote machine is using the [MS-SMB] protocol, this request is received via an NT_TRANSACT_IOCTL subcommand of an SMB_COM_NT_TRANSACTION request, as specified in [MS-SMB] section 2.2.7.2.1. Otherwise, this request is received in an SMB2 IOCTL request, as specified in [MS-SMB2] section 2.2.31.

This request is sent when a file has been moved by a remote machine between volumes within the local machine, or from the local machine to another machine, as defined in section 3.1.6.4.

Requests can be sent with or without a TargetFileObject value set in the REMOTE_LINK_TRACKING_INFORMATION data element, as specified in [MS-FSCC], section 2.3.37.

  1. If the TargetFileObject field is not zero:

    • The file was moved by a remote machine, but from one volume on the local machine to another volume on the local machine.

    • This request MUST be processed by following the steps of section 3.1.6.1.

  2. If the TargetFileObject field is zero:

    • The file was moved by a remote machine, from the local machine, to another machine.

    • An entry MUST be added to the MoveTable for the source file's ObjectID. The MachineID field of that entry MUST be the value from the NetBIOSName field of the TargetLinkTrackingInformationBuffer field in the request. For the FileLocation field of the new MoveTable entry, the VolumeID MUST be the value of the VolumeID field of the TargetLinkTrackingInformationBuffer field in the request, and the ObjectID MUST be the value of the ObjectID field of the TargetLinkTrackingInformationBuffer field in the request.