Compartir a través de


Interfaz IDXGIOutputDuplication (dxgi1_2.h)

La interfaz IDXGIOutputDuplication accede y manipula la imagen de escritorio duplicada.

Herencia

La interfaz IDXGIOutputDuplication hereda de IDXGIObject. IDXGIOutputDuplication también tiene estos tipos de miembros:

Métodos

La interfaz IDXGIOutputDuplication tiene estos métodos.

 
IDXGIOutputDuplication::AcquireNextFrame

Indica que la aplicación está lista para procesar la siguiente imagen de escritorio.
IDXGIOutputDuplication::GetDesc

Recupera una descripción de una salida duplicada. Esta descripción especifica las dimensiones de la superficie que contiene la imagen de escritorio.
IDXGIOutputDuplication::GetFrameDirtyRects

Obtiene información sobre rectángulos sucios para el marco de escritorio actual.
IDXGIOutputDuplication::GetFrameMoveRects

Obtiene información sobre los rectángulos movidos para el marco de escritorio actual.
IDXGIOutputDuplication::GetFramePointerShape

Obtiene información sobre la nueva forma de puntero para el marco de escritorio actual.
IDXGIOutputDuplication::MapDesktopSurface

Proporciona a la CPU acceso eficaz a una imagen de escritorio si esa imagen de escritorio ya está en memoria del sistema.
IDXGIOutputDuplication::ReleaseFrame

Indica que la aplicación ha terminado de procesar el marco.
IDXGIOutputDuplication::UnMapDesktopSurface

Invalida el puntero a la imagen de escritorio que se recuperó mediante IDXGIOutputDuplication::MapDesktopSurface.

Comentarios

Una aplicación de colaboración puede usar IDXGIOutputDuplication para acceder a la imagen de escritorio. IDXGIOutputDuplication se admite en el Administrador de ventanas de escritorio (DWM) en modos de pantalla completa de DirectX que no son de 8bpp y modos de pantalla completa de OpenGL que no son de 8bpp. No se admiten modos de escritorio GDI de 16 o 32 bits que no son DWM.

Una aplicación puede usar IDXGIOutputDuplication en un subproceso independiente para recibir las imágenes de escritorio y alimentarlas en su canalización de procesamiento de imágenes específica. La aplicación usa IDXGIOutputDuplication para realizar las siguientes operaciones:

  1. Adquiera la siguiente imagen de escritorio.
  2. Recupere la información que describe la imagen.
  3. Realice una operación en la imagen. Esta operación puede ser tan sencilla como copiar la imagen en un búfer de almacenamiento provisional para que la aplicación pueda leer los datos de píxeles de la imagen. La aplicación lee los datos de píxeles después de que la aplicación llame a IDXGISurface::Map. Como alternativa, esta operación puede ser más compleja. Por ejemplo, la aplicación puede ejecutar algunos sombreadores de píxeles en las regiones actualizadas de la imagen para codificar esas regiones para su transmisión a un cliente.
  4. Una vez que la aplicación termina de procesar cada imagen de escritorio, libera la imagen, recorre en bucle el paso 1 y repite los pasos. La aplicación repite estos pasos hasta que termine de procesar imágenes de escritorio.
Los siguientes componentes del sistema operativo pueden generar la imagen de escritorio:
  • DwM mediante la redacción de la imagen de escritorio
  • Una aplicación DirectX o OpenGL de pantalla completa
  • Una aplicación cambiando a un escritorio independiente, por ejemplo, el escritorio seguro que se usa para mostrar la pantalla de inicio de sesión
Todas las interfaces IDXGIOutputDuplication actuales no son válidas cuando el sistema operativo cambia a un componente diferente que genera la imagen de escritorio o cuando se produce un cambio de modo. En estas situaciones, la aplicación debe destruir su interfaz IDXGIOutputDuplication actual y crear una nueva interfaz IDXGIOutputDuplication .

Algunos ejemplos de situaciones en las que IDXGIOutputDuplication deja de ser válida son:

  • Conmutador de escritorio
  • Cambio de modo
  • Cambiar de DWM activado, DWM desactivado u otra aplicación de pantalla completa
En estas situaciones, la aplicación debe liberar la interfaz IDXGIOutputDuplication y debe crear una nueva interfaz IDXGIOutputDuplication para el nuevo contenido. Si la aplicación no tiene el privilegio adecuado para la nueva imagen de escritorio, se produce un error en la llamada al método IDXGIOutput1::D uplicateOutput .

Mientras la aplicación procesa cada imagen de escritorio, el sistema operativo acumula todas las actualizaciones de la imagen de escritorio en una sola actualización. Para obtener más información sobre las actualizaciones de escritorio, consulte Actualización de los datos de la imagen de escritorio.

La imagen de escritorio siempre está en el formato DXGI_FORMAT_B8G8R8A8_UNORM .

La interfaz IDXGIOutputDuplication no existe para las aplicaciones de la Tienda Windows.

Requisitos

   
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado dxgi1_2.h

Consulte también

DXGI Interfaces

IDXGIObject