xiaoli169
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2005-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1833回复:12

小妹再求教

楼主#
更多 发布于:2004-08-04 21:23
小妹刚刚开始写驱动,问题不免见拙,望指教。

在WIN2K下可以用WINOBJ看到DEVICE列表中有我的卡,可是在\\??中没有,我如何创建\\??中的设备名称?
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-06 08:54
没大看懂,帮你顶一下
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
xiaoli169
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2005-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-06 10:14
天啊,我说的这么不入行啊?这么说吧:

NTSTATUS CreatDevice(...)

{.....
 CUString devName("\\Device\\PCCARD0-0");
 devName+=CUString(ulDeviceNumber);
......
 status=IoCreatDevice(.....);
........
CUString symLinkName("\\??\\**");
.......
}

是这段代码生成FDO,并把PDO和FDO连接起来么?
只有在安装了.SYS后才能看到驱动运行的情况么?能不能阶段调试?

多谢大侠不吝赐教和鼎力支持!
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-06 10:35
好像这样是不行的,驱动的调试不能动态的,只能加载(安装后)才能调试!
我的看法!
欢迎大侠们评论。
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
xiaoli169
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2005-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-06 14:42
多谢大家的指点。小妹还有一个关于符号连接的问题:

“在应用层开发中我们可以调用以下函数来创建一个\\??目录下的符号连接:
BOOL  okay=DefineDosDevice(DDD_RAW_TARGET_PATH,"PCCARD","\\Device\\PCCARD0");”

请问在驱动程序中什么是“应用层”?上面一句话是为了创建一个虚拟设备么?
zlf1110
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分39分
  • 威望365点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-11 10:14
XP和2000下面的驱动没有这么麻烦,使用全局ID连接,比较简单。
zlf1110
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
6楼#
发布于:2004-08-11 10:31
多谢大家的指点。小妹还有一个关于符号连接的问题:

“在应用层开发中我们可以调用以下函数来创建一个\??目录下的符号连接:
BOOL  okay=DefineDosDevice(DDD_RAW_TARGET_PATH,"PCCARD","\Device\PCCARD0");”

请问在驱动程序中什么是“应用层”?上面一句话是为了创建一个虚拟设备么?


应用层简单的讲就是RING 3,应用程序运行在这一层,驱动程序(SYS)运行在RING 0。
在\??目录下创建一个符号连接是为了让应用程序可以打开这个设备。驱动(SYS)可以调用 IoCreateSymbolicLink 来创建。

这些都是基本知识,如果不懂的话,最好找一本书来看看。
八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
xiaoli169
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2005-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-08-11 21:48
多谢楼上的几位大哥的指点,CHRIS CANT和JERRY LOZANO的书,小妹已经翻了好几遍了,总觉得上面的例子很多都是虚拟一个东西,利用内存来“假读写”,按照它上面讲的,我根本看不到它说的结果。(当然也可能是我没弄明白)

现在我很想知道.SYS文件是什么时候生成的,一个DEVICE DRIVER的WIZARD在DDK下编译之后不是就应该有这个东西了么?

emugine
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2006-03-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-08-13 11:59
请问小妹做哪方面的驱动,我现在做一个触摸屏的驱动,搞了很多天了还没头绪,望交流驱动方面的一些经验
你有好的想法吗? 来,我们一起驱动它!
xiaoli169
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2005-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-08-14 22:30
小妹只是刚刚起步,欢迎大家一起讨论。QQ379838297
最近忙于其它的项目,没有什么进展,希望能得到点化!
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-08-16 09:14
小妹只是刚刚起步,欢迎大家一起讨论。QQ379838297
最近忙于其它的项目,没有什么进展,希望能得到点化!

建议你先看看驱动开发入门的书,你的问题不但很简单,而且描述不清楚,导致大家回答都有困难:),我说话很直接,希望你能理解。
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
bingjie
驱动小牛
驱动小牛
  • 注册日期2001-08-15
  • 最后登录2007-11-29
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-08-17 15:51
CUString devName("\Device\PCCARD0-0");
 devName+=CUString(ulDeviceNumber);
......
 status=IoCreatDevice(.....);
........
CUString symLinkName("\??\**");
 

“\*”希望你这个地方是发贴时的笔误
wly76
驱动小牛
驱动小牛
  • 注册日期2004-08-12
  • 最后登录2008-04-24
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-08-19 09:57
加油,good luck
游客

返回顶部