Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по DirectShow и ф-ции Release() интерфейсов, Требуется разъяснение. 
:(
    Опции темы
AndreySol
Дата 13.12.2005, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: нет
Всего: 1



Мне известно два способа использования какого-либо интерфейса в графе.
Способ 1:
Создается граф, далее к нему подключается нужный интерфейс (допустим IMediaControl) таким образом
Код

hr = pGraphBuilder->QueryInterface(IID_IMediaControl, (void**)&pMediaControl);
if(hr == S_OK)
{    // освобождаем интерфейс
    pMediaControl->Release();
}

После этого pMediaControl используется по необходимости, до завершения проги.
Способ 2:
Создается граф, интерфейс подключается, но вызов pMediaControl->Release(); выполняется уже после использования подключенного интерфейса
Код

hr = pGraphBuilder->QueryInterface(IID_IMediaControl, (void**)&pMediaControl);
if(hr == S_OK)
{
    // сначала используем интерфейс,


    // а затем освобождаем
    pMediaControl->Release();
}

Поясните в чем разница, и какие преймущества и недостатки обоих способов?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0625 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.