OPC Studio User's Guide and Reference
CreateAndOpenFile Method



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.FileTransfer Namespace > IEasyUAFileTransferExtension Class : CreateAndOpenFile Method
The OPC UA file transfer object that will perform the operation.
Endpoint descriptor. Identifies the OPC-UA server.
Node descriptor of the OPC UA directory.
The name of the file to create and open.
Creates a new OPC UA file, organized under an existing directory, and immediately opens it.
Syntax

Parameters

fileTransfer
The OPC UA file transfer object that will perform the operation.
endpointDescriptor
Endpoint descriptor. Identifies the OPC-UA server.
directoryNodeDescriptor
Node descriptor of the OPC UA directory.
fileName
The name of the file to create and open.

Return Value

Returns a tuple consisting of a node descriptor of the file, and an OPC UA file handle that can be used to access the file (UAFileHandle).
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

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

The fileName "is used for the BrowseName and DisplayName of the file object and also for the file in the file system. For the BrowseName, the fileName is used for the name part of the QualifiedName. The namespace index is Server specific. For the DisplayName, the fileName is used for the text part of the LocalizedText. The locale part is Server specific."

When a client opens a file, it gets a file handle that is valid while the session is open. You should use the CloseFile method to release the handle when they do not need access to the file anymore. Make sure you also explicitly call System.IDisposable.Dispose on the file handle returned from this method. The OPC UA file handle, until disposed of, causes the client to keep a session open on the server.

This method does not return the node Id of the newly created file. If you need it together with the file handle, use the CreateFile method instead.

This method will throw an exception if the file you are attempting to create already exists.

Recommendation: Whenever possible, do not use this method directly, and use a higher-level abstraction instead. You can create System.IO.Stream objects for accessing the file data by using methods like OpcLabs.EasyOpc.UA.IO.Extensions.IEasyUAFileTransferExtension2.OpenOrCreateStream, or obtain them through a file provider (using GetFileProvider2 or GetWritableFileProvider).

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