Compartir a través de


estructura DXGI_OUTDUPL_FRAME_INFO (dxgi1_2.h)

La estructura DXGI_OUTDUPL_FRAME_INFO describe la imagen de escritorio actual.

Sintaxis

typedef struct DXGI_OUTDUPL_FRAME_INFO {
  LARGE_INTEGER                 LastPresentTime;
  LARGE_INTEGER                 LastMouseUpdateTime;
  UINT                          AccumulatedFrames;
  BOOL                          RectsCoalesced;
  BOOL                          ProtectedContentMaskedOut;
  DXGI_OUTDUPL_POINTER_POSITION PointerPosition;
  UINT                          TotalMetadataBufferSize;
  UINT                          PointerShapeBufferSize;
} DXGI_OUTDUPL_FRAME_INFO;

Miembros

LastPresentTime

Marca de tiempo de la última actualización de la imagen de escritorio. El sistema operativo llama a la función QueryPerformanceCounter para obtener el valor. Un valor cero indica que la imagen de escritorio no se actualizó desde que una aplicación llamó por última vez al método IDXGIOutputDuplication::AcquireNextFrame para adquirir el siguiente marco de la imagen de escritorio.

LastMouseUpdateTime

Marca de tiempo de la última actualización del mouse. El sistema operativo llama a la función QueryPerformanceCounter para obtener el valor. Un valor cero indica que la posición o forma del mouse no se actualizó desde que una aplicación llamó por última vez al método IDXGIOutputDuplication::AcquireNextFrame para adquirir el siguiente marco de la imagen de escritorio. La posición del mouse siempre se proporciona para una actualización del mouse. Una nueva forma de puntero se indica mediante un valor distinto de cero en el miembro PointerShapeBufferSize .

AccumulatedFrames

Número de fotogramas que el sistema operativo acumula en la superficie de imagen de escritorio desde que la aplicación que llama procesó la última imagen de escritorio. Para obtener más información sobre este número, vea Comentarios.

RectsCoalesced

Especifica si el sistema operativo ha acumulado actualizaciones mediante la fusión de regiones desfasadas. Por lo tanto, las regiones desfasadas pueden contener píxeles sin modificar. TRUE si se acumularon regiones desfasadas; de lo contrario, FALSE.

ProtectedContentMaskedOut

Especifica si la imagen de escritorio podría contener contenido protegido que ya estaba en blanco en la imagen de escritorio. TRUE si el contenido protegido ya estaba en negro; de lo contrario, FALSE. La aplicación puede usar esta información para notificar al usuario remoto que parte del contenido de escritorio podría estar protegido y, por lo tanto, no visible.

PointerPosition

Estructura DXGI_OUTDUPL_POINTER_POSITION que describe la posición del mouse más reciente si el miembro LastMouseUpdateTime es un valor distinto de cero; de lo contrario, se omite este valor. Este valor proporciona las coordenadas de la ubicación donde se dibuja la esquina superior izquierda de la forma del puntero; este valor no es la posición de escritorio de la zona activa.

TotalMetadataBufferSize

Tamaño en bytes de los búferes para almacenar todos los metadatos de actualización de escritorio para este marco. Para obtener más información sobre este tamaño, vea Comentarios.

PointerShapeBufferSize

Tamaño en bytes del búfer para contener los nuevos datos de píxeles de la forma del mouse. Para obtener más información sobre este tamaño, vea Comentarios.

Comentarios

Un lastMouseUpdateTime distinto de cero indica una actualización de una posición de puntero del mouse o una posición y forma de puntero del mouse. Es decir, la posición del puntero del mouse siempre es válida para un lastMouseUpdateTime distinto de cero; sin embargo, la aplicación debe comprobar el valor del miembro PointerShapeBufferSize para determinar si la forma también se actualizó.

Si solo se actualizó el puntero (es decir, la imagen de escritorio no se actualizó), los miembros AccumulatedFrames, TotalMetadataBufferSize y LastPresentTime se establecen en cero.

Un valor de AccumulatedFrames de uno indica que la aplicación completó el procesamiento del último fotograma antes de que se presentara una nueva imagen de escritorio. Si el valor de AccumulatedFrames es mayor que uno, se han producido más actualizaciones de imágenes de escritorio mientras la aplicación procesó la última actualización de escritorio. En esta situación, el sistema operativo acumulaba las regiones de actualización. Para obtener más información sobre las actualizaciones de escritorio, consulte Datos de actualización de escritorio.

Un TotalMetadataBufferSize distinto de cero indica el tamaño total de los búferes necesarios para almacenar todos los metadatos de actualización de escritorio. Una aplicación no puede determinar el tamaño de cada tipo de metadatos. La aplicación debe llamar al método IDXGIOutputDuplication::GetFrameDirtyRects, IDXGIOutputDuplication::GetFrameMoveRects o IDXGIOutputDuplication::GetFramePointerShape para obtener información sobre cada tipo de metadatos.

Nota Para corregir los efectos visuales, una aplicación debe procesar los datos de la región de movimiento antes de procesar los rectángulos sucios.
 

Requisitos

   
Cliente mínimo compatible Windows 8 y Actualización de plataforma para Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 y actualización de plataforma para Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado dxgi1_2.h

Consulte también

Estructuras DXGI

IDXGIOutputDuplication::AcquireNextFrame