4226|7

83

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于类协作安装程序注册入口函数调用不成功的问题,各位大哥帮忙看看。 [复制链接]

{
    MessageBox(NULL,"(_)","ggj",MB_

最新回复

分数送楼上二位了。 谢谢关注。  详情 回复 发表于 2009-3-5 17:42
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
补充说明:
我的代码是加载在一个win32 DLL工程中编译生成的.dll文件。
 
 

回复

97

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
问题已经解决了。是我在导出函数时忘了用
extern "C" 声明了。

昨天查SetupDiCallClassInstaller的源代码。
看到它加载我的导出函数时才想到好像我的导出函数有问题。
爆汗!!!

不过新问题又来了:
虽然现在"调用成功"的提示框可以出来了,但驱动却不能正常安装了。
安装完成界面提示:
安装设备时,出现一个错误
句柄无效
是在接收到 DIF_ALLOW_INSTALL 我的函数返回后出现的。
不知道应该怎么调试,有经验的朋友说说。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
关注 接分
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

5
 
楼主,您好:

      我现在也碰到“入口函数不被调用”的问题,因为刚刚接触这个,不太明白你说的导出函数 extern "C"的作用,因为我建立的DLL中都是C文件,也需要 extern "C"么,具体该怎么做,请指教一下,谢谢!
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

6
 
楼上,用extern "C"声明是告诉编译器使用C编译器而不是C++编译器编译我的导出函数。
C++编译器在编译一个函数时为了实现重载,编译得出的实际函数名和你制定的名字有所不同。
由于这个是写在DLL中的,在外部调用这个函数时,只会根据你指定的函数名调用。所以我这里要用extern "C"声明编译器。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
这个帖子中的问题已经解决了。抱歉的很,这么久了才上来结帖。
我的犯的错误是编译DLL时,使用了VC6的环境;而在进行驱动程序开发时,你的代码都应该是背DDK自带的编译环境进行编译的。
 
 
 

回复

121

帖子

0

TA的资源

一粒金砂(中级)

8
 
分数送楼上二位了。
谢谢关注。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表