Здравствуйте, Nine, Вы писали:
N>Всем привет!.
N>Если кто знает подскажите
чем отличаются CComPtr и CComQIPtr?
Перед тем как отправить сообщение в форум, рекомендуется нажать кнопку "Найти ответ" — по этой теме выводится 96 ссылок.
Ну да ладно. CComQIPtr выполняет неявный вызов QueryInterface при присваивании интерфейсу другого типа.
N>И что за жуть здесь написана:
N>CComPtr< IGraphBuilder > m_pGraph;
N>CComQIPtr< IVideoWindow, &IID_IVideoWindow > pWindow = m_pGraph;
Аналог:
CComPtr< IGraphBuilder > m_pGraph;
CComPtr< IVideoWindow> pWindow;
if(FAILED(m_pGraph->QueryInterface(&pWindow)) // CComPtr::QueryInterface типизирован, IID не требуется
pWindow = 0;