【问题标题】:problems communicating with driver from user mode从用户模式与驱动程序通信的问题
【发布时间】:2010-11-09 05:28:27
【问题描述】:

我已经编写了一个驱动程序,并为它创建了一个符号名称。符号名称是...

L"\\DosDevices\\somename"

...当我尝试从用户模式使用 CreateFile 访问设备对象时,我总是收到错误代码 3(找不到路径)。

我尝试通过以下路径使用 CreateFile ...

L"\\\\.\\somename"

L"\\Device\\somename"

...但它不起作用:我总是收到错误代码 3

有人知道为什么吗?

【问题讨论】:

  • 我可能错了,但不应该是 CHAR,而不是 WCHAR 吗? (即删除 L)。另外,我很确定您需要斜杠,因此:“\\\\.\\DosDevices\\somename”。请记住,您将始终让每个实际想要的反斜杠使用两个反斜杠。
  • 您的驱动程序是否已成功加载,并在其初始化期间进行了创建/宣传设备名称所需的 API 调用?

标签: windows kernel drivers


【解决方案1】:

使用WinObj 并查看符号是否已成功创建——链接应显示在 GLOBAL?? 下。如果不是,你的驱动程序有问题。

顺便说一句。 \\.\somename 是正确的。

【讨论】:

    猜你喜欢
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 2018-07-12
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    相关资源
    最近更新 更多