This is what I tried, but doesn't work:
Code: Select all
UaServer_OptionalNodePath optional_nodes;
num_elements = 2;
optional_nodes.Elements = (OpcUa_QualifiedName*)OpcUa_Alloc(sizeof(OpcUa_QualifiedName)*num_elements);
optional_nodes.NoOfElements = num_elements;
UaBase_CreateQualifiedNameEx(&optional_nodes.Elements[0], "pCustomVar1", g_SomeNamespaceIndex);
UaBase_CreateQualifiedNameEx(&optional_nodes.Elements[1], "pCustomVar2", g_SomeNamespaceIndex);
uStatus = UaServer_CreateInstance(&pNode,&newId,&refTypeId,"NewNode","NewNode",2,&optional_nodes);
...
Alright, I think I figured it out:
Code: Select all
UaServer_OptionalNodePath p_optional_nodes[2];
OpcUa_QualifiedName names_1[1];
OpcUa_QualifiedName names_2[1];
p_optional_nodes[0].Elements = names_1;
p_optional_nodes[0].NoOfElements = 1;
UaBase_CreateQualifiedNameEx(&names_1[0], "pCustomVar1", g_SomeNamespaceIndex);
p_optional_nodes[1].Elements = names_2;
p_optional_nodes[1].NoOfElements = 1;
UaBase_CreateQualifiedNameEx(&names_2[0], "pCustomVar2", g_SomeNamespaceIndex);
uStatus = UaServer_CreateInstance(&pNode,&newId,&refTypeId,"NewNode","NewNode",2,p_optional_nodes);
...