OPC Studio User's Guide and Reference
CreateOrOpenFile Method



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.FileTransfer Namespace > IEasyUAFileTransferExtension Class : CreateOrOpenFile 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 or open.
Opens an existing OPC UA file, or creates a new OPC UA file if it does not exist yet.
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 or 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

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 always opens the file both for reading and for writing.

"Clients can open the same file several times for read. A request to open for writing shall return Bad_NotWritable when the file is already opened. A request to open for reading shall return Bad_NotReadable when the file is already opened for writing."

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