如何在com上访问IUnknown com接口

时间:2015-07-23 13:53:16

标签: java dll vbscript com

据我所知,每个使用com通信的程序都必须实现IUnknown接口。

查询接口方法是调用查询接口的方法。

我的问题是如何使用此方法或访问此IUnknown接口, 使用Jacob jar甚至使用vbscript?

如果可能,我想在vbscript中使用代码示例。

1 个答案:

答案 0 :(得分:0)

Set x = CreateObject("Object.Name")

那是VBScript。

这可以从自动化编程参考的附录中获得帮助。注意VBS只执行GetObject / CreateObject。所以CoCreateInstance获得了IUnknown。然后用于查询IDispatch。所有其他接口都来自IUnknown,因此您可以在任何接口上查询,因为IUnknown的方法在每个接口中。

  **Component Automation**  

将Visual Basic映射到自动化

Visual Basic为Automation提供全面支持。下表列出了Visual Basic语句如何转换为OLE API。

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.