Я пытаюсь использовать код this в проекте Unity, но кажется, что реализация COM Interop в Mono/.NET отличается, что приводит к сбою или сбою в работе кода. Запуск кода в .NET работает нормально, но запуск его с Mono 2.0 (за пределами Unity) завершается неудачно так же, как в Unity, что говорит о том, что это проблема с Mono вообще, а не Unity.COM Interop in Mono 2.0
Если я компилирую и запускаю код как есть, он терпит неудачу, потому что type cast от MMDeviceEnumerator до IIMMDeviceEnumerator терпит неудачу. При декорировании всех интерфейсов с помощью [ComInterop], листинг преуспевает, но вызов GetDefaultAudioEndpoint приводит к сбою Unity/Mono с нарушением доступа.
Трудно найти хорошую документацию COM Interop на Mono в целом - и особенно в отношении такой старой версии. Возможно ли, что это работает?
Это было именно то, что я делал – Johan