注册表中的IClass是做什么用的?----Trueman_onlyme

源自: http://topic.csdn.net/u/20090923/21/a4430689-f060-4ab5-86be-2ecb9a631418.html
IF BSP_NOI2C !
;; I2C Bus Driver
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\I2C]
    "Prefix"="I2C"
    "Dll"="I2C.DLL"
    "Order"=dword:0
    "Index"=dword:0
    "Mode"=dword:1              ; Mode: 0 = POLLING, 1 = INTERRUPT
    "SlaveAddress"=dword:0      ; Bus Driver's Slave Address
    "FriendlyName"="I2C Bus Driver"
    " IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"  ; Power-manageable generic
ENDIF BSP_NOI2C ! 

"ValueName"="Value Type"

ValueName 在驱动里面是通过注册表的操作就读这个变量,所以是实现配置的吧
            ----那么它是可以自定义吧? 除了几个常用的被device.exe 调用的

IF BSP_NOI2C ! 是什么意思
        是BSP_NOI2C 为0,就读下面的键值吗

1. iclass表示当前的设备归哪个类,在ce5.0中,将设备分为四类,印象中是块设备,网络设备,还有什么gwes上的一些设备,第四个记不清楚了,
对于没有定义iclass的设备或者iclass不属于上面四种的设备,系统将其作为默认的设备。
2. 它会影响到pm的管理,如果没有配置的话,系统会按照默认的进行管理,这个时候就可能会
产生问题。

至于IF BSP_NOI2C ! 是什么意思 ,呵呵,恭喜你了,就是你的理解

winCE提供驱动声明为 可支持电源管理的GUID 有4个,分别代表4中外设类型。是固定的。
具体可以看看common.reg
; Power Manager interfaces.  These list the interface classes that the Power
; Manager will monitor for new devices.
;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\Interfaces]
    "{A32942B7-920C-486b-B0E6-92A702A99B35}"="Generic power-manageable devices"
    "{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}"="Power-manageable block devices"
; @CESYSGEN IF CE_MODULES_NDIS
    "{98C5250D-C29A-4985-AE5F-AFE5367E5006}"="Power-manageable NDIS miniports"
; @CESYSGEN ENDIF CE_MODULES_NDIS
; @CESYSGEN IF CE_MODULES_GWES
    "{EB91C7C9-8BF6-4a2d-9AB8-69724EED97D1}"="Power-manageable display"
; @CESYSGEN ENDIF CE_MODULES_GWES

你可能感兴趣的:(Class)