I looked a bit at mmdevice properties, turns out device strings are available directly from property store, using this key:
{9c119480-ddc2-4954-a150-5bd240d454ad},1
The only problem is it's not documented in SDK. But the idea would be to populate property store with setupapi, or use setupapi/cfgmgr directly.
Anyway, mentioning this in case we'll even need it.