As I understand, every program that is using com communication has to implement IUnknown interface.
The query interface method is the method that calls to the query interface.
My question is how can I use this method or access this IUnknown interface,
Using Jacob jar or even with vbscript?
If possible I'd like a code example in vbscript.
Set x = CreateObject("Object.Name")
This is from help in the Appendix of the Automation Programming Reference. Note VBS only does GetObject/CreateObject. So CoCreateInstance gets IUnknown. Which is then used to query for IDispatch. All other interfaces inheiret from IUnknown so you queryref on any interface as IUnknown's methods are in every interface.
Mapping Visual Basic to Automation
Visual Basic provides full support for Automation. The following table lists how Visual Basic statements translate into OLE APIs.
Visual Basic statement OLE APIs CreateObject (ProgID) CLSIDFromProgID CoCreateInstance QueryInterface to get IDispatch interface. GetObject (filename, ProgID) CLSIDFromProgID CoCreateInstance QueryInterface for IPersistFile interface. Load on IPersistFile interface. QueryInterface to get IDispatch interface. GetObject (filename) CreateBindCtx creates the bind context for the subsequent functions. MkParseDisplayName returns a moniker handle for BindMoniker. BindMoniker returns a pointer to the IDispatch interface. Release on moniker handle. Release on context. GetObject (ProgID) CLSIDFromProgID GetActiveObject on class ID. QueryInterface to get IDispatch interface. Dim x As New interface Find CLSID for interface. CoCreateInstance QueryInterface © Microsoft Corporation. All rights reserved.