zshuc
驱动小牛
驱动小牛
  • 注册日期2001-08-16
  • 最后登录2012-04-19
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1283回复:10

疑问:在2000下的资源的接接收和转换工作全部由PnP管理器来完成,WDM驱动程序需要做的仅是访问设备启动IRP的Parameters结构就可以获得资源了。。

楼主#
更多 发布于:2003-01-06 16:06
由于不许要我去寻找设备,那我怎么知道我的设备的资源到底是那一个呢,并且不需要知道PCI芯片的设备号和厂商号。。。我怎么把我的设备和资源对应起来...谢谢

最新喜欢:

songqingsongqi... okincnokincn
大家好!
zshuc
驱动小牛
驱动小牛
  • 注册日期2001-08-16
  • 最后登录2012-04-19
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-06 16:15
嘻嘻!我想是不是在安装时选好了相应的驱动程序就可以了啊,就表示对应了相应的资源。。。
大家好!
Sunbeam
驱动小牛
驱动小牛
  • 注册日期2001-10-29
  • 最后登录2010-01-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-08 10:15
PNP_START已经提供了详细的资源描述。一般来说足够用了。

你自己想去做的话,我想大致有两种模式:一种老模式,CF8,访问PCI配置空间。另一种是生成IRP包,让M$的PCI BUS DRIVER替你干活。
堂堂正正做人,明明白白做事
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-08 10:51
嘻嘻!我想是不是在安装时选好了相应的驱动程序就可以了啊,就表示对应了相应的资源。。。


是的,安装时INF文件已经指明本DRIVER用于某个指定ID号的设备。
少了e,就少了全部
zshuc
驱动小牛
驱动小牛
  • 注册日期2001-08-16
  • 最后登录2012-04-19
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-01-08 11:14
PNP_START已经提供了详细的资源描述。一般来说足够用了。

你自己想去做的话,我想大致有两种模式:一种老模式,CF8,访问PCI配置空间。另一种是生成IRP包,让M$的PCI BUS DRIVER替你干活。


生成IRP包是怎么作到的啊?就是事先定义一些static数组吗?
大家好!
yyhabc
驱动小牛
驱动小牛
  • 注册日期2003-01-06
  • 最后登录2013-03-18
  • 粉丝0
  • 关注0
  • 积分327分
  • 威望47点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-01-08 21:43
把DDK每一行都看完,就不会有这样的问题了。老哥,你再这么问我就吐血了。
zshuc
驱动小牛
驱动小牛
  • 注册日期2001-08-16
  • 最后登录2012-04-19
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-01-09 09:34
呵呵,yyhabc,谢谢你
好的,我听你的,可是我要是把DDK看完得多久啊,还有,我是想定制自己的IRP数组中的minorfunction,然后在这个数组中找到对应的IRP消息
刚才Sunbeam也说了,另一种是生成IRP包,让M$的PCI BUS DRIVER替你干活,我是想知道这样是怎样作成的.


大家好!
yyhabc
驱动小牛
驱动小牛
  • 注册日期2003-01-06
  • 最后登录2013-03-18
  • 粉丝0
  • 关注0
  • 积分327分
  • 威望47点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-01-10 10:48
你不妨在驱动中直接写端口,更容易一些。
zshuc
驱动小牛
驱动小牛
  • 注册日期2001-08-16
  • 最后登录2012-04-19
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-01-10 16:00
yyhabc
恩,也是,我只是对定制自己的IRP包不太明白,呵呵
大家好!
yyhabc
驱动小牛
驱动小牛
  • 注册日期2003-01-06
  • 最后登录2013-03-18
  • 粉丝0
  • 关注0
  • 积分327分
  • 威望47点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-01-10 16:11
老哥,IRP是驱动的根本,也是windows的根本。看来你不了解windows本身的数据结构。没关系,慢慢来,千万别学傻了,哈哈哈哈。
zshuc
驱动小牛
驱动小牛
  • 注册日期2001-08-16
  • 最后登录2012-04-19
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-01-10 17:18
hehe!那你看看这个吧,看看它是用来作什么用的,放在pnp的开头定义的,这些应该都是windows的自带的IRP吧,但是为什么放在前面专门的给出来啊,
static PSTR pnpMinorCodes[] =
{
    \"IRP_MN_START_DEVICE\",
    \"IRP_MN_QUERY_REMOVE_DEVICE\",
    \"IRP_MN_REMOVE_DEVICE\",
    \"IRP_MN_CANCEL_REMOVE_DEVICE\",
    \"IRP_MN_STOP_DEVICE\",
    \"IRP_MN_QUERY_STOP_DEVICE\",
    \"IRP_MN_CANCEL_STOP_DEVICE\",
    \"IRP_MN_QUERY_DEVICE_RELATIONS\",
    \"IRP_MN_QUERY_INTERFACE\",
    \"IRP_MN_QUERY_CAPABILITIES\",
    \"IRP_MN_QUERY_RESOURCES\",
    \"IRP_MN_QUERY_RESOURCE_REQUIREMENTS\",
    \"IRP_MN_QUERY_DEVICE_TEXT\",
    \"IRP_MN_FILTER_RESOURCE_REQUIREMENTS\",
    \"***** FUNCTION 0x0e\",
    \"IRP_MN_READ_CONFIG\",
    \"IRP_MN_WRITE_CONFIG\",
    \"IRP_MN_EJECT\",
    \"IRP_MN_SET_LOCK\",
    \"IRP_MN_QUERY_ID\",
    \"IRP_MN_QUERY_PNP_DEVICE_STATE\",
    \"IRP_MN_QUERY_BUS_INFORMATION\",
    \"IRP_MN_DEVICE_USAGE_NOTIFICATION\",
    \"IRP_MN_SURPRISE_REMOVAL\",
    \"IRP_MN_QUERY_LEGACY_BUS_INFORMATION\"
};


[编辑 -  1/10/03 by  zshuc]
大家好!
游客

返回顶部