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")
That's VBScript.
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.
**Component Automation**
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.