Freigeben über


IDisplayDeviceInterop::OpenSharedHandle-Methode (windows.devices.display.core.interop.h)

Öffnet ein Handle für freigegebene primäre Oberflächen, freigegebene Zäune und Quellpräsentationshandles.

Syntax

HRESULT OpenSharedHandle(
  HANDLE NTHandle,
  IID    riid,
  void   **ppvObj
);

Parameter

NTHandle

Typ: HANDLE

Ein NT-Handle für eine freigegebene primäre Oberfläche, einen freigegebenen Zaun oder ein Quellpräsentationshandle.

riid

Typ: REFIID

Ein Verweis auf den Schnittstellenbezeichner (Interface Identifier, IID) für die Standardschnittstelle einer der folgenden Windows-Runtime Klassen. Eine IID ist eine GUID.

ppvObj

Typ: void**

Ein Zeiger auf einen Speicherblock, der einen Zeiger auf die durch das riid-Argument angegebene Schnittstelle empfängt.

Rückgabewert

Typ: HRESULT

Gibt S_OK bei Erfolg oder einen Fehlercode zurück, der das Problem bei einem Fehler beschreibt.

Hinweise

Sie können diese Methode verwenden, um einen beliebigen freigegebenen Zaun zu öffnen, aber Sie können eine Oberfläche nur öffnen, wenn sie als primäres Element erstellt wurde. Primäre Oberflächen sind Oberflächen, die direkt von der Anzeigehardware zum Scannen verwendet werden sollen. Die meisten typischen Direct3D-Oberflächen werden nicht als Vorwahlen erstellt, es sei denn, sie wurden für die Verwendung in einem Swap-Chain-Back-Puffer erstellt. DisplayDevice.CreatePrimary erstellt immer eine Oberfläche als primäre Oberfläche, da sie immer zum Scannen verwendet werden soll.

Das Öffnen eines Quellpräsentationshandles ähnelt dem Aufrufen von CreateScanoutSource für das Ziel des Präsentationshandles, mit dem Unterschied, dass es nicht erforderlich ist, das DisplayDevice aus demselben DisplayManager zu erstellen, der das Handle erstellt hat. Dies ermöglicht eine differenzierte Zugriffssteuerung des Scanouts.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Zielplattform Windows
Kopfzeile windows.devices.display.core.interop.h
Bibliothek d3d12.lib
DLL d3d12.dll

Weitere Informationen