Android手机的兼容ID,驱动类型,序列号,状态等

来源:互联网 发布:index.php 编辑:程序博客网 时间:2024/05/22 12:16

由下属3种类型的手机信息,可以总结出来:
1、这3种类型的android手机的兼容ID,都是相同的(ff_42_01)
2、有些CD盘的手机,其设备范例ID的后面部分的序列号(7&334F04E&1&0003),跟ADB命令获取到的序列号(?)是不同的

海信T92(Android2.2.2)主设备
设备范例ID:USB\VID_18D1&PID_D00D\0123456789ABCDEF
硬件ID:USB\Vid_18d1&Pid_d00d&Rev_0226
兼容ID:USB\Class_ff&SubClass_42&Prot_01
D:\pcsuite\bin\Adb>adb devices
List of devices attached
0123456789ABCDEF        device

三星GT-I9088(Android2.1-update1)多接口
设备范例ID:USB\VID_04E8&PID_681C&MI_03\1000FC03F9A4_03
硬件ID:USB\Vid_04e8&Pid_681c&Rev_0223&Mi_03&Os_NT
兼容ID:USB\Class_ff&SubClass_42&Prot_01
D:\pcsuite\bin\Adb>adb devices
List of devices attached
1000fc03f9a4    device

华为C8500(Android2.1-update1)多接口(CD盘)
设备范例ID:USB\VID_12D1&PID_1035&MI_03\7&334F04E&1&0003
硬件ID:USB\Vid_12d1&Pid_1035&Rev_0100&MI_03
兼容ID:USB\Class_ff&SubClass_42&Prot_01
D:\pcsuite\bin\Adb>adb devices
List of devices attached
?       device

它们的DevNode标识:
DN_DRIVER_LOADED
DN_STARTED
DN_DISABLEABLE
DN_REMOVABLE
DN_NT_ENUMERATOR
DN_NT_DRIVER

DevNode标识,展示了驱动的状态。各枚举值在cfg.h中有定义。

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\cfg.h
//
// Device Instance status flags, returned by call to CM_Get_DevInst_Status
//
#define DN_ROOT_ENUMERATED (0x00000001) // Was enumerated by ROOT
#define DN_DRIVER_LOADED   (0x00000002) // Has Register_Device_Driver
#define DN_ENUM_LOADED     (0x00000004) // Has Register_Enumerator
#define DN_STARTED         (0x00000008) // Is currently configured
#define DN_MANUAL          (0x00000010) // Manually installed
#define DN_NEED_TO_ENUM    (0x00000020) // May need reenumeration
#define DN_NOT_FIRST_TIME  (0x00000040) // Has received a config
#define DN_HARDWARE_ENUM   (0x00000080) // Enum generates hardware ID
#define DN_LIAR            (0x00000100) // Lied about can reconfig once
#define DN_HAS_MARK        (0x00000200) // Not CM_Create_DevInst lately
#define DN_HAS_PROBLEM     (0x00000400) // Need device installer
#define DN_FILTERED        (0x00000800) // Is filtered
#define DN_MOVED           (0x00001000) // Has been moved
#define DN_DISABLEABLE     (0x00002000) // Can be disabled
#define DN_REMOVABLE       (0x00004000) // Can be removed
#define DN_PRIVATE_PROBLEM (0x00008000) // Has a private problem
#define DN_MF_PARENT       (0x00010000) // Multi function parent
#define DN_MF_CHILD        (0x00020000) // Multi function child
#define DN_WILL_BE_REMOVED (0x00040000) // DevInst is being removed
//
// Windows 4 OPK2 Flags
//
#define DN_NOT_FIRST_TIMEE  0x00080000  // S: Has received a config enumerate
#define DN_STOP_FREE_RES    0x00100000  // S: When child is stopped, free resources
#define DN_REBAL_CANDIDATE  0x00200000  // S: Don't skip during rebalance
#define DN_BAD_PARTIAL      0x00400000  // S: This devnode's log_confs do not have same resources
#define DN_NT_ENUMERATOR    0x00800000  // S: This devnode's is an NT enumerator
#define DN_NT_DRIVER        0x01000000  // S: This devnode's is an NT driver
//
// Windows 4.1 Flags
//
#define DN_NEEDS_LOCKING    0x02000000  // S: Devnode need lock resume processing
#define DN_ARM_WAKEUP       0x04000000  // S: Devnode can be the wakeup device
#define DN_APM_ENUMERATOR   0x08000000  // S: APM aware enumerator
#define DN_APM_DRIVER       0x10000000  // S: APM aware driver
#define DN_SILENT_INSTALL   0x20000000  // S: Silent install
#define DN_NO_SHOW_IN_DM    0x40000000  // S: No show in device manager
#define DN_BOOT_LOG_PROB    0x80000000  // S: Had a problem during preassignment of boot log conf



原创粉丝点击