Condividi tramite


Interfaccia IDXGIOutputDuplication (dxgi1_2.h)

L'interfaccia IDXGIOutputDuplication accede e modifica l'immagine desktop duplicata.

Ereditarietà

L'interfaccia IDXGIOutputDuplication eredita da IDXGIObject. IDXGIOutputDuplication include anche questi tipi di membri:

Metodi

L'interfaccia IDXGIOutputDuplication include questi metodi.

 
IDXGIOutputDuplication::AcquireNextFrame

Indica che l'applicazione è pronta per elaborare l'immagine desktop successiva.
IDXGIOutputDuplication::GetDesc

Recupera una descrizione di un output duplicato. Questa descrizione specifica le dimensioni della superficie che contiene l'immagine desktop.
IDXGIOutputDuplication::GetFrameDirtyRects

Ottiene informazioni sui rettangoli dirty per il frame desktop corrente.
IDXGIOutputDuplication::GetFrameMoveRects

Ottiene informazioni sui rettangoli spostati per il frame desktop corrente.
IDXGIOutputDuplication::GetFramePointerShape

Ottiene informazioni sulla nuova forma del puntatore per la cornice desktop corrente.
IDXGIOutputDuplication::MapDesktopSurface

Fornisce alla CPU un accesso efficiente a un'immagine desktop se tale immagine desktop è già in memoria di sistema.
IDXGIOutputDuplication::ReleaseFrame

Indica che l'applicazione ha completato l'elaborazione del frame.
IDXGIOutputDuplication::UnMapDesktopSurface

Invalida il puntatore all'immagine desktop recuperata usando IDXGIOutputDuplication::MapDesktopSurface.

Commenti

Un'applicazione di collaborazione può usare IDXGIOutputDuplication per accedere all'immagine desktop. IDXGIOutputDuplication è supportato in Gestione finestre desktop (DWM) in modalità a schermo intero DirectX non 8bpp e modalità a schermo intero non 8bpp OpenGL. Le modalità desktop GDI non DWM a 16 bit o a 32 bit non sono supportate.

Un'applicazione può usare IDXGIOutputDuplication in un thread separato per ricevere le immagini desktop e inserirle nella pipeline di elaborazione delle immagini specifica. L'applicazione usa IDXGIOutputDuplication per eseguire le operazioni seguenti:

  1. Acquisire l'immagine desktop successiva.
  2. Recuperare le informazioni che descrivono l'immagine.
  3. Eseguire un'operazione sull'immagine. Questa operazione può essere semplice come copiare l'immagine in un buffer di staging in modo che l'applicazione possa leggere i dati pixel nell'immagine. L'applicazione legge i dati pixel dopo che l'applicazione chiama IDXGISurface::Map. In alternativa, questa operazione può essere più complessa. Ad esempio, l'applicazione può eseguire alcuni pixel shader nelle aree aggiornate dell'immagine per codificare tali aree per la trasmissione a un client.
  4. Al termine dell'elaborazione di ogni immagine desktop, l'applicazione rilascia l'immagine, esegue un ciclo al passaggio 1 e ripete i passaggi. L'applicazione ripete questi passaggi fino al termine dell'elaborazione delle immagini desktop.
I componenti seguenti del sistema operativo possono generare l'immagine desktop:
  • DWM componendo l'immagine desktop
  • Un'applicazione DirectX o OpenGL a schermo intero
  • Un'applicazione passando a un desktop separato, ad esempio il desktop protetto usato per visualizzare la schermata di accesso
Tutte le interfacce IDXGIOutputDuplication correnti diventano non valide quando il sistema operativo passa a un componente diverso che produce l'immagine desktop o quando si verifica una modifica della modalità. In queste situazioni, l'applicazione deve eliminare definitivamente l'interfaccia IDXGIOutputDuplication corrente e creare una nuova interfaccia IDXGIOutputDuplication .

Esempi di situazioni in cui IDXGIOutputDuplication diventa non valido sono:

  • Commutatore desktop
  • Modifica della modalità
  • Passare da DWM su, DWM disattivato o da un'altra applicazione a schermo intero
In queste situazioni, l'applicazione deve rilasciare l'interfaccia IDXGIOutputDuplication e deve creare una nuova interfaccia IDXGIOutputDuplication per il nuovo contenuto. Se l'applicazione non dispone del privilegio appropriato per la nuova immagine desktop, la chiamata al metodo IDXGIOutput1::D uplicateOutput ha esito negativo.

Mentre l'applicazione elabora ogni immagine desktop, il sistema operativo accumula tutti gli aggiornamenti delle immagini desktop in un singolo aggiornamento. Per altre informazioni sugli aggiornamenti desktop, vedere Aggiornamento dei dati dell'immagine desktop.

L'immagine desktop è sempre nel formato DXGI_FORMAT_B8G8R8A8_UNORM .

L'interfaccia IDXGIOutputDuplication non esiste per le app di Windows Store.

Requisiti

   
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione dxgi1_2.h

Vedi anche

Interfacce DXGI

IDXGIObject