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



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.FileTransfer Namespace > IEasyUAFileTransfer Interface : GetFilePosition Method
Endpoint descriptor. Identifies the OPC-UA server.
Node descriptor of the OPC UA file.
A handle indicating the access request and thus indirectly the position inside the file.
Provides the current position of the file handle.
Syntax
'Declaration
 
Function GetFilePosition( _
   ByVal endpointDescriptor As UAEndpointDescriptor, _
   ByVal fileNodeDescriptor As UANodeDescriptor, _
   ByVal fileHandle As UAFileHandle _
) As Long
'Usage
 
Dim instance As IEasyUAFileTransfer
Dim endpointDescriptor As UAEndpointDescriptor
Dim fileNodeDescriptor As UANodeDescriptor
Dim fileHandle As UAFileHandle
Dim value As Long
 
value = instance.GetFilePosition(endpointDescriptor, fileNodeDescriptor, fileHandle)

Parameters

endpointDescriptor
Endpoint descriptor. Identifies the OPC-UA server.
fileNodeDescriptor
Node descriptor of the OPC UA file.
fileHandle
A handle indicating the access request and thus indirectly the position inside the file.

Return Value

Returns the position of the fileHandle in the file. If a ReadFile or WriteFile is called, it starts at that position.
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 fileNodeDescriptor must be an existing node in the server, of object type OpcLabs.EasyOpc.UA.AddressSpace.Standard.UAObjectTypeIds.FileType.

In OPC UA, the position is UInt64. In this method, the position is System.UInt32, and only non-negative values are valid.

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 IEasyUAFileTransferExtension.GetFileProvider2 or IEasyUAFileTransferExtension.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