Marshalling restrictions break this, sadly

May 15, 2012 at 10:24 AM

As explained in the C# wrapper that's generated for the WPD COM layer by default doesn't handle the return of arrays of strings. One way round this is to doctor the generated Intermediate Language as that author describes, but so many of the methods return string arrays this becomes a risky strategy for support going forwards. The code provided here will only ever show (for example) one device attached. This is not the author's fault, but a great shame. I'm looking at the Native Extensions for Microsoft Silverlight in the hope there's a better wrapper there, I think the only other option is to write a C++ wrapper for the WPD calls and marshal the results back myself!