IMMDevice::Activate and specifying IID_IBaseFilter as the interface identifier

Use the IMMDevice pointer to the endpoint returned by the enumeration process to activate the desired audio streaming API and prepare for streaming. Different audio APIs require slightly different preparation.
For DShow audio applications:
Create a DirectShow COM object by calling IMMDevice::Activate and specifying IID_IBaseFilter as the interface identifier.

IUnknown *pDShowFilter = NULL;
...
hr = pDevice->Activate (
                  IID_IBaseFilter,
                  CLSCTX_INPROC_SERVER, NULL,
                  reinterpret_cast<void **>(&pDShowFilter));


Build a DirectShow filter graph with this COM object activated by the device. For more information about this process, see "Building the Filter Graph" in DirectShow SDK documentation.

https://msdn.microsoft.com/zh-cn/library/windows/hardware/dd756608(v=vs.85).aspx

原文地址:https://www.cnblogs.com/wainiwann/p/7762560.html