IDXGIOutputDuplication-Schnittstelle (dxgi1_2.h)

Die IDXGIOutputDuplication-Schnittstelle greift auf das duplizierte Desktopimage zu und bearbeitet es.

Vererbung

Die IDXGIOutputDuplication-Schnittstelle erbt von IDXGIObject. IDXGIOutputDuplication verfügt auch über folgende Membertypen:

Methoden

Die IDXGIOutputDuplication-Schnittstelle verfügt über diese Methoden.

 
IDXGIOutputDuplication::AcquireNextFrame

Gibt an, dass die Anwendung bereit ist, das nächste Desktopimage zu verarbeiten.
IDXGIOutputDuplication::GetDesc

Ruft eine Beschreibung einer duplizierten Ausgabe ab. Diese Beschreibung gibt die Abmessungen der Oberfläche an, die das Desktopbild enthält.
IDXGIOutputDuplication::GetFrameDirtyRects

Ruft Informationen zu modifiziert Rechtecke für den aktuellen Desktopframe ab.
IDXGIOutputDuplication::GetFrameMoveRects

Ruft Informationen zu den verschobenen Rechtecken für den aktuellen Desktopframe ab.
IDXGIOutputDuplication::GetFramePointerShape

Ruft Informationen zur neuen Zeigerform für den aktuellen Desktopframe ab.
IDXGIOutputDuplication::MapDesktopSurface

Stellt der CPU effizienten Zugriff auf ein Desktopimage bereit, wenn sich dieses Desktopimage bereits im Systemspeicher befindet.
IDXGIOutputDuplication::ReleaseFrame

Gibt an, dass die Anwendung die Verarbeitung des Frames abgeschlossen hat.
IDXGIOutputDuplication::UnMapDesktopSurface

Ungültigiert den Zeiger auf das Desktopimage, das mithilfe von IDXGIOutputDuplication::MapDesktopSurface abgerufen wurde.

Hinweise

Eine Zusammenarbeitsanwendung kann IDXGIOutputDuplication verwenden, um auf das Desktopimage zuzugreifen. IDXGIOutputDuplication wird in Desktop Window Manager (DWM) für Nicht-8bpp-DirectX-Vollbildmodi und OpenGL-Vollbildmodi ohne 8bpp unterstützt. 16-Bit- oder 32-Bit-GDI-Nicht-DWM-Desktopmodi werden nicht unterstützt.

Eine Anwendung kann IDXGIOutputDuplication in einem separaten Thread verwenden, um die Desktopbilder zu empfangen und sie in ihre spezifische Bildverarbeitungspipeline einzuspeisen. Die Anwendung verwendet IDXGIOutputDuplication , um die folgenden Vorgänge auszuführen:

  1. Rufen Sie das nächste Desktopimage ab.
  2. Rufen Sie die Informationen ab, die das Bild beschreiben.
  3. Führen Sie einen Vorgang für das Image aus. Dieser Vorgang kann so einfach sein, wie das Kopieren des Bilds in einen Stagingpuffer, damit die Anwendung die Pixeldaten auf dem Bild lesen kann. Die Anwendung liest die Pixeldaten, nachdem die Anwendung IDXGISurface::Map aufgerufen hat. Alternativ kann dieser Vorgang komplexer sein. Beispielsweise kann die Anwendung einige Pixelshader für die aktualisierten Bereiche des Bilds ausführen, um diese Regionen für die Übertragung an einen Client zu codieren.
  4. Nachdem die Anwendung die Verarbeitung der einzelnen Desktopimages abgeschlossen hat, gibt sie das Image frei, führt eine Schleife zu Schritt 1 durch und wiederholt die Schritte. Die Anwendung wiederholt diese Schritte, bis die Verarbeitung von Desktopimages abgeschlossen ist.
Die folgenden Komponenten des Betriebssystems können das Desktopimage generieren:
  • DwM durch Komponieren des Desktopimages
  • Eine DirectX- oder OpenGL-Anwendung im Vollbildmodus
  • Eine Anwendung durch Wechseln zu einem separaten Desktop, z. B. dem sicheren Desktop, der zum Anzeigen des Anmeldebildschirms verwendet wird
Alle aktuellen IDXGIOutputDuplication-Schnittstellen werden ungültig, wenn das Betriebssystem zu einer anderen Komponente wechselt, die das Desktopimage erzeugt, oder wenn eine Modusänderung auftritt. In diesen Situationen muss die Anwendung ihre aktuelle IDXGIOutputDuplication-Schnittstelle zerstören und eine neue IDXGIOutputDuplication-Schnittstelle erstellen.

Beispiele für Situationen, in denen IDXGIOutputDuplication ungültig wird, sind:

  • Desktopswitch
  • Modusänderung
  • Wechseln von DWM ein, DWM aus oder einer anderen Vollbildanwendung
In diesen Situationen muss die Anwendung die IDXGIOutputDuplication-Schnittstelle freigeben und eine neue IDXGIOutputDuplication-Schnittstelle für den neuen Inhalt erstellen. Wenn die Anwendung nicht über die entsprechenden Berechtigungen für das neue Desktopimage verfügt, schlägt der Aufruf der IDXGIOutput1::D uplicateOutput-Methode fehl.

Während die Anwendung jedes Desktopimage verarbeitet, sammelt das Betriebssystem alle Desktopimageupdates in einem einzelnen Update. Weitere Informationen zu Desktopupdates finden Sie unter Aktualisieren der Desktopimagedaten.

Das Desktopbild hat immer das format DXGI_FORMAT_B8G8R8A8_UNORM .

Die IDXGIOutputDuplication-Schnittstelle ist für Windows Store-Apps nicht vorhanden.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile dxgi1_2.h

Weitere Informationen

DXGI-Schnittstellen

IDXGIObject