为什么我查询查询接口不成功呢?
我想查询一个DMO的信息 ,通过QueryInterface()和调用接口函数的方法查询,但是不知道为什么查询却不成功
代码:
hr = CoCreateInstance(CLSID_DMOWrapperFilter,
NULL,
CLSCTX_INPROC,
IID_IBaseFilter,
reinterpret_cast<void**>(&pVideoEncoder));
hr = pVideoEncoder->QueryInterface(IID_IDMOWrapperFilter,
reinterpret_cast<void**>(&pWrapperFilter));
hr = pWrapperFilter->Init(IDVideoEncoder, DMOCATEGORY_VIDEO_ENCODER);
#if 1
IMediaObject *pDMO = NULL;
hr=pWrapperFilter->QueryInterface(IID_IMediaObject,(void**) &pDMO );
DWORD *pdwFlags=NULL;
DWORD *pcount=NULL;
hr =pDMO->GetStreamCount(pcount,pdwFlags); // 这里出错,返回的值是E_POINTER
if(FAILED(hr))
printf("\nerror\n");
printf("\nIM1\n");
printf("pdwFlags=%d\n",*pdwFlags);
#endif
求教大家
谢谢++