Windows 无法通过Win7上的应用程序成功访问IBDA_数字解调器接口
我需要构建一个应用程序来配置一些解调器参数(如符号速率、调制类型等),我通过Microsoft BDA体系结构完成了这些工作;不过,下面是我的代码:Windows 无法通过Win7上的应用程序成功访问IBDA_数字解调器接口,windows,driver,directshow,bda,Windows,Driver,Directshow,Bda,我需要构建一个应用程序来配置一些解调器参数(如符号速率、调制类型等),我通过Microsoft BDA体系结构完成了这些工作;不过,下面是我的代码: CComPtr <IBDA_Topology> pITopology; CComPtr <IBDA_AutoDemodulate> m_pIAutoDemod; CComPtr <IBDA_DigitalDemodulator> m_pIDigiDemod; hr = m_pTunerDevice-&g
CComPtr <IBDA_Topology> pITopology;
CComPtr <IBDA_AutoDemodulate> m_pIAutoDemod;
CComPtr <IBDA_DigitalDemodulator> m_pIDigiDemod;
hr = m_pTunerDevice->QueryInterface(IID_IBDA_Topology,
reinterpret_cast<void**>(&pITopology) );
ULONG nNodesTypeNum = 0;
ULONG NodesType[10];
hr = pITopology->GetNodeTypes(&nNodesTypeNum, 10, NodesType);
CComPtr <IUnknown> pIUknow;
// NodesType[1] is the Demod node
hr = pITopology->GetControlNode(0, 1, NodesType[1], &pIUknow);
ULONG nInterfacesNum = 0;
GUID InterfacesGUID[10];
// After this call, we sure that InerfacesGUID[0] == IID_IBDA_AutoDemodulate
// and InerfacesGUID[1] == IID_IBDA_DigitalDemodulator
hr = pITopology->GetNodeInterfaces(NodesType[1], &nInterfacesNum, 10,
InerfacesGUID);
// Call this success
hr = pIUknow->QueryInterface(IID_IBDA_DigitalDemodulator, (void
**)&m_pIDigiDemod);
ModulationType type = BDA_MOD_NOT_DEFINED;
hr = m_pIDigiDemod->get_ModulationType(&type);//failed here
CComPtr pITopology;
澳门邮政局长;
m_Pidigidem先生;
hr=m_pTunerDevice->QueryInterface(IID_IBDA_拓扑),
重新解释铸型(和pITopology));
ULONG nNodesTypeNum=0;
ULONG结节型[10];
hr=pITopology->getNodeType(&nNodeTypeNum,10,NodeType);
皮克诺先生;
//NodeType[1]是解调器节点
hr=pITopology->GetControlNode(0,1,NodesType[1],&pIUknow);
ULONG nInterfacesNum=0;
GUID接口GUID[10];
//在这个调用之后,我们确定InerfacesGUID[0]==IID\u IBDA\u自动解调
//和InerfacesGUID[1]==IID_IBDA_数字解调器
hr=pITopology->GetNodeInterface(节点类型[1],&nInterfacesNum,10,
惰性气体(液体);
//称之为成功
hr=pIUknow->查询接口(IID_IBDA_数字解调器,(无效
**)&m_pidigidem);
ModulationType类型=未定义BDA\u MOD\u;
hr=m_pidigidemodm->get_ModulationType(&type)//这里失败了
我可以毫无问题地获得接口对象;但是当我调用任何方法(获取调制类型,获取符号速率)时,它总是返回E_句柄;我还检查了我的BDA驱动程序是否良好
非常感谢您能为我指出正确的方向。您是否检查过您的设备是否正在被其他应用程序使用?