Interface IDXGIOutputDuplication (dxgi1_2.h)
A interface IDXGIOutputDuplication acessa e manipula a imagem da área de trabalho duplicada.
Herança
A interface IDXGIOutputDuplication herda de IDXGIObject. IDXGIOutputDuplication também tem estes tipos de membros:
Métodos
A interface IDXGIOutputDuplication tem esses métodos.
IDXGIOutputDuplication::AcquireNextFrame Indica que o aplicativo está pronto para processar a próxima imagem da área de trabalho. |
IDXGIOutputDuplication::GetDesc Recupera uma descrição de uma saída duplicada. Esta descrição especifica as dimensões da superfície que contém a imagem da área de trabalho. |
IDXGIOutputDuplication::GetFrameDirtyRects Obtém informações sobre sujo retângulos para o quadro da área de trabalho atual. |
IDXGIOutputDuplication::GetFrameMoveRects Obtém informações sobre os retângulos movidos para o quadro da área de trabalho atual. |
IDXGIOutputDuplication::GetFramePointerShape Obtém informações sobre a nova forma de ponteiro para o quadro da área de trabalho atual. |
IDXGIOutputDuplication::MapDesktopSurface 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. |
IDXGIOutputDuplication::ReleaseFrame Indica que o aplicativo terminou de processar o quadro. |
IDXGIOutputDuplication::UnMapDesktopSurface Invalida o ponteiro para a imagem da área de trabalho que foi recuperada usando IDXGIOutputDuplication::MapDesktopSurface. |
Comentários
Um aplicativo de colaboração pode usar IDXGIOutputDuplication para acessar a imagem da área de trabalho. O IDXGIOutputDuplication tem suporte no DWM (Gerenciador de Janelas da Área de Trabalho) em modos de tela inteira directX não 8bpp e modos de tela inteira openGL não 8bpp. Não há suporte para modos de área de trabalho GDI não DWM de 16 ou 32 bits.
Um aplicativo pode usar IDXGIOutputDuplication em um thread separado para receber as imagens da área de trabalho e alimentá-las em seu pipeline de processamento de imagem específico. O aplicativo usa IDXGIOutputDuplication para executar as seguintes operações:
- Adquira a próxima imagem da área de trabalho.
- Recupere as informações que descrevem a imagem.
- Executar uma operação na imagem. Essa operação pode ser tão simples quanto copiar a imagem para um buffer de preparo para que o aplicativo possa ler os dados de pixel na imagem. O aplicativo lê os dados de pixel depois que o aplicativo chama IDXGISurface::Map. Como alternativa, essa operação pode ser mais complexa. Por exemplo, o aplicativo pode executar alguns sombreadores de pixel nas regiões atualizadas da imagem para codificar essas regiões para transmissão para um cliente.
- Depois que o aplicativo concluir o processamento de cada imagem da área de trabalho, ele liberará a imagem, executará um loop para a etapa 1 e repetirá as etapas. O aplicativo repete essas etapas até concluir o processamento de imagens da área de trabalho.
- O DWM redigindo a imagem da área de trabalho
- Um aplicativo DirectX ou OpenGL de tela inteira
- Um aplicativo alternando para uma área de trabalho separada, por exemplo, a área de trabalho segura que é usada para exibir a tela de logon
Exemplos de situações em que IDXGIOutputDuplication se torna inválido são:
- Comutador da área de trabalho
- Alteração de modo
- Alternar do DWM ativado, DWM desativado ou outro aplicativo de tela inteira
Enquanto o aplicativo processa cada imagem da área de trabalho, o sistema operacional acumula todas as atualizações de imagem da área de trabalho em uma única atualização. Para obter mais informações sobre atualizações da área de trabalho, consulte Atualizando os dados da imagem da área de trabalho.
A imagem da área de trabalho está sempre no formato DXGI_FORMAT_B8G8R8A8_UNORM .
A interface IDXGIOutputDuplication não existe para aplicativos da Windows Store.
Requisitos
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 |