Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: COM/DCOM/ActiveX/ATL/CORBA > Когда рилизить ICreateDevEnum?


Автор: Dims 21.10.2009, 15:09
В DirectShow есть такой объект ICreateDevEnum, который создаётся только для того, чтобы вызвать у него метод CreateClassEnumerator, после чего уже используется IEnumMoniker, созданный этим методом.

Во примерах, кажется, ICreateDevEnum уничтожается (вызывается Release() ) в самом конце, после перебора.

Но необходимо ли это? Нельзя ли уничтожить этот объект сразу после получения энумератора?

Автор: Andrey44 21.10.2009, 15:46

Ну если он больше не нужен, то почему-бы и нет

Автор: Dims 21.10.2009, 19:20
А может такое быть, что система его как-то там внутри использует во время пробегания по энумератору? Или в этом случае она сама разберётся и у себя там внутри оставит нужные ссылки?

Автор: Andrey44 22.10.2009, 07:06
За временем жизни объекта должны следить вы, а не система.

Автор: Dims 22.10.2009, 10:32
Это понятно.

Автор: xvr 22.10.2009, 15:22
Теоритически можно удалить сразу. Практически зависит от реализации DS - если там в этом месте багов нет, то можно удалять. Если баги есть - то вам не повезло  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)