软件注册站
热情软件屋

 
使用CreateFile试图打开设备,可是不知道设备名是什么
编号: QA003998    
建立日期: 2001年3月18日 最后修改日期: 2001年3月18日
所属类别: C/C++ - DDK与硬件设备
   
    操作系统:windows 98
    编程工具:Visual C++ 5.0 or 6.0
    问题:我在windows NT 4.0下build了一个无线网卡的驱动程序,假设生成的sys文件叫做iwn.sys,然后将其安装在windows98下,能够驱动网卡。现在我想要做一个无线网卡的配置程序,那么我想首先应该打开该设备并获得句柄,但我现在不知该如何打开?我使用CreateFile试图打开该设备,可是我不知道设备名(第一个参数)是什么。那么我应该怎么做,才能与该设备取得联系,并进行配置。我们知道98是不支持符号链接名的,它只能打开vxd,而且我查看了该设备的驱动程序的详细资料,发现不只iwn.sys一个文件,还有很多.vxd和.386的文件,我想他们应该是共同工作的吧。还有就是同一个驱动程序可能同时驱动一个以上的设备,那么我应该如何正确的打开驱动程序,并找到我所想要配置的设备?
    非常感谢您看完了我的问题,而且我也为此困惑了很长时间,如果您没有时间详细的解答我的问题,是否能向我推荐一些可供参考的资料,使我能够得到启示。谢谢。
    水平: 刚入门(littlebear)
   
    1、您可以利用platform SDK(不知您有此工具没有)中的一个工具WinObj查看与此驱动程序相关的设备名,而且其设备名一般在\\??目录底下。
    2、您可以看看机械工业出版社出版的《Windows WDM驱动程序设计》,看它上面的例子,看它是怎么做的。
    3、您可以仔细的看看您build的驱动程序原代码,里面如果有这样的语句如 L"\\DosDevice\\*******",那么*******就是他的设备名,您可以直接有CreateFile("\\\\.\\*******".......)调用他,如果没有这样的语句,您可以看程序代码中有没有IoCreateSymbolLink()之类的语句,如果有,您也可以看到它的Dos设备名。
    
    相关书籍:
    《WINDOWS设备驱动程序技术内幕 》
    《实用技术:WINDOWS NT与WINDOWS 2000设备驱动及开发》
    《Windows 设备驱动程序(VXD 与 WDM)开发实务 含盘》
    《虚拟设备驱动程序开发起步与进阶》
    《WIN 9X虚拟设备驱动程序编程指南》

    

此问题由sbni回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, DDK与硬件设备, hardware, ddk, vtoolsd, driver studio, winrt

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio