通过 WIN API 访问即插即用 android 设备的文件
Accessing the files of the Plug and Play android device via WIN API
让我简单解释一下。我正在编写一个简单的 windows 服务,以检测通过 USB 连接到计算机的 android 设备并访问设备的内存以读取相机照片。
在 WIN API 中使用 RegisterDeviceNotification()
我们可以注册以获得任何设备更改的通知(来自计算机的设备 added/removed)。就我而言,我注册为在 USB 设备连接到计算机时收到通知。
因此,当连接卷设备时,我们可以使用 PDEV_BROADCAST_VOLUME
结构中的 dbcv_unitmask
获取驱动器号。这对于 USB 驱动器非常有效。由于已知驱动器盘符,我可以访问我的 USB 驱动器。
但是,在我的例子中,android 设备使用 MTP 协议进行连接,windows 确实识别出连接的新 USB 设备,但似乎没有为其分配驱动器盘符。所以,现在我无法以编程方式访问设备的内存。
如果有办法通过 WIN 访问 android PNP 设备,请告诉我 API。
谢谢!
因此,替代方案是使用 WPD(Windows 便携式设备 API )访问 mtp 设备。
让我简单解释一下。我正在编写一个简单的 windows 服务,以检测通过 USB 连接到计算机的 android 设备并访问设备的内存以读取相机照片。
在 WIN API 中使用 RegisterDeviceNotification()
我们可以注册以获得任何设备更改的通知(来自计算机的设备 added/removed)。就我而言,我注册为在 USB 设备连接到计算机时收到通知。
因此,当连接卷设备时,我们可以使用 PDEV_BROADCAST_VOLUME
结构中的 dbcv_unitmask
获取驱动器号。这对于 USB 驱动器非常有效。由于已知驱动器盘符,我可以访问我的 USB 驱动器。
但是,在我的例子中,android 设备使用 MTP 协议进行连接,windows 确实识别出连接的新 USB 设备,但似乎没有为其分配驱动器盘符。所以,现在我无法以编程方式访问设备的内存。
如果有办法通过 WIN 访问 android PNP 设备,请告诉我 API。
谢谢!
因此,替代方案是使用 WPD(Windows 便携式设备 API )访问 mtp 设备。