andy
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2003-07-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3019回复:12

一定要得到硬件信息吗?

楼主#
更多 发布于:2001-05-14 13:28
写驱动程序,特别是关于硬件的驱动程序,是否一定要知道硬件的
相关信息?怎样得到硬件的相关信息?例如一块网卡、或一块显卡?
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-05-16 17:07
大概必须知道的就是PID和VID了,我现在正为这个发愁
Go,go ahead
argan
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-05-16 21:49
用usbview就可以看到PID,VID
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-05-17 08:54


那只能看到USB设备的吧,别的设备呢?
Go,go ahead
h_happy
驱动牛犊
驱动牛犊
  • 注册日期2001-05-09
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-05-17 09:07
// Read in the Device and Vendor ID of a given slot.
     NdisReadPciSlotInformation(
        Adapter->MiniportAdapterHandle,
        0,
        PCI_VENDOR_ID_REGISTER,
        (PVOID) &Device_Vendor_Id,
        0x4);//实际上读了Vendor_Id 2-byte + Device_Id 2-byte
//******************************************************
// Check to see if we found a 8139 based adapter.
    if ((((USHORT) Device_Vendor_Id) == VendorID) &&
        (((USHORT) (Device_Vendor_Id >> 16)) == DeviceID))
{

        DBGPRINT(("\n\n\n                          Found adapter %x at slot=%x\n",
            Device_Vendor_Id, Slot));

        //  We found our adapter, so now we need to get the resources that were
        //  assigned to the adapter that we just found.

        Status = NdisMPciAssignResources(
            Adapter->MiniportAdapterHandle,
            Slot,
            &AssignedResources);
我写的RTL8139的驱动片断.VID等ID只是要知道我们现在得到的资源是不是我们要加载驱动的卡的.PCI上所有卡都有一个资源.开机时就确定了.如果你机器上有多块卡没有安驱动.当然了,有可能你读到的资源是另一块卡的.
但是如果你确定你的机器上只有一个卡还没有装驱动.或者直接去update.那么你就不用读VID.

"CWH"先生你说是吧?
每天都有一堆一堆的问题出现. 总希望有一个牛人出现在我的面前. 每个工程师的梦想大概也不过如此.
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-05-17 09:37

可是VID和PID要在INF文档中用到的,要知道这时驱动还没有装上呀。


btw:谁是CWH?
Go,go ahead
andy
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2003-07-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-05-17 10:01
其实我也认为要得到相关的硬件信息,否则怎么驱动硬件,特别是对
USb 设备的端点信息和描述表.
顺便问一下,各位在写usb驱动的过程中,难道不需要上述的硬件信息吗?
h_happy
驱动牛犊
驱动牛犊
  • 注册日期2001-05-09
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-05-17 12:36
现在的问题是.纯软驱动也可以load上去.
我从硬件中读出的VID,是我的驱动确定资源的一种方法.
而INF中的VID并没有严格的作用.我反正不用.如果你在你的驱动中读取了注册表.并且发现VID与你硬件中的不同.你完全可以拒绝load上去.也可以继续下去.这是由你控制的.
每天都有一堆一堆的问题出现. 总希望有一个牛人出现在我的面前. 每个工程师的梦想大概也不过如此.
h_happy
驱动牛犊
驱动牛犊
  • 注册日期2001-05-09
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-05-17 12:38
CWH是我的驱动入门老师.
牛人啊.等你见到就知道了.他不像就没人像了.
不说了.我逃了.
每天都有一堆一堆的问题出现. 总希望有一个牛人出现在我的面前. 每个工程师的梦想大概也不过如此.
h_happy
驱动牛犊
驱动牛犊
  • 注册日期2001-05-09
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-05-17 15:47
INF里面的VID,PID不是说没有用处.而是用处不大.也就是说.通过你VIDPID等信息算出来的键值,可能会同windows在搜索新硬件时,从硬件读出的VIDPID算出的值不同.那么,如果你删除你的驱动.再让windows搜索,他可能不知道你为这块卡装过驱动.但是,你完全可以让你的驱动不管这套,不读注册表,直接load上去.需要的参数你在驱动里设定好.不从注册表里面读.
OK.
这个驱动就这么安上了.就这么工作了.但是windows不知道他为谁工作而已.
每天都有一堆一堆的问题出现. 总希望有一个牛人出现在我的面前. 每个工程师的梦想大概也不过如此.
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-05-17 21:02
对pnp设备,pid和vid应该是要的.但至于硬件的所有细节,也不是都要知道的,比如键盘和鼠标之类的东东,都是标准的,应该不需要知道.
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
h_happy
驱动牛犊
驱动牛犊
  • 注册日期2001-05-09
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-05-18 08:47
现在问题是.我们现在开发的一块板子,因为FPGA的code问题.明明是一块网卡,code却写成一块声卡.
那我们就不管他是什么玩艺了,load上我们的驱动就算达到目的了.现在工作完好.从系统列表里面看.系统认他为一个问号.而我们的驱动被系统认为是个不占资源的软驱动.但是,资源我们的确占用了.注册表的没写的干活.功能照样实现啦!哈哈.
每天都有一堆一堆的问题出现. 总希望有一个牛人出现在我的面前. 每个工程师的梦想大概也不过如此.
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-05-18 08:57

可能会出现一些意想不到的问题吧
Go,go ahead
游客

返回顶部