将外部可访问的方法添加到activex dll(axvlc.dll)

时间:2013-06-11 18:39:54

标签: c++ c dll activex libvlc

我正在尝试修复/更新VLC ActiveX dll,但我无法看到新方法。

这些方法本身很容易编写而且只是c / c ++,但是项目/ dll中的某个地方是粘合剂,用于转换DLL中方法与activex dll公开的“友好名称”之间的调用。

例如,它已经有一个VLCMediaDescription :: get_title方法,但是当通过activex接口访问它时,它是vlc_object.mediaDescription.title

我在.idl文件中没有看到任何可以执行此操作的内容。

有人可以告诉我在哪里进行翻译吗?

FWIW,这是Visual Studio 2012。

我尝试过使用向导,但它似乎崩溃了很多,并没有产生任何有用的东西。

“向我解释就像我5岁”会很棒。

谢谢!

特里

1 个答案:

答案 0 :(得分:1)

已经有一段时间了,但是如果内存服务于idl文件应该是创建一个定义方法和属性的类型库并为每个分配一个DISPID的东西。 IDispatch(或IDispatchEx)实现应该是您实际执行操作以响应idl文件中定义的DISPID的位置。我认为ATL对类型库做了一些魔术,比如自动查找和调度到get_ *和put_ *等等。否则,在IDispatch实现中,您可以在类型库中进行查找。有关函数的文档,请参阅自动化reference