chudd
驱动牛犊
驱动牛犊
  • 注册日期2003-07-02
  • 最后登录2010-09-21
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:2351回复:9

用WINOBJ看到符号连接名,但用CreateFile打开失败?

楼主#
更多 发布于:2003-10-10 17:38
用WINOBJ看到符号连接名为hellWdm,但用CreateFile打开失败
CreateFile(\"\\\\\\\\.\\\\helloWdm\",GENERIC_ALL,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
返回值为-1,是什么原因?
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-10 22:43
是不是应该这样:
hDevice = CreateFile( TEXT(\"\\\\\\\\.\\\\%S\"),
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL );

if (m_hDevice == INVALID_HANDLE_VALUE)
juventus
驱动牛犊
驱动牛犊
  • 注册日期2003-06-23
  • 最后登录2009-07-02
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-11 13:16
是WDM驱动吗?

有没有
fdo->Flags &= ~DO_DEVICE_INITIALIZING;
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-11 14:13
用WINOBJ看到符号连接名为hellWdm,但用CreateFile打开失败
CreateFile(\"\\\\\\\\.\\\\helloWdm\",GENERIC_ALL,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
返回值为-1,是什么原因?

使用GENERIC_READ呢?
最好跟踪一下,看问题出在什么地方
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
chudd
驱动牛犊
驱动牛犊
  • 注册日期2003-07-02
  • 最后登录2010-09-21
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-13 08:27
是WDM驱动,用GENERIC_READ也不行,我在设备管理器中看到设备工作正常,WINOBJ也能看到符号连接名,但CreateFile返回-1,用GetLastError()函数看到返回值为1(Incorrect function),不明白什么原因,请教?
对了,是不是一定根IRP_MJ_CREATE 派遣例程才能用CreateFile打开?我没写这个派遣例程。

[编辑 -  10/13/03 by  chudd]

[编辑 -  10/13/03 by  chudd]

[编辑 -  10/13/03 by  chudd]
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2003-10-13 10:23
废话,这都返回失败,当然出错拉.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
6楼#
发布于:2003-10-13 11:53
没有 IRP_MJ_CREATE 派遣例程当然不能用 CreateFile打开。
八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
chudd
驱动牛犊
驱动牛犊
  • 注册日期2003-07-02
  • 最后登录2010-09-21
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-10-13 15:55
谢谢,CreateFile成功了!
IRP_MJ_WRITE的派遣例程为DispWrite,在测试程序中使用WriteFile向这个设备中写数据,执行失败。用softIce设断点bpx dispWrite,当测试程序执行WriteFile时却没有在驱动程序的DispWrite例程内中断,用同样的方法在DispCreate设断点,调试程序执行CreateFile能成功中断。不知出了什么错误?
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-10-13 16:02
IRP返回的状态是什么?先分清进没进DISPWRITE
根据地的兄弟们,团结就是力量
chudd
驱动牛犊
驱动牛犊
  • 注册日期2003-07-02
  • 最后登录2010-09-21
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-10-13 16:05
对不起,是我搞错了,CreateFile的属性设成了只读,谢谢各位!


[编辑 -  10/13/03 by  chudd]
游客

返回顶部