This Method shall acquire Locks required by the ControlGroup in the ListToRestrict and ListToBlock. If acquiring any Lock fails, all Locks shall be released, and the appropriate LockStatus shall be returned. If all required Locks can be acquired, the Method shall set the IsControlled flag and create the Controls Reference.
It is recommended that this Method be restricted to Client connections that have the well-known Role ConnectionAdmin as defined in Clause 5.9.
EstablishControl shall set Lock LockingClient to the LockContext Argument.
The signature of this Method is specified below; the arguments are defined in Table 62.
Signature
EstablishControl (
[in] 0:String LockContext,
[out] 0:Int32 LockStatus
);
Table 62 – EstablishControl Method Arguments
Argument |
Description |
LockContext |
A string used to provide context information about the lock-owner. It may be the NodeId (in string representation) of a ConnectionEndpoint or the ApplicationUri of a Client connection as provided in the CreateSession Service Call (see OPC 10000-4). If this parameter is a null string, it shall default to the ApplicationUri of the Client connection initiating this command. |
LockStatus |
0 – OK -1 – E_AlreadyLocked – An element is already locked; this might be an entire Lock, or it might be a single variable in one of the lists. -2 – E_Invalid – the element cannot be locked |
The possible Method result codes are formally defined in Table 63.
Table 63 – EstablishControl Method result codes
ResultCode |
Description |
Bad_UserAccessDenied |
The caller is not allowed to establish control on the ControlGroup. |
The EstablishControl Method representation in the AddressSpace is formally defined in Table 64.
Table 64 – EstablishControl Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
3:EstablishControl |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
0:HasProperty |
Variable |
0:InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
0:OutputArguments |
Argument[] |
0:PropertyType |
Mandatory |
ConformanceUnits |
|||||
UAFX IFunctionalEntity ControlGroups |