Re[2]: CComPtr и CComQIPtr
От: Nine  
Дата: 22.05.04 10:55
Оценка:
Здравствуйте, retalik.

Спасибо за ответ. Многое прояснилось сразу и кое что прямо сейчас Возникает встречный вопрос.
Два вопроса.
1.Является ли сл. код аналогом предыдущего:

-----------------------------------------------
IGraphBuilder * m_pGraph;
IVideoWindow * pWindow;

CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,IID_IGraphBuilder, (void **) &pGraph);
m_pGraph->QueryInterface(IID_IVideoWindow, (LPVOID *) &pWindow);

-----------------------------------------------
2.В вашем ответе, разве m_pGraph не нужно создавать ф-ей CoCreateInstance???

CComPtr< IGraphBuilder > m_pGraph;
CComPtr< IVideoWindow> pWindow;
if(FAILED(m_pGraph->QueryInterface(&pWindow))
pWindow = 0;


P.S.
И еще, раз такая пьянка пошла:
у меня есть MSDN, но никака не могу найти сколь более обширной статьи по использованию этих двух классов.
Если знаете — подскажите. А если нет, то еще вопрос:

CComPtr< ISampleGrabber > m_pGrabber;

m_pGrabber.CoCreateInstance( CLSID_SampleGrabber );
CComQIPtr< IBaseFilter, &IID_IBaseFilter > pGrabBase( m_pGrabber );//???
//я так понимаю, что m_pGrabber передается конструктору в кач. параметра, но что это означает я так и не нашел.


Спасибо за помощь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.