C++ 获取错误“;每用户订阅上的所有者SID不为';“不存在”;在调用ConnectDirect()MSFT API时,在DXVA2中而不是在DXVAHD中。

C++ 获取错误“;每用户订阅上的所有者SID不为';“不存在”;在调用ConnectDirect()MSFT API时,在DXVA2中而不是在DXVAHD中。,c++,visual-c++,com,directshow,directshow.net,C++,Visual C++,Com,Directshow,Directshow.net,调用时,返回值“hr”中出现错误“每用户订阅上的所有者SID不存在”: hr = pGraph->ConnectDirect(pOut, pIn, NULL); 只有在使用DXVA2时才会出现此错误,但在使用DXVAHD时返回S_OK 谁能告诉我这件事的原因吗 我怀疑我为“ConnectDirect()”给出的第三个参数,即媒体类型为空。我一定给了其他类型的是吗 当获取管脚值时,我可以从S_OK返回值观察到,2过滤器的管脚和管脚是正确的 由于ConnectDirect()是一个Micro

调用时,返回值“hr”中出现错误“每用户订阅上的所有者SID不存在”:

hr = pGraph->ConnectDirect(pOut, pIn, NULL);
只有在使用DXVA2时才会出现此错误,但在使用DXVAHD时返回S_OK

谁能告诉我这件事的原因吗

我怀疑我为“ConnectDirect()”给出的第三个参数,即媒体类型为空。我一定给了其他类型的是吗

当获取管脚值时,我可以从S_OK返回值观察到,2过滤器的管脚和管脚是正确的

由于ConnectDirect()是一个Microsoft API,因此我无法单步进入代码以便进行进一步调试

谁能帮我把这个修好吗


提前谢谢

您得到的错误是
0x80040207
“这些管脚之间没有公共媒体类型。”,
VFW\u E\u没有可接受的媒体类型。您的图形构建中有一些错误。

但我想知道为什么相同的代码没有为DXVAHD提供任何错误?此错误仅适用于DXVA2?如果你强调这一点会有帮助吗?这是一个“标准”错误。您尝试直接连接管脚-管脚连接失败。如果不详细说明(您需要提供详细信息),则错误表明不可能进行此类连接。尝试
Connect
而不是
ConnectDirect
以查看是否使用了任何中间筛选器。检查所连接的过滤器和插脚以及所涉及的介质类型。到目前为止,您尚未提供这些详细信息。