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 :
- Acquérir l’image de bureau suivante.
- Récupérez les informations qui décrivent l’image.
- 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.
- 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é.
- 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
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
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 |