The links above may not work in Microsoft Help Viewer (Visual Studio) due to a bug in the software we use to create the documentation and help. Following links to the Web-based (online) help can be used instead:
The COM objects of QuickOPC are based upon the underlying .NET objects. In order to avoid duplicities and mismatches, the documentation is primarily maintained for the .NET objects. The .NET objects are exposed using the "interop" mechanism to the COM world using an automated translation provided by Microsoft. Therefore, a documentation that applies to a .NET type or member that is exposed to COM can be assumed to apply to the corresponding .NET type or member as well.
The bulk of the reference documentation for COM type libraries is generated from the type libraries themselves. This means that only a limited descriptive text (typically, one line) is available with each type or member. You need to look to the reference documentation for the .NET assemblies in order to find the more detailed documentation.
In addition, some languages or COM-based tools do not make direct use of the type libraries, and therefore require some additional effort to use the COM objects - such as knowing their ProgIDs, dealing with interface IDs (IIDs), etc.
Below are some rules and conventions that help with using the reference documentation for COM.
This is not usually needed, but may be useful if you are writing a setup program for your application, and want to deploy only the .NET assemblies that are needed to run the COM objects that you are actually using.
The .NET assembly has the same name as its corresponding type library, except that the .DLL extension is used instead of .TLB.
For example, in order to use types from the OpcLabs.EasyOpcUA.tlb type library, the OpcLabs.EasyOpcUA.dll assembly is needed. Note that due to assembly dependencies, some more assemblies may be needed as well.
For a COM object, you need to locate the corresponding .NET object in order to find more detailed documentation related to the object.
The .NET objects that corresponds to the COM object has the same simple name, but is qualified with some namespace. Use the Search functionality of the help system to find the reference documentation for the .NET object, typing in the name of the COM object you are interested in.
For example, the EasyUAClient COM object corresponds to OpcLabs.EasyOpc.UA.EasyUAClient object in .NET.
The CLSID may be needed to create a COM object in some languages (e.g. C++).
In order to determine the CLSID of the COM object, first find the reference documentation for its corresponding .NET object. The CLSID is then listed as the GuidAttribute of this .NET object.
The CLSID may be needed to create a COM object in some languages (e.g. VBScript).
In order to determine the CLSID of the COM object, first find the reference documentation for its corresponding .NET object. The ProgID is then same as the fully qualified name of that type (i.e. including the namespace). For example, for the EasyUAClient COM object, the ProgID is "OpcLabs.EasyOpc.UA.EasyUAClient".
The default COM interface is the interface that implements the members of the COM object. You need to locate the reference documentation for the default interface to find more detailed information related to the object.
The default COM interface has the same name as the COM object, but is preceded with an underscore ('_'). In order to view the reference documentation for the default COM interface, first find the reference documentation for the .NET object that corresponds to the COM object you are interested in. On the Overview page of that .NET object, you will see the list of interfaces that the object implements. Click on the interface that starts with an undescore and has the same name as the object.
For example, the default COM interface for EasyDAClient object is named _EasyDAClient.
The IID may be needed to access the COM object in some languages (e.g. C++).
In order to determine the IID of the default COM interface, first find the reference documentation for this interface. The IID is then listed as the GuidAttribute of this interface.