受影响的平台
客户端 - Windows 7
服务器 - Windows Server 2008 R2
功能影响
严重性 - 低
频率 - 低
描述
Microsoft已将 Windows Portable Devices(WPD)的 Windows Vista USB 驱动程序堆栈(WPDUSB.SYS)的内核模式组件替换为通用WINUSB.SYS驱动程序。 与原始WPDUSB.SYS驱动程序的通信是通过专用 I/O 控制(IOCTL)代码进行;此外,还删除了对这些项的支持。
这些 IOCTL 代码的任何使用者都将负责正确解释和实施媒体传输协议(MTP)。 Windows Vista 不支持第三方应用程序使用这些 IOCTL 代码。
影响的表现
依赖于这些专用 IOCTL 代码可用性的任何应用程序将不再有权访问连接 USB 的 MTP 设备。
缓解
依赖于专用 IOCTL 代码的应用程序的用户必须使用其他应用程序(或应用程序的更新版本)来访问 USB 连接的 MTP 设备。
溶液
应用程序应使用 Windows 可移植设备 (WPD) API 查找任何 WPD 设备并与之交互。 尽管 WPD 设备实现 MTP 的很大一部分是为了与电脑通信,但 WPD 并不仅限于 MTP 设备。 此外,如果通过专用 IOCTL 直接访问设备将限制应用程序仅与 USB 连接的设备通信,则使用 WPD API 将连接选项列表扩展到其他通信协议(例如,Wi-Fi)。 在极少数情况下,当应用程序必须感知 MTP 时,WPD API 为原始 MTP 命令提供直通机制。
利用功能功能
Windows XP(通过 Windows 格式 SDK)、Windows Vista 和 Windows 7 支持 WPD API。 WPD 的 Windows 7 实现增加了对基于蓝牙的 MTP 的支持。
指向其他资源的链接