I am attempting to enumerate connected portable devices on Windows using the Windows Portable Devices API and the PortableDeviceManager provided by this API.
I have
Just an update on the accepted answer.
The correct replacement is as follows.
GetDevices([in][out] string& marshal( lpwstr) pPnPDeviceIDs,
to
GetDevices([in][out] string[] marshal( lpwstr[]) pPnPDeviceIDs,
As per Andrew Trevarrow.