[DirectShow] Gerer proprietes depuis appli externe [Résolu]

Signaler
Messages postés
4
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
15 mai 2007
-
Messages postés
4
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
15 mai 2007
-
Bonjour a tous,

J'ai développé une petite application en C# qui n'a pour but que d'afficher une video en lui appliqaunt un filter DShow.
Pour ce faire, j'ai du implementer un Wrapper C# - C++ manage - C++. Mon appli fonctionne bien.

En parallele, j'ai developpe un filtre ainsi que sa fenetre de propriete (via une interface maison).

Ce que je souhaiterais faire maintenant, c'est proposer depuis l'appli C# d'envoyer des parametres a modifier dans les proprietes du filtre. Donc le code va certainement devoir se faire au niveau C++ de mon Wrapper.
J'ai lu partout sur Internet qu'il faut utiliser l'interface de la page de proprietes pour pouvoir utiliser ses methodes. Seulement, je suis un peu perdu avec tous ces projets en parallele.

Donc je voudrais savoir quels sont les fichiers / dependances a creer / rajouter a ce stade du developpement ; puis comment se servir effectivement de l'interface creee (via son CLSID) pour modifier les parametres du filtre.

Grand Merci a vous

1 réponse

Messages postés
4
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
15 mai 2007

Re-bonjour,

En fait, après plusieurs heures de recherche, j'ai finalement trouvé.

Donc, pour ceux que ca pourrait interesser :
- aucune dependance supplementaire a ajouter
- dans le projet C++ a la base du Wrapper, inclure le fichier ".h" donnant le IID et les methodes de l'interface implementee lors de la creation de la page de propriete
- penser a inclure "initguid.h" juste avant le ".h" de l'interface, et une seule fois pour tout le projet

Ainsi, il ne devrait se produire aucune erreur de Linkage, et les methodes de l'interface, implementees par le filtre, devraient permettre d'acceder et modifier les champs.

J'espere avoir ete clair sur mon explication. A present, ca marche pour moi. Je suis pret a aider quiconque rencontrerait le meme probleme.

Alex