2017-03-07 34 views
0

IPortableDeviceEventCallback)を使用してファイルを/ストレージデバイスから削除/コピーしたときに通知することは可能ですか?Windowsポータブルデバイス - 新しいファイルの作成/コピー/削除時の通知

これまでのところ、私はフラッシュドライブが切断されたか、その名前がユーザーによって外部で変更されたときにのみ通知を受けました。

を編集してください:WPD_EVENT_OBJECT_ADDEDイベントの受信に興味があります。

IPortableDeviceCapabilities::GetSupportedEvents 

が必要なイベントがサポートされていることを示しているが、何もWPD_EVENT_OBJECT_ADDEDは、MTPのイベントに対応

答えて

0

がObjectAdded新しいファイルコピー時に送信されません。 https://msdn.microsoft.com/en-us/microsoft-r/dn932706

実際に送信されるイベントは、具体的なポータブルデバイスでのMTPプロトコルの具体的な実装に依存します。

私はWPD APIの主な目的は、携帯電話や音楽プレーヤーのようなポータブルデバイスを管理することです。アクセスとUSBフラッシュドライブで動作するメソッドは互換性の一部の層としてのみエクスポートされ、すべての機能を含むことはできません。

あなたがないポータブルデバイスからそのような通知を受信したい場合はMTPを実装していますが、唯一のUSBフラッシュドライブから、あなたはファイルシステムミニフィルター上 https://msdn.microsoft.com/en-us/windows/hardware/drivers/ifs/file-system-minifilter-drivers

を例えば見てみる必要があります彼らは、あなたがコールバックを必要与えることができます。

+0

私の「編集」スニペットの状態では、フラッシュドライバはObject_Addedイベントをサポートしています。どのようにそれを送信することはありません来る? –

+0

"サポート"とは、ここでは抽象化の一部のレイヤーを意味するだけで、どのようにテストしているかによって異なります。 私のフラッシュディスクでMS WPD APIサンプルでこのようなケースを試しましたが、WPDメソッドでコンテンツを扱うときにのみWPDイベントが発生するようです:IPortableDeviceメソッドを通じてコン​​テンツを転送するなどです。 しかし、エクスプローラなどからフォルダを作成するなど、USBフラッシュメモリでの操作によるイベントはありません。 –

関連する問題