Método IDXGIOutputDuplication::MapDesktopSurface (dxgi1_2.h)
Fornece à CPU acesso eficiente a uma imagem da área de trabalho se essa imagem da área de trabalho já estiver na memória do sistema.
Sintaxe
HRESULT MapDesktopSurface(
[out] DXGI_MAPPED_RECT *pLockedRect
);
Parâmetros
[out] pLockedRect
Um ponteiro para uma estrutura DXGI_MAPPED_RECT que recebe os dados de superfície que a CPU precisa para acessar diretamente os dados da superfície.
Retornar valor
MapDesktopSurface retorna:
- S_OK se ele recuperou com êxito os dados da superfície.
- DXGI_ERROR_ACCESS_LOST se a interface de duplicação da área de trabalho for inválida. A interface de duplicação da área de trabalho normalmente se torna inválida quando um tipo diferente de imagem é exibido na área de trabalho. Exemplos dessa situação são:
- Comutador da área de trabalho
- Alteração de modo
- Alternar do DWM ativado, DWM desativado ou outro aplicativo de tela inteira
- DXGI_ERROR_INVALID_CALL se o aplicativo já tiver um mapa pendente na imagem da área de trabalho. O aplicativo deve chamar UnMapDesktopSurface antes de chamar MapDesktopSurface novamente. DXGI_ERROR_INVALID_CALL também será retornado se o aplicativo não tiver a imagem da área de trabalho quando chamado MapDesktopSurface.
- DXGI_ERROR_UNSUPPORTED se a imagem da área de trabalho não estiver na memória do sistema. Nessa situação, o aplicativo deve primeiro transferir a imagem para uma superfície de preparo e, em seguida, bloquear a imagem chamando o método IDXGISurface::Map .
- E_INVALIDARG se o parâmetro pLockedRect estiver incorreto; por exemplo, se pLockedRect for NULL.
- Possivelmente outros códigos de erro descritos no tópico DXGI_ERROR .
Comentários
Você poderá chamar MapDesktopSurface com êxito se o membro DesktopImageInSystemMemory da estrutura DXGI_OUTDUPL_DESC estiver definido como TRUE. Se DesktopImageInSystemMemory for FALSE, MapDesktopSurface retornará DXGI_ERROR_UNSUPPORTED. Chame IDXGIOutputDuplication::GetDesc para recuperar a estrutura DXGI_OUTDUPL_DESC .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | dxgi1_2.h |
Biblioteca | Dxgi.lib |