Mode exclusif DirectDraw
Notes
Cette rubrique s’applique uniquement à VMR-7. Dans VMR-9, vous activez le mode exclusif en fournissant votre propre allocateur en mode exclusif-présentateur. Cela est relativement simple si vous utilisez la méthode IVMRSurfaceAllocatorNotify9 :: AllocateSurfaceHelper . L’exemple VMR9Allocator montre comment implémenter un Allocator-Presenter personnalisé.
En mode exclusif DirectDraw, une application prend le contrôle exclusif du matériel graphique. Cela est utile pour les applications telles que les jeux, ou peut-être des applications vidéo plein écran. Normalement, VMR crée les objets DirectDraw et définit le niveau coopératif sur normal. Toutefois, pour exécuter VMR en mode exclusif DirectDraw, l’application elle-même doit créer l’objet DirectDraw et la surface principale, puis appeler SetCooperativeLevel pour spécifier le mode exclusif.
VMR possède un Allocator-Presenter spécial qui lui permet de s’exécuter en mode exclusif DirectDraw. Pour configurer VMR afin d’utiliser cet Allocator-presenter :
créez le filtre Graph et ajoutez VMR à celui-ci à l’aide de la méthode IFilterGraph :: AddFilter . Pour obtenir un exemple de code, consultez mode sans fenêtre VMR.
Créer l’allocateur en mode exclusif-présentateur :
IVMRImagePresenterExclModeConfig* pExclModeConfig; CoCreateInstance( CLSID_AllocPresenterDDXclMode, NULL, CLSCTX_INPROC_SERVER, IID_IVMRImagePresenterExclModeConfig, (void**)&pExclModeConfig );Configurer le nouvel Allocator-présentateur :
pExclModeConfig->SetXlcModeDDObjAndPrimarySurface(...);Branchez le nouvel Allocator-Presenter dans VMR.
Générez le reste du graphique de filtre de la manière habituelle.