Compartilhar via


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:

  1. Adquira a próxima imagem da área de trabalho.
  2. Recupere as informações que descrevem a imagem.
  3. 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.
  4. 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.
Os seguintes componentes do sistema operacional podem gerar a imagem 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
Todas as interfaces IDXGIOutputDuplication atuais se tornam inválidas quando o sistema operacional alterna para um componente diferente que produz a imagem da área de trabalho ou quando ocorre uma alteração de modo. Nessas situações, o aplicativo deve destruir sua interface IDXGIOutputDuplication atual e criar uma nova interface IDXGIOutputDuplication .

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
Nessas situações, o aplicativo deve liberar a interface IDXGIOutputDuplication e deve criar uma nova interface IDXGIOutputDuplication para o novo conteúdo. Se o aplicativo não tiver o privilégio apropriado para a nova imagem da área de trabalho, sua chamada para o método IDXGIOutput1::D uplicateOutput falhará.

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

Confira também

DXGI Interfaces

IDXGIObject