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
- 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 |