隐形者系列-IP域名查询软件2009元旦版(v2.1)
作者:admin 日期:2008-12-31
隐形者系列-手机归属地查询v1.0
作者:admin 日期:2008-12-07
stl multimap
作者:tommy 日期:2009-05-30
在“使用 <map> 库创建关联容器” 一文中,我们讨论了标准库中的 map 关联容器。但那只是 map 容器的一部分。标准库还定义了一个 multimap 容器,它与 map 类似,所不同的是它允许重复键。这个属性使得 multimap 比预想的要更有用:比如在电话簿中相同的人可以有两个以上电话号码,文件系统中可以将多个符号链接映射到相同的物理文件,或DNS服务器可以将几个URLs映射到相同的IP地址。在这些场合,你可以象下面这样:// 注: 伪码multimap <string, string> phonebook;phonebook.insert("Harry","8225687"); // 家里电话phonebook.insert("Harry","555123123"); // 单位电话phonebook.insert("Harry"," 2532532532"); // 移动电话 在 multimap 中能存储重复键的能力大大地影响它的接口和使用。那么如何创建非唯一键的关联容器呢?答案是使用在 <map> 库中定义的 multimap 容器。
提出问题
与 map 不同,multimap 可以包含重复键。这就带来一个问题:重载下标操作符如何返回相同键的多个关联值?以下面的伪码为例:
详细解说STL hash_map系列 2
作者:admin 日期:2009-05-12
详细解说STL hash_map系列1
作者:admin 日期:2009-05-11
控制器和多功能驱动
作者:tommy 日期:2009-04-09
控制器和多功能设备
在第六章提到过,有两种类型的设备不太符合PNP的框架。它们是控制器设备和多功能设备。控制器设备管理一些子设备,而多功能设备在同一个设备上有几种功能。它们的共同之处在于,必须使用独立的I/O资源来创建多个设备对象。
在 Windows XP 下,支持那些遵守各自总线标准的设备很容易,例如: PCI, PCMCIA,USB设备等。 PCI 总线驱动可自动识别 PCI 多功能卡。对PCMCIA 设备,可以参展DDK中的 MF.sys 驱动的详细说明,该驱动是一个多功能卡的功能驱动,MF.sys 可以枚举卡的各个功能,然后为每个功能加载各自的功能驱动。对具有一个配置的USB设备,USB总线驱动会为该配置的每个接口分别加载相应的驱动。
Windows 98 和 Windows XP 相比,只提供了对USB多功能设备的支持。在Windows 98中,为了支持多功能设备,开发者必须做更多的工作。不仅需要为主设备提供一个功能驱动还要为连在上面的所有子设备提供单独的功能驱动。主设备的功能驱动需要枚举子设备,提供对子设备PNP和电源的缺省处理,它有点像一个微型总线驱动。写一个完整的总线驱动是一个相当大的工程,本文并不试图描述其详细过程。本文会描述一些基本的处理机制,以使读者可以枚举子设备,完成那些不太符合微软模型的多功能设备的驱动。
总体结构
在第六章提到过,有两种类型的设备不太符合PNP的框架。它们是控制器设备和多功能设备。控制器设备管理一些子设备,而多功能设备在同一个设备上有几种功能。它们的共同之处在于,必须使用独立的I/O资源来创建多个设备对象。
在 Windows XP 下,支持那些遵守各自总线标准的设备很容易,例如: PCI, PCMCIA,USB设备等。 PCI 总线驱动可自动识别 PCI 多功能卡。对PCMCIA 设备,可以参展DDK中的 MF.sys 驱动的详细说明,该驱动是一个多功能卡的功能驱动,MF.sys 可以枚举卡的各个功能,然后为每个功能加载各自的功能驱动。对具有一个配置的USB设备,USB总线驱动会为该配置的每个接口分别加载相应的驱动。
Windows 98 和 Windows XP 相比,只提供了对USB多功能设备的支持。在Windows 98中,为了支持多功能设备,开发者必须做更多的工作。不仅需要为主设备提供一个功能驱动还要为连在上面的所有子设备提供单独的功能驱动。主设备的功能驱动需要枚举子设备,提供对子设备PNP和电源的缺省处理,它有点像一个微型总线驱动。写一个完整的总线驱动是一个相当大的工程,本文并不试图描述其详细过程。本文会描述一些基本的处理机制,以使读者可以枚举子设备,完成那些不太符合微软模型的多功能设备的驱动。
总体结构
Tags: 驱动开发 irp_mj_pnp pnp vbus




