sendhb
驱动牛犊
驱动牛犊
  • 注册日期2003-01-23
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:889回复:3

联接不成功是怎么会事

楼主#
更多 发布于:2003-02-18 10:46
学习window wdm 驱动程序开发指南中,安装了2000ddk后,可以编译个;过光盘中的wdm1.等例子,然后自己写了仿照wdm1写了一个驱动。第一步DriverEntry,然后写AddDevice.如果AddDevice是空的函数的话,可以build成功。在其中加入IoCreateDevice后,build不成功,好象是联结的时候出错了,找不到IoCreateDevice函数,错误如下
ini.obj() : error LNK2001: unresolved external symbol \"__declspec(dllimport) long __stdcall IoCreateDevice(struct _DRIVER_OBJECT *,unsigned long,struct _UNICODE_STRING *,unsigned long,unsigned long,unsigned char,struct _DEVICE_OBJECT * *)\" (__imp_?IoCreateDevice@@YGJPAU_DRIVER_OBJECT@@KPAU_UNICODE_STRING@@KKEPAPAU_DEVICE_OBJECT@@@Z)
sys\\i386\\first.sys() : error LNK1120: 1 unresolved externals

是不是还要链接什么lib啊,还是怎么了
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-02-18 11:36
用户被禁言,该主题自动屏蔽!
xyyln
驱动老牛
驱动老牛
  • 注册日期2003-01-02
  • 最后登录2009-12-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-18 11:37
extern \"C\" #include \"wdm.h\"
[img]http://www.jt99.com/zjbbs/UploadFile/2003113018513643830.gif[/img]
sendhb
驱动牛犊
驱动牛犊
  • 注册日期2003-01-23
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-18 15:39
写了个
ini.h
内容
#include \"wdm.h\"
#include \"DebugPrint.h\"

extern \"C\"
NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath);

NTSTATUS NO1AddDevice( IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT pdo);
VOID NO1Unload(IN PDRIVER_OBJECT DriverObject);

typedef struct _WDM1_DEVICE_EXTENSION
{
PDEVICE_OBJECT fdo;
PDEVICE_OBJECT NextStackDevice;
UNICODE_STRING ifSymLinkName;

} WDM1_DEVICE_EXTENSI

然后在ini.cpp中
#include \"ini.h\"
并写函数体
没绝的哪错了哦
 :( :(
游客

返回顶部