Condividi tramite


struttura DXGI_OUTDUPL_FRAME_INFO (dxgi1_2.h)

La struttura DXGI_OUTDUPL_FRAME_INFO descrive l'immagine desktop corrente.

Sintassi

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;

Members

LastPresentTime

Timestamp dell'ultimo aggiornamento dell'immagine desktop. Il sistema operativo chiama la funzione QueryPerformanceCounter per ottenere il valore. Un valore zero indica che l'immagine desktop non è stata aggiornata perché un'applicazione ha chiamato l'ultimo metodo IDXGIOutputDuplica::AcquireNextFrame per acquisire il frame successivo dell'immagine desktop.

LastMouseUpdateTime

Timestamp dell'ultimo aggiornamento del mouse. Il sistema operativo chiama la funzione QueryPerformanceCounter per ottenere il valore. Un valore zero indica che la posizione o la forma del mouse non è stata aggiornata perché un'applicazione ha chiamato l'ultimo metodo IDXGIOutputDuplica::AcquireNextFrame per acquisire il frame successivo dell'immagine desktop. La posizione del mouse viene sempre fornita per un aggiornamento del mouse. Una nuova forma puntatore è indicata da un valore diverso da zero nel membro PointerShapeBufferSize .

AccumulatedFrames

Numero di frame accumulati nel sistema operativo nell'area immagine desktop poiché l'applicazione chiamante ha elaborato l'ultima immagine desktop. Per altre informazioni su questo numero, vedere Osservazioni.

RectsCoalesced

Specifica se il sistema operativo accumula gli aggiornamenti tramite l'unione di aree sporche. Pertanto, le aree sporche potrebbero contenere pixel non modificati. TRUE se le aree sporche sono state accumulate; in caso contrario, FALSE.

ProtectedContentMaskedOut

Specifica se l'immagine desktop potrebbe contenere contenuto protetto già nero nell'immagine desktop. TRUE se il contenuto protetto era già nero; in caso contrario, FALSE. L'applicazione può usare queste informazioni per notificare all'utente remoto che alcuni contenuti desktop potrebbero essere protetti e pertanto non visibili.

PointerPosition

Struttura DXGI_OUTDUPL_POINTER_POSITION che descrive la posizione del mouse più recente se il membro LastMouseUpdateTime è un valore diverso da zero; in caso contrario, questo valore viene ignorato. Questo valore fornisce le coordinate della posizione in cui viene disegnato l'angolo superiore sinistro della forma del puntatore; questo valore non è la posizione desktop del punto di accesso frequente.

TotalMetadataBufferSize

Dimensioni in byte dei buffer per archiviare tutti i metadati di aggiornamento desktop per questo frame. Per altre informazioni su questa dimensione, vedere Osservazioni.

PointerShapeBufferSize

Dimensioni in byte del buffer per contenere i nuovi dati pixel per la forma del mouse. Per altre informazioni su questa dimensione, vedere Osservazioni.

Commenti

Un valore LastMouseUpdateTime non zero indica un aggiornamento per una posizione del puntatore del mouse o una posizione e una forma del puntatore del mouse. Vale a dire, la posizione del puntatore del mouse è sempre valida per un lastMouseUpdateTime diverso da zero; Tuttavia, l'applicazione deve controllare il valore del membro PointerShapeBufferSize per determinare se la forma è stata aggiornata.

Se solo il puntatore è stato aggiornato , ovvero l'immagine desktop non è stata aggiornata, iframe Accumulati, TotalMetadataBufferSize e i membri LastPresentTime sono impostati su zero.

Un valore AccumulateFrames di uno indica che l'applicazione ha completato l'elaborazione dell'ultimo frame prima della presentazione di una nuova immagine desktop. Se il valore AccumulateFrames è maggiore di uno, si sono verificati più aggiornamenti dell'immagine desktop mentre l'applicazione ha elaborato l'ultimo aggiornamento desktop. In questa situazione, il sistema operativo ha accumulato le aree di aggiornamento. Per altre informazioni sugli aggiornamenti desktop, vedere Dati di aggiornamento desktop.

Un valore TotalMetadataBufferSize diverso da zero indica la dimensione totale dei buffer necessari per archiviare tutti i metadati dell'aggiornamento desktop. Un'applicazione non può determinare le dimensioni di ogni tipo di metadati. L'applicazione deve chiamare il metodo IDXGIOutputDuplica::GetFrameDirtyRects, IDXGIOutputDuplication::GetFrameMoveRects o IDXGIOutputDuplica::GetFramePointerShape per ottenere informazioni su ogni tipo di metadati.

Nota Per correggere gli effetti visivi, un'applicazione deve elaborare i dati dell'area di spostamento prima di elaborare i rettangoli sporchi.
 

Requisiti

   
Client minimo supportato Windows 8 e Platform Update per Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [solo app desktop]
Intestazione dxgi1_2.h

Vedi anche

Strutture DXGI

IDXGIOutputDuplica::AcquireNextFrame