Здравствуйте, 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 передается конструктору в кач. параметра, но что это означает я так и не нашел.
Спасибо за помощь