Я работаю с аудиоинтерфейсами Windows 7 и столкнулся со стеной.
По сути, мне нужно взять IAudioSessionControl2 * и получить ISimpleAudioVolume * из него.
Теперь, похоже, я могу вызвать IAudioSessionManager-> GetSimpleAudioVolume () , используя значение IAudioSessionControl2-> GetSessionInstanceIdentifier (...) . Обратите внимание, что в документах это точно не прописано, но кажется разумным.
Проблема, GetSimpleAudioVolume () принимает GUID *, а GetSessionInstanceIdentifier () выплевывает LPWSTR. Посредством отладки я подтвердил, что возвращаемое значение из GetSessionInstanceIdentifier () по крайней мере выглядит как GUID.
Итак, вопрос в том, как мне преобразовать LPWSTR, который у меня есть, в GUID? Я понимаю, что это довольно тривиально, если я перебираю какой-то управляемый код и использую встроенный GUID , но должен быть способ C ++ для этого.
Хорошо, эти API определенно не работают так, как я говорю, что они работают в приведенном выше текстовом дампе. Тем не менее, на основной вопрос String -> GUID дан ответ, поэтому я не собираюсь удалять вопрос.