Partager via


Méthode IDisplayDeviceInterop ::OpenSharedHandle (windows.devices.display.core.interop.h)

Ouvre un handle pour les surfaces principales partagées, les clôtures partagées et les handles de présentation source.

Syntaxe

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

Paramètres

NTHandle

Type : HANDLE

Handle NT pour une surface primaire partagée, une clôture partagée ou un handle de présentation source.

riid

Type : REFIID

Référence à l’identificateur d’interface (IID) pour l’interface par défaut de l’une des classes Windows Runtime suivantes. Un IID est un GUID.

ppvObj

Type : void**

Pointeur vers un bloc de mémoire qui reçoit un pointeur vers l’interface spécifiée par l’argument riid .

Valeur retournée

Type : HRESULT

Retourne S_OK en cas de réussite ou un code d’échec décrivant le problème en cas d’échec.

Remarques

Vous pouvez utiliser cette méthode pour ouvrir n’importe quelle clôture partagée, mais vous pouvez ouvrir une surface uniquement si elle a été créée en tant que principale. Les surfaces principales sont des surfaces destinées à être utilisées directement par le matériel d’affichage à analyser. La plupart des surfaces Direct3D classiques ne sont pas créées en tant que primaires, sauf si elles ont été créées pour une utilisation dans une mémoire tampon d’arrière-chaîne d’échange. DisplayDevice.CreatePrimary crée toujours une surface comme surface principale, car elle est toujours destinée à être utilisée pour analyser.

L’ouverture d’un handle de présentation source est similaire à l’appel de CreateScanoutSource pour la cible du handle de présentation, sauf qu’il n’est pas nécessaire d’avoir créé l’objet DisplayDevice à partir du même DisplayManager que celui qui a créé le handle. Cela permet un contrôle d’accès précis de l’analyse.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 Build 20348
Serveur minimal pris en charge Windows 10 Build 20348
Plateforme cible Windows
En-tête windows.devices.display.core.interop.h
Bibliothèque d3d12.lib
DLL d3d12.dll

Voir aussi