DeviceIoControl问题

wbml 2007-08-29 04:42:45
驱动:
RtlInitUnicodeString(&FilDevName,L"\\Device\\TdiFilter");
RtlInitUnicodeString(&FilDevLink,L"\\DosDevices\\TdiFilter");
//Create Device
status = IoCreateDevice(pDriObj,0,NULL,FILE_DEVICE_UNKNOWN,0,TRUE,&g_DevObj);
//Create SymbolicLink
status = IoCreateSymbolicLink(&FilDevLink,&FilDevName);
应用程序:
hFile = CreateFile("\\\\.\\TdiFilter",GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);
怎么hFIle总是INVALID_HANDLE_VALUE
...全文
225 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghyd 2007-10-01
  • 打赏
  • 举报
回复
唉 . 老大 ,你的代码有问题 .
IoCreateDevice(pDriObj,0,NULL,FILE_DEVICE_UNKNOWN,0,TRUE,&g_DevObj);
其中第三个参数是你要创建的这个设备对象的名字 .你却用了"NULL" 应该用上面你声明的FilDevName作为参数.
这样, 接下来调用IoCreateSymbolicLink后 就可以将你的设备名和你的符号链接名连接在一起了. 接下来,你就可以使用
CreateFile("\\\\.\\TdiFilter",....... 来打开设备了.
pass86 2007-10-01
  • 打赏
  • 举报
回复
.inf

求购:度过NP,模拟键盘按键,鼠标移动,代码。

求购:度过NP,模拟键盘按键,鼠标移动,代码。
从速:
13406738163。
pass86@gmail.com
koko_han 2007-09-27
  • 打赏
  • 举报
回复
通过SC命令看驱动有没有load起来
oushengfen 2007-09-26
  • 打赏
  • 举报
回复
首先问你,你的驱动实现这个IRP_MJ_CREATE,没有,这个例程有没有问题,二、你安装系统时,出现异常没有?如果两者都是好的,那就不知道什么原因了。
bsky01 2007-09-25
  • 打赏
  • 举报
回复
用GetLastError获取错误码看看
skertone 2007-09-03
  • 打赏
  • 举报
回复
\\\\.\\TdiFilter 就可以了?我怎么 还要调 GetDeviceViaInterface
oushengfen 2007-09-03
  • 打赏
  • 举报
回复
这个要看你的驱动程序里,符号是否真正创建,一般在驱动安装时就可以看出来,如果没出错,一般就创建好了,还有你要实现IRP_MJ_CREATE这个例程啊
亮仔86 2007-08-30
  • 打赏
  • 举报
回复
不知道为什么。
wbml 2007-08-29
  • 打赏
  • 举报
回复
我是要应用程序和驱动通信
wbml 2007-08-29
  • 打赏
  • 举报
回复
没听明白,你是说把这个驱动在注册表的东西删掉?那这个驱动怎么启动?
mybayern1974 2007-08-29
  • 打赏
  • 举报
回复
原因可能是这个hFile已经存在。不知你写的这个驱动是否涉及到向注册表植入信息,如果是的话,把注册表里相应的信息删除,之后重启机器,也许会管用。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧