基于对话框directshow学习时发现的CoCreateInstance()问题,拜托大家来看下
在BOOL CMyDlg::OnInitDialog()中添加下列代码:
HRESULT hr;
ICreateDevEnum *mDevEnum;
hr=CoCreateInstance(CLSID_SystemDeviceEnum,NULL,CLSCTX_INPROC,IID_ICreateDevEnum,(void**)&mDevEnum);
if(SUCCEEDED(hr))
hr=mDevEnum->CreateClassEnumerator(CLSID_AudioInputDeviceCategory,&mClassEnum,0);
单步调试发现最后一句执行不到,也就是说mDevEnum创建不成功;
但在按钮单击下void CMyDlg::OnButton1() 添加同样代码最后一句会执行,这是为什么?
我要在初始化对话框中完成创建,该怎么解决这个问题?
先谢谢大家,希望能早点解决问题。