DirectX pEnum->Next(1,&pPin,NULL) 返回S_FALSE
DirectX pEnum->Next(1,&pPin,NULL) returns S_FALSE
我已经建立了USB电视调谐器在图形编辑和它的工作良好的graphhedit过滤器。
当我将其转换为c++代码时,对于电视调谐器滤波器似乎可以,因为我通过调用 pEnum->Next(1,&pPin,NULL)
获得引脚连接,但对于USB电视音频接口,我无法找到引脚,因为我总是获得S_FALSE
呼叫pEnum->Next(1,&pPin,NULL)
。
我在不同的网站上看到过一些帖子,告诉人们需要使用枚举,但没有给出例子。此外,我也无法理解为什么调谐器滤波器引脚可以在同一设备上访问,而其他设备则不能。这是我的代码。请告诉我如何更改它为枚举。
HRESULT hr=S_OK;
CComPtr<ICaptureGraphBuilder2> pBuilder;
hr=pBuilder.CoCreateInstance(CLSID_CaptureGraphBuilder2);
hr=pBuilder->SetFiltergraph(pGraph);
//now add tuner
CComPtr<IBaseFilter> pGadmeiAnalogTvTuner0001;
hr=pGadmeiAnalogTvTuner0001.CoCreateInstance(CLSID_GadmeiAnalogTvTuner0001);
if(hr<0)
return -1;
hr=pGraph->AddFilter(pGadmeiAnalogTvTuner0001,L"Gadmei Analog TvTuner 0001");
if(hr!=S_OK)
return -1;
printf("added tuner to graph n");
//now add tv audio
CComPtr<IBaseFilter> pGadmeiAnalogTvAudiof;
hr=pGadmeiAnalogTvAudiof.CoCreateInstance(CLSID_GadmeiAnalogTvAudio);
if(hr<0)
return -1;
hr=pGraph->AddFilter(pGadmeiAnalogTvAudiof,L"GadmeiAnalogTvAudio");
if(hr!=S_OK)
return -1;
printf("added Tv Audio to graph n");
//connect tv tuner and audio
hr=pGraph->ConnectDirect(GetPin(pGadmeiAnalogTvTuner0001,L"Analog Audio"), GetPin(pGadmeiAnalogTvAudiof,L"TVAudio In"),NULL);
if(hr!=S_OK)
printf("Can't Connect n");
捕获过滤器是通过枚举器创建的,它们在适当的上下文中实例化。CoCreateInstance
到CLSID
为您提供了一个包装器对象,而没有将其绑定到感兴趣的硬件,然后您就有了有效接口指针的典型症状,但是没有引脚可用。
相关文章:
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- 如何在映射中返回null
- 为什么返回 NULL 不会破坏函数?
- fopen 在 gdb 中返回 NULL
- 为什么要从main()返回NULL?
- 为什么TinyXML2的XMLDocument::FirstChild()函数在尝试解析这个有效的XML文件时返回NULL?
- Box2D World.GetBodyList() 返回 NULL,但 World 显然正在更新对象
- API 返回智能指针的 std::optional 以明确指定指针可能为 null 是否有意义?
- boost::p ython:PyErr_Fetch始终返回 NULL 回溯
- 如何在 Visual C++ 中从返回类型为 map 的函数返回 null?
- 如何在C++中返回Null作为引用
- 从模板化函数返回Null对象
- 如何返回值为NULL的变量指针
- Windows 函数"GetCursorInfo"返回成功,但光标的句柄为 NULL
- GDALOpen 在 GEOTiff 文件上返回 null
- 将对象作为 null 返回内容
- QList<float* 类型的 NULL 返回值>
- 在用C++编写的COM客户端中引发异常的Null返回值
- nullptr初始值和WinAPI NULL返回
- DirectX pEnum->Next(1,&pPin,NULL) 返回S_FALSE