以下调用都返回S_OK,直到可悲的最后一行:
HRESULT hr;
IVMRFilterConfig9* pVMR9Config = NULL;
hr = ::CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (VOID**)&m_pGraph);
if (hr == S_OK) {
hr = ::CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC, IID_ICaptureGraphBuilder2, (VOID**)&m_pCapture);
}
if (hr == S_OK) {
hr = m_pCapture->SetFiltergraph(m_pGraph);
}
if (hr == S_OK) {
hr = ::CoCreateInstance(CLSID_VideoMixingRenderer9, NULL, CLSCTX_INPROC, IID_IBaseFilter, (VOID**)&m_pVMR9);
}
if (hr == S_OK) {
hr = m_pGraph->AddFilter(m_pVMR9, L"Video Mixing Renderer 9");
}
if (hr == S_OK) {
hr = m_pVMR9->QueryInterface(IID_IVMRWindowlessControl9, (VOID**)&m_pVMR9Control);
}
//main init
if (hr == S_OK) // 断点到 E_NOINTERFACE
国外网页都是VMR9 queryInterface IVMRWindowlessControl9 我这里怎么都过不鸟