3) 有最大速度限制
有了WMI,工具软件和脚本程序访问操作系统的不同部分时不需要使用不同的API;相反,操作系统的不同部分都可以插入WMI。

WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。
Windows 2K/XP和Windows 98 都支持WMI;如果为NT 4.0和Windows 95加上了 Service Pack 4或更高版本,N WMIT 4.0和Win95也支持WMI。因此,用WMI进行远程管理时,并非一定要用Windows 2K/XP(当然,如果WMI脚本在一台没有性能监视器的Win9x机器上运行,就不能在远程Win9x系统上查询Windows 2K/XP的性能监视器。
Transfer4获得了4个描述符。16是一个SETUP Transaction。Packet342的数据域80表示数据是需要从device发向host的,06指明bRequest为GET_DESCRIPTOR,02表示的是CONFIGURATION,然后device回复了一个ACK握手包。Transaction17获得的是配置描述符,最后一个MaxPower在Transaction18的Packet349的Data域中的第一个字节,注意这些数据是小端存放的。现在分析剩下的7个字节,0x09为bLength,是指描述符的长度;0x04为bDescriptorType,是指描述符的类型;0x00为bInterfaceNumber,是指接口号。0x00为bAlternateSetting,是指接口使用的是哪个可选设置;0x01为bNumEndpoints,接口拥有的端点数量;0x03为bInterfaceClass,0x01为bInterfaceSubClass,0x02为bInterfaceProtocol,0x00为iInterface,是接口描述符对应的字符串描述符的索引值。

Transfer3是获得配置描述符。Transaction12是SETUP Transaction,要记住令牌包指明当前Transaction的类型,所以第一个Packet328包指明当前Transaction为SETUP事务。Packet329的数据域80表示数据是需要从device发向host的,06指明bRequest为GET_DESCRIPTOR,02表示的是CONFIGURATION,然后device回复了一个ACK握手包。Transaction13是一个IN型Transaction,私服网站,令牌包Packet331指明该Transaction为IN类。下面分析一下Packet332的Data域,参照下图:
Transfer3: 如前所述,WMI允许通过一个公共的接口访问多种操作系统构成单元,因此不必分别对待各种底层接口或所谓的“提供者”。利用WMI可以高效地管理远程和本地的计算机;与此相对,并非所有的Windows 2K/XP命令行工具都支持远程运行。 第一层是核心模型(Core Model),这一层包含的类定义对于所有管理领域来说都是共同的。


WMI是Microsoft扩展CIM 2.0得到的面向Win32系统的扩展模型。引用WMI类和属性的形式是“扩展前缀_类名称.属性名称”,例如Win32_ComputerSystem. Name,其中Win32是CIM模式cimv2名称空间内WMI扩展类的前缀,ComputerSystem是类,Name是属性。

如下图,除了USB标准定义的一些描述符外,HID设备还必须定义HID描述符。另外设备和主机的通信是通过报告的形式来实现的,所以还必须定义报告描述符。USB的四种传输方式,HID只支持控制和中断传输方式。
WMI是WBEM模型的一种实现。WBEM即Web-Based Enterprise Management,或基于Web的企业管理,WBEM由DMTF(Distributed Management Task Force,分布式管理任务组)在许多厂商的帮助下创立,包括Compaq、Sun、Microsoft等。WBEM的目标是,为管理企业环境开发一个标准的接口集。WBEM模型最关键的部分是它的数据模型(或描述和定义对象的方式)、编码规范(Encoding Specification),以及在客户端和服务器端之间传输数据的模式。
2) 每笔事务可以携带小量或中量的数据,网通传奇。低速设备每笔最大为8字节,全速设备每笔最大为64字节,高速设备每笔最大为1024字节。
4) 没有传输速度的保证
CIM分三层。
努力成为linux kernel hacker的人李万鹏原创作品,转载请标明出处

HID(Human interface device)是人机接口设备,主要是指一些人与计算机进行交互的设备,如键盘,鼠标,游戏杆等;但是HID设备不一定非要是这些人机交互设备,只要符合HID设备级定义规范要求的都可以认为是HID设备。HID设备有以下主要优点:
WMI,是Windows 2K/XP管理系统的核心;对于其他的Win32操作系统,WMI是一个有用的插件。WMI以CIMOM为基础,CIMOM即公共信息模型对象管理器(Common Information Model Object Manager),是一个描述操作系统构成单元的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口。

WBEM的数据模型是CIM(Common Information Model,公共信息模型)。CIM是一个用来命名计算机的物理和逻辑单元的标准的命名系统(或称为命名模式),例如硬盘的逻辑分区、正在运行的应用的一个实例,或者一条电缆。

0x09表示配置描述符的长度为9个字节,0x02是描述符的类型,0x22是使用GET_DESCRIPTION请求时,返回的数据长度。也就是说对包括配置描述符,接口描述符,端点描述符,class-或vendor-specific描述符在内的所有描述符进行统计。0x01为bNumInterfaces表示接口的数目,0x01为bConfigurationValue,对拥有多个配置的USB设备来说,可以用SET_CONFIGURATION改变正在被使用的USB配置,bConfigurationValue指明了将要激活那个配置。iConfiguration为描述配置信息的字符串描述符的索引值,bmAttributes这个字段表示了配置的一些特点。Transaction14的DATA包的数据域就一个字节为0x32,MaxPower,表示设备正常运转时,从总线那里分得的最大电流值。Transaction15首先host向device发送了一个OUT包,表示这个Transaction是一个OUT类型,然后host向device发送了一个为0字节的包,传奇私服外挂下载,device返回了一个ACK握手包。
下面我们基于VC++实现使用WMI 获取进程启动参数
现在分析Transaction20的DATA包的Data域,参照下图。0x07为bLength,表示描述符的长度;0x05为bDescriptorType,表示描述符的类型;0x81为bEndpointAddress,表示这个端点的方向,端点的地址,端点的端点号。0x03为bmAttributes,表示属性信息;0x0005为wMaxPacketSize,表示端点一次能够处理的最大字节数;0x0A为bInterval,表示希望主机轮询自己的间隔时间。
1) 交换的数据存储在报告的结构内,设备必须支持HID报告格式。

CIM是一个面向对象的模型,使用一组面向对象的术语进行描述。CIM包含类(Class),类是被管理单元的模板。类的实例称为对象(Object),对象代表着底层系统的一个具体单元。名称空间(Namespace)是一个类的集合,每个名称空间面向一个特定的管理领域。类包含属性(Property)和方法(Method)。
Transfer4:
第三层是扩展模型(Extension model),这一层包含的类定义与特定的操作系统或技术有关。
编写WMI脚本的很大一部分工作涉及到读取和设置属性值。当前,WMI提供的方法还很有限,但随着时间的推移,相信WMI和CIM提供的方法都会越来越丰富。
第二层是公共模型(Common Model),这一层包含的类定义对于特定的管理领域来说是公共的,但与具体的操作系统和系统设计无关。
新开热血江湖私服
请使用1024*768分辨率浏览本站以达到游戏最佳视觉效果
打击盗版支持正版游戏 任何组织或个人未经同意,不得使用和传播盗版游戏,如有侵犯利益请来电告知说明,本站72小时内删除。