qwdrv
驱动大牛
驱动大牛
  • 注册日期2004-03-19
  • 最后登录2005-12-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1412回复:10

请问关于驱动类型

楼主#
更多 发布于:2005-01-18 10:07
资料上说驱动分成三类:builtin,bus,stream interface(installable?)。
抛开bus不说,builtin和stream interface的区别是什么?
请教大虾。
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-18 11:47
CE提供了4种设备模型,其中两种是基于CE的模型,另外两种来自其他操作系统。基于CE的两种模型是本机设备驱动程序和流接口驱动程序。两种外部模型用于通用串行总线(USB)和网络驱动接口标准(NDIS)驱动程序。
Come on, let us drive the world.
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-18 11:57
补充一下:
本机设备驱动(BuiltIn)适合于集成到基于CE平台的设备,该驱动专为底层内置硬件而设计的。因为本机设备驱动通常与基于CE的平台有着紧密的联系而且每种本机设备驱动程序独有精确的和特殊的目的,微软提供了定制接口的方式来支持内部设备驱动程序。也就是说除了把CE定制到新平台的OEM外,其他绝大多数的开发人员不需要编写本机设备驱动程序。
而流接口驱动程序(Stream Interface)是一般类型的设备驱动程序,主要针对外部设备,它是在用户一级的动态链接库,用来实现一组固定的函数(流接口函数)。流接口驱动程序支持几乎任何类型的可以连接到基于CE平台的外部设备,如打印机,调制解调器等。



[编辑 -  1/18/05 by  wwei_wang]
Come on, let us drive the world.
qwdrv
驱动大牛
驱动大牛
  • 注册日期2004-03-19
  • 最后登录2005-12-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-18 12:14
CE提供了4种设备模型,其中两种是基于CE的模型,另外两种来自其他操作系统。基于CE的两种模型是本机设备驱动程序和流接口驱动程序。两种外部模型用于通用串行总线(USB)和网络驱动接口标准(NDIS)驱动程序。
非常感谢wwei_wang大虾。
这四种设备模型除了使用目的以外,还有什么不同的地方吗?比如说启动时间,接口类型什么的。
qwdrv
驱动大牛
驱动大牛
  • 注册日期2004-03-19
  • 最后登录2005-12-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-18 12:25
补充一下:
本机设备驱动(BuiltIn)适合于集成到基于CE平台的设备,该驱动专为底层内置硬件而设计的,如键盘等。因为本机设备驱动通常与基于CE的平台有着紧密的联系而且每种本机设备驱动程序独有精确的和特殊的目的,微软提供了定制接口的方式来支持内部设备驱动程序。也就是说除了把CE定制到新平台的OEM外,其他绝大多数的开发人员不需要编写本机设备驱动程序。
而流接口驱动程序(Stream Interface)是一般类型的设备驱动程序,主要针对外部设备,它是在用户一级的动态链接库,用来实现一组固定的函数(流接口函数)。流接口驱动程序支持几乎任何类型的可以连接到基于CE平台的外部设备,如打印机,调制解调器等。
这些本机设备从哪里可以找到列表?也就是怎么才能区别本机设备和外部设备?是在注册表"HKEY_LOCAL_MACHINE/Drivers/BuiltIn"下的吗?
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-18 12:34
(1)不同的驱动模型是根据它们的软件接口类型来区分的,而不是它们所适用的设备。如流接口驱动程序要输出一组固定的流接口函数,而通用串行总线驱动程序不要求输出任何特定类型的接口函数,根据所用的设备它可以输出流接口函数,也可以输出定制函数集。
(2)可以通过设备注册表项中的Order值控制驱动的启动时间(或顺序)。最小的先被加载,如果没有这个值,则在最后加载。
Come on, let us drive the world.
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-18 12:54

这些本机设备从哪里可以找到列表?也就是怎么才能区别本机设备和外部设备?是在注册表"HKEY_LOCAL_MACHINE/Drivers/BuiltIn"下的吗?


我觉得应该这么理解:
本机设备驱动程序是一个由基于CE平台制造商提供的设备驱动程序。因为外围设备是通过由本机设备驱动程序管理的连接程序连接到基于CE的平台的,所以一些流接口驱动程序使用本机设备驱动程序访问外围设备。由流接口驱动程序使用的本机驱动程序是各种各样的I/O口驱动程序,如串口、pc卡插槽等。

注册表"HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn"键下包含的是由基于CE的平台制造商提供的管理流接口驱动程序dll的子键。当然,用户开发的流接口驱动程序也可以放到这里面。
Come on, let us drive the world.
qwdrv
驱动大牛
驱动大牛
  • 注册日期2004-03-19
  • 最后登录2005-12-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-01-18 13:18
我觉得应该这么理解:
本机设备驱动程序是一个由基于CE平台制造商提供的设备驱动程序。因为外围设备是通过由本机设备驱动程序管理的连接程序连接到基于CE的平台的,所以一些流接口驱动程序使用本机设备驱动程序访问外围设备。由流接口驱动程序使用的本机驱动程序是各种各样的I/O口驱动程序,如串口、pc卡插槽等。

这个有点明白了。
注册表"HKEY_LOCAL_MACHINE\Drivers\BuiltIn"键下包含的是由基于CE的平台制造商提供的管理流接口驱动程序dll的子键。当然,用户开发的流接口驱动程序也可以放到这里面。
“由基于CE的平台制造商提供的管理流接口驱动程序dll的子键”是什么意思?
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-01-18 13:30
是这样的,一些普通的内置设备(如串口)也使用流接口驱动程序,这是因为这些设备的功能特性更适合流接口驱动程序的结构,为此,OEM们有时写一些流接口驱动程序。BuiltIn子键下面包含了这些驱动程序的信息。
Come on, let us drive the world.
qwdrv
驱动大牛
驱动大牛
  • 注册日期2004-03-19
  • 最后登录2005-12-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-01-18 13:35
明白了,非常感谢!
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-01-18 13:42
兄弟你客气了,革命道路永无止境!

[编辑 -  1/18/05 by  wwei_wang]
Come on, let us drive the world.
游客

返回顶部