让我保持简单的解释。我正在编写一个简单的 Windows 服务,以检测通过 USB 连接到计算机的 android 设备并访问设备的内存以读取相机照片。
使用RegisterDeviceNotification()
WIN API,我们可以注册以获取任何设备更改的通知(从计算机中添加/删除的设备)。就我而言,我注册以在 USB 设备连接到计算机时收到通知。dbcv_unitmask
因此,当连接卷设备时,我们可以从PDEV_BROADCAST_VOLUME
结构中获取使用的驱动器号。这对于 USB 驱动器非常有效。然后,由于已知的驱动器号,我可以访问我的 USB 驱动器。
但是,在我的情况下,android 设备使用 MTP 协议进行连接,Windows 确实识别出一个新的 USB 设备正在连接,但似乎没有为其分配驱动器号。所以,现在我无法以编程方式访问设备的内存。
请让我知道是否可以通过 WIN API 访问 android PNP 设备。
谢谢!