| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 - если там в этом месте багов нет, то можно удалять. Если баги есть - то вам не повезло |