gpt4 book ai didi

c++ - QI 在查询 IAMStreamConfig 时返回 E_NOINTERFACE

转载 作者:行者123 更新时间:2023-11-28 00:54:49 27 4
gpt4 key购买 nike

我正在尝试从我的集成相机上的输出引脚检索 IAMStreamConfig 接口(interface),但是 E_NOINTERFACE 失败。

我将 IntCam 用作测试设备,实际上我将有一个带有两个输出引脚的源滤波器,每个引脚都支持不同的配置。

这就是为什么我不确定使用 ICaptureGraphBuilder2::FindInterface 是一个选项,因为我仍然没有弄清楚如何从特定的输出引脚获取接口(interface)。

CComPtr<IEnumPins> pEnum = NULL;
IPin* pPin = NULL;

HRESULT hr = pFilter->EnumPins(&pEnum);
if (FAILED(hr))
return hr;

while (S_OK == pEnum->Next(1, &pPin, NULL))
{
IAMStreamConfig* pAMStreamConfig;
hr = pPin->QueryInterface(IID_PPV_ARGS(&pAMStreamConfig));
if (FAILED(hr))
return hr;
// ...
}

最佳答案

IAMStreamConfig 不是强制接口(interface),我可能会遗漏它,但在相机滤镜上它几乎总是可用的(许多应用程序会拒绝使用没有此接口(interface)的设备)。也就是说,您应该仔细检查您查询的过滤器和 pin 是否正确,代码片段看起来不错。

真正的相机通常通过 WDM Video Capture Filter 实现它有 IAMStreamConfig 但由于您使用的是虚拟设备,它可能会有所不同。

关于c++ - QI 在查询 IAMStreamConfig 时返回 E_NOINTERFACE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072775/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com