QuickOPC User's Guide and Reference
MoveOrCopy Method (IEasyUAFileTransfer)



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.FileTransfer Namespace > IEasyUAFileTransfer Interface : MoveOrCopy Method
Endpoint descriptor. Identifies the OPC-UA server.
Node descriptor of the OPC UA directory.
The node Id of the file or directory to move or copy.
The node Id of the target directory of the move or copy command. If the file or directory is just renamed, the target directory matches the directoryNodeDescriptor.
A flag indicating if a copy of the file or directory should be created at the target directory.
The new name of the file or directory in the new location. If the string is empty, the name is unchanged.
Moves or copies an OPC UA file or directory to another directory, or renames a file or directory.
Syntax
'Declaration
 
<NotNullAttribute()>
Function MoveOrCopy( _
   ByVal endpointDescriptor As UAEndpointDescriptor, _
   ByVal directoryNodeDescriptor As UANodeDescriptor, _
   ByVal existingFileOrDirectoryNodeId As UANodeId, _
   ByVal newDirectoryNodeId As UANodeId, _
   ByVal copyObject As Boolean, _
   ByVal newName As String _
) As UANodeId
'Usage
 
Dim instance As IEasyUAFileTransfer
Dim endpointDescriptor As UAEndpointDescriptor
Dim directoryNodeDescriptor As UANodeDescriptor
Dim existingFileOrDirectoryNodeId As UANodeId
Dim newDirectoryNodeId As UANodeId
Dim copyObject As Boolean
Dim newName As String
Dim value As UANodeId
 
value = instance.MoveOrCopy(endpointDescriptor, directoryNodeDescriptor, existingFileOrDirectoryNodeId, newDirectoryNodeId, copyObject, newName)

Parameters

endpointDescriptor
Endpoint descriptor. Identifies the OPC-UA server.
directoryNodeDescriptor
Node descriptor of the OPC UA directory.
existingFileOrDirectoryNodeId
The node Id of the file or directory to move or copy.
newDirectoryNodeId
The node Id of the target directory of the move or copy command. If the file or directory is just renamed, the target directory matches the directoryNodeDescriptor.
copyObject
A flag indicating if a copy of the file or directory should be created at the target directory.
newName
The new name of the file or directory in the new location. If the string is empty, the name is unchanged.

Return Value

Returns the node Id of the moved or copied object. Even if the object is moved, the server may return a new node Id for it.
Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

The OPC UA operation has failed. This operation exception in uniformly used to allow common handling of various kinds of errors. The System.Exception.InnerException always contains information about the actual error cause.

This is an operation error that depends on factors external to your program, and thus cannot be always avoided. Your code must handle it appropriately.

Remarks

This method corresponds to (but is not fully identical with) the OPC UA File Transfer Method .

The directoryNodeDescriptor must be an existing node in the server, of object type OpcLabs.EasyOpc.UA.AddressSpace.Standard.UAObjectTypeIds.FileDirectoryType.

The existingFileOrDirectoryNodeId must be an existing node in the server, of object type OpcLabs.EasyOpc.UA.AddressSpace.Standard.UAObjectTypeIds.FileType or OpcLabs.EasyOpc.UA.AddressSpace.Standard.UAObjectTypeIds.FileDirectoryType.

Recommendation: Whenever possible, do not use this method directly, and use a higher-level abstraction instead. You can obtain a writable file provider (using IEasyUAFileTransferExtension.GetWritableFileProvider), and make use of its methods, and methods available on the writable directory contents (obtained using OpcLabs.BaseLib.Extensions.FileProviders.IWritableDirectory.GetWritableDirectoryContents) or writable file info (obtained using OpcLabs.BaseLib.Extensions.FileProviders.IWritableDirectory.GetWritableFileInfo).

Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also