QuickOPC User's Guide and Reference
MoveOrCopyFile(IEasyUAFileTransfer,UAEndpointDescriptor,UANamedNodeDescriptor,UANamedNodePath,Boolean,String) Method



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.FileTransfer Namespace > IEasyUAFileTransferExtension Class > MoveOrCopyFile Method : MoveOrCopyFile(IEasyUAFileTransfer,UAEndpointDescriptor,UANamedNodeDescriptor,UANamedNodePath,Boolean,String) Method
The OPC UA file transfer object that will perform the operation.
Endpoint descriptor. Identifies the OPC-UA server.
The named node descriptor of the file to move or copy.
The named node path of the target directory of the move or copy operation.
A flag indicating if a copy of the file should be created at the target directory.
The new name of the file in the new location. If the string is empty, the name is unchanged.
Moves or copies an OPC UA file to another directory, or renames a file.
Syntax
'Declaration
 
<ExtensionAttribute()>
<NotNullAttribute()>
Public Overloads Shared Function MoveOrCopyFile( _
   ByVal fileTransfer As IEasyUAFileTransfer, _
   ByVal endpointDescriptor As UAEndpointDescriptor, _
   ByVal existingFileNamedNodeDescriptor As UANamedNodeDescriptor, _
   ByVal newDirectoryNamedNodePath As UANamedNodePath, _
   ByVal copyObject As Boolean, _
   ByVal newName As String _
) As UANodeId
'Usage
 
Dim fileTransfer As IEasyUAFileTransfer
Dim endpointDescriptor As UAEndpointDescriptor
Dim existingFileNamedNodeDescriptor As UANamedNodeDescriptor
Dim newDirectoryNamedNodePath As UANamedNodePath
Dim copyObject As Boolean
Dim newName As String
Dim value As UANodeId
 
value = IEasyUAFileTransferExtension.MoveOrCopyFile(fileTransfer, endpointDescriptor, existingFileNamedNodeDescriptor, newDirectoryNamedNodePath, copyObject, newName)

Parameters

fileTransfer
The OPC UA file transfer object that will perform the operation.
endpointDescriptor
Endpoint descriptor. Identifies the OPC-UA server.
existingFileNamedNodeDescriptor
The named node descriptor of the file to move or copy.
newDirectoryNamedNodePath
The named node path of the target directory of the move or copy operation.
copyObject
A flag indicating if a copy of the file should be created at the target directory.
newName
The new name of the file 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 internally uses the OPC UA File Transfer Method .

The existingFileNamedNodeDescriptor must refer to an existing node in the server, of object type OpcLabs.EasyOpc.UA.AddressSpace.Standard.UAObjectTypeIds.FileType.

For this method to succeed, the existingFileNamedNodeDescriptor must always contain the named node path (of the parent directory), in the OpcLabs.EasyOpc.UA.Navigation.UANamedNodeDescriptor.NamedNodePath property.

Recommendation: Whenever possible, do not use this method directly, and use a higher-level abstraction instead. You can obtain a writable file provider (using 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