У меня возникли проблемы с пониманием документации по функции IAudioClient::Initialize().
Речь идет о разных возвращаемых значениях E_INVALIDARG и AUDCLNT_E_UNSUPPORTED_FORMAT< /code>.
Описание E_INVALIDARG гласит:
Параметр pFormat указывает на неверное описание формата.
Однако в описании для AUDCLNT_E_UNSUPPORTED_FORMAT:
Аудиосистема (общий режим) или конечное устройство аудио (монопольный режим) не поддерживает указанный формат.
Что означает в E_INVALIDARG, что формат описания «недействителен»? Я думаю, дело не в том, что оно не подходит для устройства, поскольку оно уже обработано AUDCLNT_E_UNSUPPORTED_FORMAT?
И дело также не в том, что это pFormat == NULL, поскольку это уже обработано E_POINTER.
Итак, какие конкретные случаи некорректности pFormat покрываются E_INVALIDARG?
Подробнее здесь: https://stackoverflow.com/questions/786 ... urn-values