Comment implémenter IUnknown
Microsoft DirectShow est basé sur le modèle COM (component Object Model). Si vous écrivez votre propre filtre, vous devez l’implémenter en tant qu’objet COM. les classes de base DirectShow fournissent une infrastructure à partir de laquelle effectuer cette opération. L’utilisation des classes de base n’est pas obligatoire, mais elle peut simplifier le processus de développement. cet article décrit quelques-uns des détails internes des objets COM et leur implémentation dans les classes de base DirectShow.
Cet article suppose que vous savez comment programmer des applications clientes COM, en d’autres termes, que vous comprenez les méthodes dans IUnknown, mais ne suppose pas d’expérience préalable du développement d’objets com. DirectShow gère un grand nombre des détails du développement d’un objet COM. Si vous avez des difficultés à développer des objets COM, vous devez lire la section à l’aide de CUnknown, qui décrit la classe de base CUnknown .
COM est une spécification, et non une implémentation. Il définit les règles qu’un composant doit suivre ; le fait de placer ces règles en vigueur est laissé au développeur. dans DirectShow, tous les objets dérivent d’un ensemble de classes de base C++. Les constructeurs et les méthodes de la classe de base effectuent la plupart des tâches de « comptabilité » COM, telles que la conservation d’un décompte de références cohérent. En dérivant votre filtre à partir d’une classe de base, vous héritez des fonctionnalités de la classe. Pour utiliser efficacement les classes de base, vous avez besoin d’une compréhension générale de la façon dont elles implémentent la spécification COM.
Cet article contient les rubriques suivantes.