# Saturday, August 30, 2008

[DirectX] Utiliser GraphEdit sous Windows Vista

Je travaille depuis plusieurs semaines sur DirectShow pour un projet client nécessitant des fonctionnalités multimédia avancées qui ne sont pas proposées par WPF. Entre le développement de filtres source et destination et le redéveloppement du MediaElement de WPF, je découvre la puissance de DirectShow mais également les différents problèmes que l'on est susceptible de rencontrer avec cette bibliothèque.

Une des problèmes les plus fréquemment rencontré sous Windows Vista concerne l'utilisation de GraphEdit qui vous permet de créer et visualiser des graphs DirectShow. GraphEdit permet également de visualiser les graphs DirectShow utilisés dans des applications en cours d'exécution si celle-ci ont publié un IGraphBuilder dans la ROT (Running Object Table).

Le soucis est que vous Vista... vous avez de fortes chances que cela ne fonctionne pas ! Pour arriver à faire fonctionner correctement cette fonctionnalité il faut :

  • Utiliser impérativement la version de GraphEdit inclue dans le SDK de Windows Vista. Si vous utilisez une version de GraphEdit qui précédemment était inclue dans le SDK de DirectX cela ne fonctionnera pas. Exécutez donc la version présente dans le dossier C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin

  • Seconde et dernière action à faire, enregistrez la dll proppage.dll inclue dans ce même dossier afin de tout mettre en ordre grâce à l'utilitaire regsvr32.exe

Vous devriez alors être capable de visualiser les graphs en cours d'exécution qui ont été publié :

image