The Method GetResultById is used to retrieve a result. Depending on the design of the system, the Client may be informed by Events of ResultReadyEventType that a new result is available. Then, the Client might fetch this result using the information provided by Events of ResultReadyEventType which is defined in Section 8.1.

Since the ResultId is supposed to be system-wide unique, this Method shall return only a single result. Since there may be additional result content to be retrieved by temporary file transfer, the Server should keep result data available, resources permitting, until the Client releases the handle by calling ReleaseResultHandle. However, the Client cannot rely on the data to remain available until then.

The signature of this Method is specified below. Table 4 and Table 5 specify the Arguments and AddressSpace representation, respectively.

Signature

GetResultById (

[in]0:TrimmedStringresultId,

[in]0:Int32timeout,

[out]0:HandleresultHandle,

[out]ResultDataTyperesult,

[out]0:Int32error)

Table 4 – GetResultById Method Arguments

Argument

Description

resultId

System-wide unique identifier for the result.

timeout

With this argument the Client can give a hint to the Server how long it will need access to the result data.

A value > 0 indicates an estimated maximum time for processing the data in milliseconds.

A value = 0 indicates that the Client will not need anything besides the data returned by the method call.

A value < 0 indicates that the Client cannot give an estimate.

The Client cannot rely on the data being available during the indicated time period. The argument is merely a hint allowing the Server to optimize its resource management.

resultHandle

The Server shall return to each Client requesting result data a system-wide unique handle identifying the result set / Client combination. This handle should be used by the Client to indicate to the Server that the result data is no longer needed, allowing the Server to optimize its resource handling.

If the instance of ResultManagementType does not support the ReleaseResultHandle Method, the resultHandle should always be set to 0.

If the error is set to a value other than 0, the resultHandle may be set to 0.

result

The result including metadata. May be set to Null, if error is set to a value other than 0.

error

0 – OK

Values > 0 are reserved for errors defined by this and future standards.

Values < 0 shall be used for application-specific errors.

Table 5 – GetResultById Method AddressSpace Definition

Attribute

Value

BrowseName

GetResultById

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

0:Mandatory