Interface IDXGIOutputDuplication (dxgi1_2.h)

L’interface IDXGIOutputDuplication accède et manipule l’image de bureau en double.

Héritage

L’interface IDXGIOutputDuplication hérite d’IDXGIObject. IDXGIOutputDuplication a également les types de membres suivants :

Méthodes

L’interface IDXGIOutputDuplication comporte ces méthodes.

 
IDXGIOutputDuplication::AcquireNextFrame

Indique que l’application est prête à traiter l’image de bureau suivante.
IDXGIOutputDuplication::GetDesc

Récupère une description d’une sortie dupliquée. Cette description spécifie les dimensions de la surface qui contient l’image de bureau.
IDXGIOutputDuplication::GetFrameDirtyRects

Obtient des informations sur sale rectangles pour le cadre de bureau actuel.
IDXGIOutputDuplication::GetFrameMoveRects

Obtient des informations sur les rectangles déplacés pour le cadre de bureau actuel.
IDXGIOutputDuplication::GetFramePointerShape

Obtient des informations sur la nouvelle forme de pointeur pour le cadre de bureau actuel.
IDXGIOutputDuplication::MapDesktopSurface

Fournit au processeur un accès efficace à une image de bureau si cette image de bureau est déjà dans la mémoire système.
IDXGIOutputDuplication::ReleaseFrame

Indique que l’application a terminé le traitement du frame.
IDXGIOutputDuplication::UnMapDesktopSurface

Invalide le pointeur vers l’image de bureau qui a été récupérée à l’aide d’IDXGIOutputDuplication::MapDesktopSurface.

Notes

Une application de collaboration peut utiliser IDXGIOutputDuplication pour accéder à l’image de bureau. IDXGIOutputDuplication est pris en charge dans Desktop Window Manager (DWM) sur les modes plein écran DirectX autres que 8bpp et openGL en mode plein écran non 8bpp. Les modes de bureau GDI 16 bits ou 32 bits non DWM ne sont pas pris en charge.

Une application peut utiliser IDXGIOutputDuplication sur un thread distinct pour recevoir les images de bureau et les alimenter dans son pipeline de traitement d’images spécifique. L’application utilise IDXGIOutputDuplication pour effectuer les opérations suivantes :

  1. Acquérir l’image de bureau suivante.
  2. Récupérez les informations qui décrivent l’image.
  3. Effectuez une opération sur l’image. Cette opération peut être aussi simple que de copier l’image dans une mémoire tampon de préproduction afin que l’application puisse lire les données de pixels sur l’image. L’application lit les données de pixels après l’appel de l’application IDXGISurface::Map. Sinon, cette opération peut être plus complexe. Par exemple, l’application peut exécuter des nuanceurs de pixels sur les régions mises à jour de l’image pour encoder ces régions pour les transmettre à un client.
  4. Une fois que l’application a terminé de traiter chaque image de bureau, elle libère l’image, effectue des boucles à l’étape 1 et répète les étapes. L’application répète ces étapes jusqu’à ce que le traitement des images de bureau soit terminé.
Les composants suivants du système d’exploitation peuvent générer l’image de bureau :
  • DWM en composant l’image de bureau
  • Une application DirectX ou OpenGL en plein écran
  • Une application en basculant vers un bureau distinct, par exemple, le bureau sécurisé utilisé pour afficher l’écran de connexion
Toutes les interfaces IDXGIOutputDuplication actuelles deviennent non valides lorsque le système d’exploitation bascule vers un autre composant qui produit l’image de bureau ou lorsqu’un changement de mode se produit. Dans ce cas, l’application doit détruire son interface IDXGIOutputDuplication actuelle et créer une interface IDXGIOutputDuplication .

Voici des exemples de situations dans lesquelles IDXGIOutputDuplication devient non valide :

  • Commutateur de bureau
  • Changement de mode
  • Basculer à partir de DWM activé, DWM désactivé ou d’une autre application plein écran
Dans ce cas, l’application doit libérer l’interface IDXGIOutputDuplication et doit créer une interface IDXGIOutputDuplication pour le nouveau contenu. Si l’application ne dispose pas du privilège approprié pour la nouvelle image de bureau, son appel à la méthode IDXGIOutput1::D uplicateOutput échoue.

Pendant que l’application traite chaque image de bureau, le système d’exploitation accumule toutes les mises à jour de l’image de bureau en une seule mise à jour. Pour plus d’informations sur les mises à jour du bureau, consultez Mise à jour des données d’image de bureau.

L’image de bureau est toujours au format DXGI_FORMAT_B8G8R8A8_UNORM .

L’interface IDXGIOutputDuplication n’existe pas pour les applications du Windows Store.

Spécifications

   
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête dxgi1_2.h

Voir aussi

DXGI Interfaces

IDXGIObject