Windowsポータブル デバイスのWPDUSB.SYS ドライバーの削除

影響を受けるプラットフォーム

クライアント - Windows 7
サーバー - Windows Server 2008 R2

機能の影響

重大度 - 低
頻度 - 低

説明

Microsoft は、Windows ポータブル デバイス (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 デバイスのかなりの割合は、PC との通信に MTP を実装していますが、WPD は MTP デバイスのみに限定されません。 さらに、プライベート IOCTL を介してデバイスに直接アクセスすると、アプリケーションが USB 接続デバイスとの通信のみに制限される場合、WPD API を使用すると、接続オプションの一覧が他の通信プロトコル (Wi-Fi など) に拡張されます。 まれに、アプリケーションを MTP 対応にする必要がある場合、WPD API は未加工の MTP コマンドのパススルー メカニズムを提供します。

機能機能の活用

WPD API は、Windows XP (Windows Format SDK 経由)、Vista Windows、Windows 7 でサポートされています。 WPD の Windows 7 実装では、BLUETOOTHよりも MTP のサポートが追加されます。

Windows ポータブル デバイス