Partager via


IdXGIOutputDuplication ::MapDesktopSurface, méthode (dxgi1_2.h)

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

Syntaxe

HRESULT MapDesktopSurface(
  [out] DXGI_MAPPED_RECT *pLockedRect
);

Paramètres

[out] pLockedRect

Pointeur vers une structure DXGI_MAPPED_RECT qui reçoit les données de surface dont l’UC a besoin pour accéder directement aux données de surface.

Valeur retournée

MapDesktopSurface retourne :

  • S_OK s’il a correctement récupéré les données de surface.
  • DXGI_ERROR_ACCESS_LOST si l’interface de duplication du bureau n’est pas valide. L’interface de duplication du bureau devient généralement non valide lorsqu’un autre type d’image est affiché sur le bureau. Voici quelques exemples de cette situation :
    • Commutateur de bureau
    • Changement de mode
    • Passer 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 créer un nouvel IDXGIOutputDuplication pour le nouveau contenu.
  • DXGI_ERROR_INVALID_CALL si l’application a déjà une carte exceptionnelle sur l’image de bureau. L’application doit appeler UnMapDesktopSurface avant d’appeler à nouveau MapDesktopSurface . DXGI_ERROR_INVALID_CALL est également retourné si l’application n’était pas propriétaire de l’image de bureau quand elle a appelé MapDesktopSurface.
  • DXGI_ERROR_UNSUPPORTED si l’image de bureau n’est pas dans la mémoire système. Dans ce cas, l’application doit d’abord transférer l’image vers une surface intermédiaire, puis verrouiller l’image en appelant la méthode IDXGISurface ::Map .
  • E_INVALIDARG si le paramètre pLockedRect est incorrect ; par exemple, si pLockedRect a la valeur NULL.
  • Éventuellement d’autres codes d’erreur décrits dans la rubrique DXGI_ERROR .

Remarques

Vous pouvez appeler MapDesktopSurface si le membre DesktopImageInSystemMemory de la structure DXGI_OUTDUPL_DESC a la valeur TRUE. Si DesktopImageInSystemMemory a la valeur FALSE, MapDesktopSurface retourne DXGI_ERROR_UNSUPPORTED. Appelez IDXGIOutputDuplication ::GetDesc pour récupérer la structure DXGI_OUTDUPL_DESC .

Configuration requise

Condition requise Valeur
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
Bibliothèque Dxgi.lib

Voir aussi

IDXGIOutputDuplication