阅读:1076回复:4
新手求知
刚开始接触驱动,有几个问题困惑良久,望高手帮忙:
1。 在DS自动生成的INF文件中,其ClassGuid和驱动文件中的设备 Guid的取值是不一样的,两者有什么联系吗? 2。 在DS自动生成的调试文件中,一般都有Read 和write函数,是否说需要对硬件(如USB)操作的驱动调试也可先在无硬件插入的情况下进行模拟调试?还是说必须要插入硬件后才能进行驱动调试? 3 在我用DS自动生成的调试文件调试一个不需要对硬件进行操作的驱动时,SYS驱动持续已经安装,而且调试时也可以打开驱动设备(通过GUID,我已跟中过),但在使用ReadFile()读取30个字节时,虽然函数的操作成功返回,但却不能返回正确的结果(30个字节都是?,实际读取的字节数目也是0)。 在用WriteFile进行写操作时也是同样的情况。 不知大家是如何解决的?望不吝赐教 |
|
沙发#
发布于:2002-10-10 14:16
看看ds的开发文档或许有所启发!
|
|
板凳#
发布于:2002-10-10 14:19
1. 没有联系,ClassGuid是设备类型识别用的,只在安装的时候有用,设备 Guid是用来给其他想要访问你驱动的程序提供的接口,就想一个名称一样
2。 当然要要硬件 3。这个问题需要看你的驱动中是怎么处理read irp和write irp的 |
|
|
地板#
发布于:2002-10-10 16:43
感谢楼上的朋友.
1 我发现一个问题:我用DS生成的几个INF文件中的Classguid都是一样的,不管我写PCI,还是USB,还是不用硬件驱动的. 怎么改啊?否则,我机器上不是只能安装一个驱动来调试吗? 如果安装两个,则第二个将提示说设备名称已经被使用? faint !! |
|
地下室#
发布于:2002-10-10 16:58
向导工具给你生成的只是一个固定的classguid
你要根据需要改动,如果你的设备是标准设备,必须使用标准设备对应的guid, 如果是自己的设备,则可以用vc中的工具genguid。exe来生成一个guid |
|
|