Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows MTP/WPD communication with Android device

Tags:

c++

windows

usb

wpd

I'm developing a PC c++ application running on windows. The application shall communicate with an android phone connected thru USB, using MTP. The idée is to not mount the Storage Card. What I have found is that Windows have something they call WPD (Windows Portable Device ) which supports MTP. It looks pretty ok but it demands WMP11 to be installed. What I wondering:

  • Is there are any other alternatives libraries you can use?
  • Do any one have any tips or experience about using WPD?
  • Are there any "leaner" dependencies you can install instead of WMP11 for xp?

Any help would be greatly appreciated.

like image 293
giZm0 Avatar asked Oct 27 '11 07:10

giZm0


1 Answers

I here provide some answers to my question for the hope that it will help some one else.

Is there any alternatives/leaner libraries?

  • You can use WIA but that is only used for images. but a part from that I have not found any.

Any tips?

  • Check out the sample code provided by Microsoft, it is a good start point. I found it be searching for Portable Devices COM API Sample on MSDN
  • For Services you can check out this sample code. Which I found by googling for WpdServicesApiSample
  • The WPD api is pretty ok to use.
  • Not all devices support MTP and some only support part of it. This caused me some problem but the device we used released an update which supported more of MTP
  • I found the answer about XP-problems from this StackOverflow by pcbbc really helpful. I can also add that we mailed the supplier and asked for a custom .INF file to support XP and they were really helpful and provided us with it. But it took some time before we got it.
like image 186
giZm0 Avatar answered Sep 19 '22 14:09

giZm0