[ yooyo @ 20.10.2003. 22:46 ] @
Kako da enumerisem sve COM objekte koji imaju implementiran neki interface? Nasao sam na neki IEnumUnknown interface ali mi nije jasno da li moze da se iskoristi za to? yooyo |
[ yooyo @ 20.10.2003. 22:46 ] @
[ milanche @ 21.10.2003. 22:13 ] @
Interfejs koji si pomenuo sluzi (sudeci po MSDN dokumentaciji) da se COM objekta sastavljenog iz vise drugih COM objekta dobije kompletna lista podobjekata.
To sto ti hoces se moze, ali mora pesice - prvo moras da enumerises sve postojece COM objekte, pa da zatim QueryInterface-ujes svaki od njih za trazeni interface. Ako dobijes non-zero pointer kao odgovor, Release-ujes ga i ubacis pomenuti objekat u svoju listu. Za detalje enumeracije svih postojecih COM objekata pogledaj MSDN - pretrazi sve sto ima IEnum u imenu. Milos Glisic (Glista) je napravio odlicnu aplikaciju koja radi nesto slicno. Potrazi mu kontakt na ovom sajtu pa mu se obrati za savet. [ yooyo @ 21.10.2003. 23:37 ] @
Citat: milanche: Interfejs koji si pomenuo sluzi (sudeci po MSDN dokumentaciji) da se COM objekta sastavljenog iz vise drugih COM objekta dobije kompletna lista podobjekata. To sto ti hoces se moze, ali mora pesice - prvo moras da enumerises sve postojece COM objekte, pa da zatim QueryInterface-ujes svaki od njih za trazeni interface. Ako dobijes non-zero pointer kao odgovor, Release-ujes ga i ubacis pomenuti objekat u svoju listu. Za detalje enumeracije svih postojecih COM objekata pogledaj MSDN - pretrazi sve sto ima IEnum u imenu. Znam da mora pesice... ali malo je glupo da pravim instancu bas svakog objekta pa da ga pitam za interface. Mora da postoji neki pametniji nacin. Kako npr. DirectShow enumerise filtere kada pravi filter graph za pustanje video zapisa? Prevrnucu jos malo, pa ako nadjem lelegantno resenje okacicu ga i ovde. yooyo [ milanche @ 22.10.2003. 19:55 ] @
Bas je DirectShow (bar verzije pre 9.0) prava oblast gde je tvoj algoritam
trazen - kad se trazi odredjeni filter po kategorijama ili po nekom drugom kriterijumu. Napisao sam gomilu koda u DirectX-u, i nigde nisam video elegantno resenje za tacno to sto si naveo. Postoje, doduse, skraceni putevi za neka druga grupisanja - na primer, mozes izlistati sve filtre koji spadaju u odredjenu kategoriju. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|