如何取得COM中IDispatch的所有函数名称和参数?


例如有如下接口
ISomeInterface::Foo (ISomeInterface是从IDispatch派生)

如果通过IDispatch,来得知ISomeInterface::Foo函数名称

VC c# ATL

海呀好气啊 12 years, 7 months ago

一个COM组件的接口函数在开发阶段是用idl定义的,如果支持双接口(IDispatch),则会生成关于接口的所有函数的类型库信息。可以用随SDK带的工具OleViewer来查看。
如果已经知道了组件的IDispatch,则可以通过GetTypeInfo获得ITypeInfo接口,从它可以获得所有的函数名称、参数,返回值等等信息。

岂因声小不呐喊 answered 12 years, 7 months ago

Your Answer