怎么从DLL文件获取IDL接口信息

Cw003333 2014-04-25 06:20:31
分析一个第三方的dll组件,从注册表已经知道CLSID和接口IID。接口中部分函数和参数也分析出来了
但是不知道接口的结构,所以没有合适的接口指针对象,现在用最原始的办法,自己随便写成一个接口,在自己的接口中同样内存位置放一样的函数,然后用这个类型去声明指针。这样比较麻烦的是每次分析出一个新的函数也需要修改自己的组件

我尝试用OLEView也不行,提示只能支持IID_IDataObject
...全文
175 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cw003333 2014-04-26
  • 打赏
  • 举报
回复
谢谢,可以了!不知道为什么第一次编译时候不行,一直提示我找不到tlh
encoderlee 2014-04-26
  • 打赏
  • 举报
回复
#import以后才会出现tlh文件 这是COM组件在VC下的用法 http://msdn.microsoft.com/zh-cn/library/8etzzkb6.aspx COM组件都是这样用的,只需要dll就足够了
Cw003333 2014-04-25
  • 打赏
  • 举报
回复
引用 1 楼 CharlesSimonyi 的回复:
在VisualStudio中建个VC工程,cpp文件里#import "dll路径\dll名.dll" 编译后看看DEBUG文件夹下生成的tlh头文件tli定义文件里有没有你想要的东西
需要先有tlh文件,才可以import吧。我现在只有dll文件,没有tlh和idl文件
encoderlee 2014-04-25
  • 打赏
  • 举报
回复
在VisualStudio中建个VC工程,cpp文件里#import "dll路径\dll名.dll" 编译后看看DEBUG文件夹下生成的tlh头文件tli定义文件里有没有你想要的东西

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧