检测ADB 驱动是否安装成功的实现


如果adb驱动安装成功,会在系统中多出来一个相应的设备


这个设备的guid定义如下:

见 https://gitorious.org/0xdroid/development/source/49678b93be8a1979527a41f294812820fbce9a54:host/windows/usb/api/adb_api_extra.h#L66-67

// {F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}
/// Our USB class id that driver uses to register our device
#define ANDROID_USB_CLASS_ID \
{0xf72fe0d4, 0xcbcb, 0x407d, {0x88, 0x14, 0x9e, 0xd6, 0x73, 0xd0, 0xdd, 0x6b}};


用这个uid 可以对系统顺存在的adb设备进行枚举,从而判断出是否安装adb驱动成功。


   // Now iterate over host controllers using the new GUID based interface
    //
    GUID AdbGuid = ANDROID_USB_CLASS_ID

    deviceInfo = SetupDiGetClassDevs((LPGUID)&&AdbGuid ,
                                     NULL,
                                     NULL,
                                     (DIGCF_PRESENT | DIGCF_DEVICEINTERFACE));
    bool adbDriverOK = false;
    if (deviceInfo != INVALID_HANDLE_VALUE)
    {
        deviceInfoData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);

       
             if(SetupDiEnumDeviceInterfaces(deviceInfo,
                                         0,
                                         (LPGUID)&AdbGuid,
                                         index,
                                         &deviceInfoData))
             adbDriverOK = true;
             SetupDiDestroyDeviceInfoList(deviceInfo);
   }

             


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路边闲人2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值