阅读:2521回复:3
关于驱动程序与dll交互的问题,人都折腾疯了!!
小弟想在驱动程序编译的时候加入了一个由dll引出的函数一起编译想让其共同完成驱动的生成,仅在passive_level上调用,于是写了下面的两个简单的驱动跟函数验证下行否,结果郁闷了,按照正常的应用程序+连接库的渠道未能通过编译,显示下面信息,还请各位指教为何会如此呀?实在不明白,已经晕了无数次了.
unresolved external symbol "__declspec(dllimport) int __stdcall getlen(int)" (__imp_?getlen@@YGHH@Z) referenced in function "long __stdcall Wdm1Pnp(struct _DEVICE_OBJECT *,struct _IRP *)" (?Wdm1Pnp@@YGJPAU_DEVICE_OBJECT@@PAU dll里函数极其简单: int getlen(int size) { int b = 2; b += size; return b; } 在驱动里调用地点是pnp中 int c = getlen(4); |
|
|
沙发#
发布于:2007-09-26 10:44
提示这个错误是由于连接时候找不到函数的定义,我只会在win32应用程序里调用dll,驱动中没弄过。在应用程序里调用dll有显式和隐式之分。你的调用应该不正确吧。把dll的lib文件加到link里面试下。
|
|
板凳#
发布于:2007-09-30 23:30
|
|
地板#
发布于:2008-06-12 11:35
应用的DLL驱动是不能调用的,如果要在驱动里调用,DLL需要改写成驱动层的方式
|
|
|