a5796489
驱动牛犊
驱动牛犊
  • 注册日期2010-09-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1935回复:2

关于CreateFile打开设备的问题

楼主#
更多 发布于:2012-02-15 16:18
我在ndis中间层驱动里创建了设备及其符号链接,但是在应用层调用CreateFile来打开设备时,返回了错误,错误号为2:系统找不到指定的文件。
通过WinDbg跟踪发现设备和符号链接都创建成功了,再用Winobj看设备也是存在的,但用CreateFile就是打不开,GetLastError依然返回2。
设备名为:L"\\Device\\MyNdisDevice"
符号链接名为:L"\\DosDevices\\MyNdisDevice"
CreateFile函数相关代码:
  hDevice = CreateFile(
    L"\\\\.\\MyNdisDevice",
    GENERIC_READ | GENERIC_WRITE,
    0,
    NULL,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    NULL);

另外,我是在《寒江独钓》光盘源代码的AddDevice函数基础上加了一段创建符号链接的代码,主要是想在应用层上和驱动进行通信。
困挠一整天了,发上论坛求大师们帮下忙,我是初学者。
wangbosi
驱动牛犊
驱动牛犊
  • 注册日期2011-06-16
  • 最后登录2013-12-21
  • 粉丝1
  • 关注4
  • 积分3788分
  • 威望281点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2012-02-18 11:52
把符号链接取另外一个名字和设备的名字不同的一个。然后再试试看看能不能成功。
a5796489
驱动牛犊
驱动牛犊
  • 注册日期2010-09-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2012-02-20 14:19
驱网真烂,打开又慢,人又少,难怪人都跑看雪和CSDN去了。
游客

返回顶部