問題タブ [wpd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2967 参照

c# - IPortableDeviceManager のインスタンスを作成するにはどうすればよいですか?

IPortableDeviceManagerメソッドを使用してクラスのインスタンスを作成しようとしていますが、クラスの別名がCoCreateInstance(..)見つかりません。CLSIDGUID

を見つけようとして Windows SDK に飛び込みましたGUIDが、ファイル内の次の行だけが見つかりましたPortableDeviceApi.h

それも本当に私を助けませんでした..

それで、私は何を間違っていますか?を調べる方法はありますGUIDIPortableDeviceManager? またはそれのインスタンスをインスタンス化しますか?

0 投票する
1 に答える
615 参照

windows - WPD とセットアップ API を使用して他のデバイスからデジタル カメラを識別する方法

私は2つのタスクを持っています:

a) IPortableDeviceManager::GetDeviceList によって取得された、デジタル カメラを他の MTP デバイスと区別する。

b) Setup API で接続されているデジタル カメラを検索したい。私の考えは、最初にすべての USB デバイスを取得することでした。

しかし、それをやった後、私はアイデアを使い果たしました。具体的には、特定の USB デバイスの USB インターフェイス記述子を取得する方法がわかりません。セットアップAPIでインターフェースと呼ばれるものではなく、USBインターフェースを意味します。

前もって感謝します。

0 投票する
1 に答える
7480 参照

c++ - Android デバイスとの Windows MTP/WPD 通信

Windows 上で動作する PC c++ アプリケーションを開発しています。アプリケーションは、MTP を使用して、USB 経由で接続された Android フォンと通信します。アイデアは、ストレージ カードをマウントしないことです。私が見つけたのは、WindowsにはMTPをサポートするWPD(Windows Portable Device)と呼ばれるものがあるということです。一見問題ないように見えますが、WMP11 をインストールする必要があります。私が疑問に思っていること:

  • 他に使用できる代替ライブラリはありますか?
  • WPD の使用に関するヒントや経験はありますか?
  • XP用のWMP11の代わりにインストールできる「よりスリムな」依存関係はありますか?

どんな助けでも大歓迎です。

0 投票する
1 に答える
770 参照

c++ - WPDを備えたすべてのMTP/PTPカメラのリスト

私のアプリケーションでは、コンピューターに接続されているすべてのMTP/PTPカメラのリストが必要です。次のコードを使用して、システム上のすべてのWPDデバイスのリストを生成しています。

ただし、このリストには、カードリーダー、スキャナー、その他のデバイスも含まれます。それらのデバイスを除外する簡単な方法はありますか、それとも実際に各デバイスを開いてデバイスのプロパティなどを取得する必要がありますか?

0 投票する
2 に答える
1988 参照

android - AndroidタブレットでMTP接続をフラッシュしますか?

SamsungGalaxyAndroidタブレットをUSBケーブルでWindows7を実行しているコンピューターに接続します。MTPを使用して接続します。

  • ステップ1.Windowsエクスプローラーを介してWindows7からタブレットにSQLiteデータベースをコピーします。
  • 手順2.タブレットで開き(android_metadataテーブルが追加されます)、閉じます。
  • ステップ3.SQLiteデータベースをWindowsにコピーして戻します。
  • ステップ4.sqlite3.exeを使用して確認します。壊れています。

今度は別のテスト。

  • ステップ1.Windowsエクスプローラーを介してWindows7からタブレットにSQLiteデータベースをコピーします
  • 手順2.USBケーブルを取り外してから再接続します。
  • 手順3.タブレットで開き(android_metadataテーブルが追加されます)、閉じます。
  • ステップ3.SQLiteデータベースをWindowsにコピーして戻します。
  • ステップ4.sqlite3.exeを使用して確認します。破損していません。

興味深いことに、手順2と3を切り替えると、それも機能します。

USBケーブルを外して再接続すると動作するので、どういうわけかMTPキャッシュをフラッシュする必要があると思います。これをどのように達成できますか、またはデバイスをすばやく切断して再接続するために使用できるAPIはありますか?

私の実際のWindowsアプリケーションはWPD(Windows Portable Devices)APIを使用しています。Windowsエクスプローラーを使用してテストしているだけで、Windowsコードに問題がないことを証明しています。フラッシュを実行するためのWPDには何も表示されません。

このエラーは、Android上のSQLiteデータベースが1ページ(またはそれ以上)大きくなると発生するようです。SQLiteのページサイズは512バイトです。SQLiteデータベースのバイナリデータを見ると、何が起こっているのかがわかります。デバイス上でデータベースを1ページ大きくし、データベースをデバイスからコピーし、USBを取り外し、プラグを差し込んでから、もう一度コピーします。2つのファイルを比較すると、usbデータをコピーした後に取得するファイルは、最後に多くのデータがあることを除いて同じです。USBを取り外して再度接続するまで、MTPはファイルが大きいことを理解しないようです。USBを接続したままにすると、最後にファイルをコピーしたときに存在していたバイト数だけがコピーされます。

0 投票する
0 に答える
302 参照

windows - Windowsポータブルデバイスのファイル属性をプログラムで設定する方法は?

私のアプリケーションは、 WPD APIを使用せずにポータブル デバイスのコンテンツに直接アクセスする必要があります。誰かがこれに関するいくつかの指針を提供できますか?

dbcc_nameデバイス インターフェイス パスとして使用しています。電話をかけようとするとGetFileAttributes(dbcc_name)、「アクセスが拒否されました」というエラーが表示されました。ポータブル デバイスの ACL を適切に設定するにはどうすればよいですか?

プロパティSetupDiSetDeviceRegistryProperty()を設定するために使用する必要がありますか?SPDRP_SECURITY

ありがとう。

0 投票する
1 に答える
635 参照

c++ - 特定のPIDLのIPortableDeviceContentインターフェイスを取得する方法

SHBrowseForFolder()を使用して、MTPデバイス上のフォルダーを選択します。次に、そこから/にファイルをコピーしたいと思います。IPortableDeviceContentインターフェイス(Windows Portable Devices SDKから)は適切なようですが、SHBrowseForFolder()から返されたPIDLを使用してオブジェクト用に取得するにはどうすればよいですか?

(IWMDMStorageControlインターフェイスの取得について同様の質問をしました: 特定のPIDLのIWMDMStorageControlインターフェイスを取得する方法

0 投票する
1 に答える
1691 参照

c# - Windows ポータブル デバイス API と WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE コマンド

私は現在、固定カメラを使用してカウンターの前に立っている人の写真を収集する必要がある政府機関向けの C# Windows フォーム アプリケーションを作成しています。写真を収集するには、スチルカメラを操作して画像を取得するアプリケーションが必要です。

アプリケーションは Windows7 で実行されるため、WIA (Windows Image Aquisition) はサポートされていません。Windows Portable Devices API を使用して、コンピューターに接続されたデバイスからサポートされているコマンドの一覧を取得するコードを作成しました。

アプリケーションが写真を撮るには、コンピューターに接続されているデバイス (カメラ) がWPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE. 現在、私がアクセスできるカメラ (さまざまな Canon パワーショット) は、必要なWPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATEコマンドをサポートしておらず、多くのインターネット検索でも、コマンドをサポートしているカメラのリストは明らかにされていませんWPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE。ほとんどのカメラはストレージ コマンドをサポートしていますが、Windows ポータブル デバイス API を介してプログラムで写真を撮る機能はサポートしていません。

Windows Portable Devices API と WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE コマンドを使用して、写真の撮影と取得に成功した人はいますか? もしそうなら、どのブランドとモデルのカメラを使用しましたか?

0 投票する
4 に答える
3194 参照

c# - 画像ファイルの転送に WPD (Windows Portable Device) API を使用する際のエラー

接続された WPD サポート デバイスにイメージ ファイルを転送するために、WPD Apis を使用して c# でサンプル アプリケーションを作成しようとしています。私はこのリンクをたどっています。私の問題は、ファイルを転送しようとするたびにエラーが発生し続けることです: 値が期待される範囲内にありません。誰もが同じことを成功させようとしましたか。どんな指針も高く評価されます。

以下は、エラーに直面するコードスニペットです

エラーは行に表示されます targetStream.Write(... 以下は、パラメーターを設定した方法です。設定しているパラメーターに何か問題があるか、必要なパラメーターが不足していると思います。