阅读:1833回复:12
小妹再求教
小妹刚刚开始写驱动,问题不免见拙,望指教。
在WIN2K下可以用WINOBJ看到DEVICE列表中有我的卡,可是在\\??中没有,我如何创建\\??中的设备名称? |
|
沙发#
发布于:2004-08-06 08:54
没大看懂,帮你顶一下
|
|
|
板凳#
发布于:2004-08-06 10:14
天啊,我说的这么不入行啊?这么说吧:
NTSTATUS CreatDevice(...) {..... CUString devName("\\Device\\PCCARD0-0"); devName+=CUString(ulDeviceNumber); ...... status=IoCreatDevice(.....); ........ CUString symLinkName("\\??\\**"); ....... } 是这段代码生成FDO,并把PDO和FDO连接起来么? 只有在安装了.SYS后才能看到驱动运行的情况么?能不能阶段调试? 多谢大侠不吝赐教和鼎力支持! |
|
地板#
发布于:2004-08-06 10:35
好像这样是不行的,驱动的调试不能动态的,只能加载(安装后)才能调试!
我的看法! 欢迎大侠们评论。 |
|
|
地下室#
发布于:2004-08-06 14:42
多谢大家的指点。小妹还有一个关于符号连接的问题:
“在应用层开发中我们可以调用以下函数来创建一个\\??目录下的符号连接: BOOL okay=DefineDosDevice(DDD_RAW_TARGET_PATH,"PCCARD","\\Device\\PCCARD0");” 请问在驱动程序中什么是“应用层”?上面一句话是为了创建一个虚拟设备么? |
|
5楼#
发布于:2004-08-11 10:14
XP和2000下面的驱动没有这么麻烦,使用全局ID连接,比较简单。
|
|
|
6楼#
发布于:2004-08-11 10:31
多谢大家的指点。小妹还有一个关于符号连接的问题: 应用层简单的讲就是RING 3,应用程序运行在这一层,驱动程序(SYS)运行在RING 0。 在\??目录下创建一个符号连接是为了让应用程序可以打开这个设备。驱动(SYS)可以调用 IoCreateSymbolicLink 来创建。 这些都是基本知识,如果不懂的话,最好找一本书来看看。 |
|
|
7楼#
发布于:2004-08-11 21:48
多谢楼上的几位大哥的指点,CHRIS CANT和JERRY LOZANO的书,小妹已经翻了好几遍了,总觉得上面的例子很多都是虚拟一个东西,利用内存来“假读写”,按照它上面讲的,我根本看不到它说的结果。(当然也可能是我没弄明白)
现在我很想知道.SYS文件是什么时候生成的,一个DEVICE DRIVER的WIZARD在DDK下编译之后不是就应该有这个东西了么? |
|
8楼#
发布于:2004-08-13 11:59
请问小妹做哪方面的驱动,我现在做一个触摸屏的驱动,搞了很多天了还没头绪,望交流驱动方面的一些经验
|
|
|
9楼#
发布于:2004-08-14 22:30
小妹只是刚刚起步,欢迎大家一起讨论。QQ379838297
最近忙于其它的项目,没有什么进展,希望能得到点化! |
|
10楼#
发布于:2004-08-16 09:14
小妹只是刚刚起步,欢迎大家一起讨论。QQ379838297 建议你先看看驱动开发入门的书,你的问题不但很简单,而且描述不清楚,导致大家回答都有困难:),我说话很直接,希望你能理解。 |
|
|
11楼#
发布于:2004-08-17 15:51
CUString devName("\Device\PCCARD0-0"); “\*”希望你这个地方是发贴时的笔误 |
|
12楼#
发布于:2004-08-19 09:57
加油,good luck
|
|