IAudioDeviceModulesClient::SetAudioDeviceModulesManager method (audioenginebaseapo.h)

Called by the system to pass an instance of AudioDeviceModulesManager to Audio Processing Objects (APOs) that implement the IAudioDeviceModulesClient interface.

Syntax

HRESULT SetAudioDeviceModulesManager(
  IUnknown *pAudioDeviceModulesManager
);

Parameters

pAudioDeviceModulesManager

An IUnknown interface representing the IAudioDeviceModulesManager.

Return value

An HRESULT.

Remarks

The following code example illustrates an implementation of IAudioDeviceModulesClient.

STDMETHODIMP CTestModuleAPO::SetAudioDeviceModulesManager(_In_ IUnknown* pAudioDeviceModulesManager) 
{
    HRESULT hr = S_OK;
    CComQIPtr<Windows::Media::Devices::IAudioDeviceModulesManager> spModuleManager = pAudioDeviceModulesManager;
    ComPtr<IVectorView<AudioDeviceModule *>> spModules;

    // Cache the audio modules manager for later use within the apo
    m_AudioModulesManager = pAudioDeviceModulesManager;

    // Search the audio modules for a known module
    hr = m_pAudioDeviceModulesMgr->FindAllById(KNOWN_MODULE_ID, &spModules);

    if (SUCCEEDED(hr))
    {
        // do something with the module(s) returned or cache them for later usage
        m_KnownModules = spModules;
    }

    return hr;
}

Requirements

Requirement Value
Minimum supported client Windows 10 Build 20348
Header audioenginebaseapo.h