Функция ActivateAudioInterfaceAsync (mmdeviceapi.h)
Позволяет приложениям Магазина Windows получать доступ к предварительно созданным интерфейсам объектной модели компонентов (COM) в семействе
Синтаксис
HRESULT ActivateAudioInterfaceAsync(
[in] LPCWSTR deviceInterfacePath,
[in] REFIID riid,
[in] PROPVARIANT *activationParams,
[in] IActivateAudioInterfaceCompletionHandler *completionHandler,
IActivateAudioInterfaceAsyncOperation **activationOperation
);
Параметры
[in] deviceInterfacePath
Идентификатор интерфейса устройства для звукового устройства. Обычно это извлекается из объекта DeviceInformation или одного из методов класса MediaDevice.
Идентификаторы GUID DEVINTERFACE_AUDIO_CAPTURE и DEVINTERFACE_AUDIO_RENDER представляют устройство аудиозаписи и отрисовки по умолчанию соответственно. Вызовите StringFromIID, чтобы преобразовать один из этих идентификаторов GUID в LPCWSTR для использования для этого аргумента.
Укажите AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_LOOPBACK активации звукового интерфейса для записи циклического цикла обработки. Пример кода, демонстрирующий сценарий отслеживания циклического цикла процесса, см. в примере api Loopback API Capture.
[in] riid
IID com-интерфейса в семействе WASAPI, например IAudioClient.
[in] activationParams
Параметры активации для конкретного интерфейса. Дополнительные сведения см. в параметре
Начиная с Сборки Windows 10 20438, можно указать AUDIOCLIENT_ACTIVATION_PARAMS для активации интерфейса для включения или исключения аудиопотоков, связанных с указанным идентификатором процесса.
[in] completionHandler
Интерфейс, реализованный вызывающим оператором, который вызывается Windows, когда доступен результат процедуры активации.
activationOperation
Возвращает интерфейс IActivateAudioInterfaceAsyncOperation, представляющий асинхронную операцию активации запрошенного интерфейса WASAPI.
Возвращаемое значение
Функция возвращает HRESULT. Возможные значения включают, но не ограничиваются ими в следующей таблице.
Возвращаемый код | Описание |
---|---|
|
Базовый объект и асинхронная операция были успешно созданы. |
|
В версиях Windows, предшествующих Windows 10, эта ошибка может привести к тому, что функция вызывается из неправильной com-квартиры или если переданный IActivateAudioInterfaceCompletionHandler не реализован на гибком объекте (агрегирование маршалера с бесплатным потоком). |
Замечания
Эта функция позволяет приложениям Магазина Windows активировать определенные WASAPI COM-интерфейсы после использования API среды выполнения Windows в Windows.Devices и пространства имен Windows.Media.Devices для выбора звукового устройства.
Для многих реализаций приложение должно вызывать эту функцию из основного потока пользовательского интерфейса для активации COM-интерфейса в семействе WASAPI
- Вызов ActivateAudioInterfaceAsync с deviceInterfacePath, который задает устройство отрисовки звука и riid, указывающий интерфейс IAudioClient.
- Вызов ActivateAudioInterfaceAsync с deviceInterfacePath, который задает устройство отрисовки звука и riid, который задает интерфейс IAudioEndpointVolume.
- Вызов ActivateAudioInterfaceAsync из службы сеанса 0. Дополнительные сведения см. в службах.
Приложения не должны освободить объект, реализующий IActivateAudioInterfaceCompletionHandler до выполнения обратного вызова обработчика завершения.
АктивироватьAudioInterfaceAsync необходимо вызвать в основном потоке пользовательского интерфейса, чтобы можно было отображать запрос согласия. Если не удается показать запрос согласия, пользователь не может предоставить устройству доступ к приложению.
В версиях Windows, предшествующих Windows 10, ActivateAudioInterfaceAsync необходимо вызывать в потоке в com-Single-Threaded Apartment (STA), при открытии устройства для записи звука. завершения
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8 [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2012 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
заголовка | mmdeviceapi.h (include Mmdevapi.idl) |
библиотеки |
Mmdevapi.lib |
DLL | Mmdevapi.dll |
IRQL | Нет |