IDXGIResource::GetSharedHandle, méthode (dxgi.h)

[À compter de Direct3D 11.1, nous vous recommandons de ne plus utiliser GetSharedHandle pour récupérer le handle dans une ressource partagée. Utilisez plutôt IDXGIResource1::CreateSharedHandle pour obtenir un handle pour le partage. Pour utiliser IDXGIResource1::CreateSharedHandle, vous devez créer la ressource comme partagée et spécifier qu’elle utilise des handles NT (autrement dit, vous définissez l’indicateur D3D11_RESOURCE_MISC_SHARED_NTHANDLE ). Nous vous recommandons également de créer des ressources partagées qui utilisent des handles NT afin de pouvoir utiliser CloseHandle, DuplicateHandle, etc. sur ces ressources partagées.]

Obtient le handle d’une ressource partagée.

Syntaxe

HRESULT GetSharedHandle(
  [out] HANDLE *pSharedHandle
);

Paramètres

[out] pSharedHandle

Type : HANDLE*

Pointeur vers un handle.

Valeur retournée

Type : HRESULT

Retourne l’une des valeurs DXGI_ERROR .

Notes

GetSharedHandle retourne un handle pour la ressource que vous avez créée comme partagée (c’est-à-dire que vous définissez l’D3D11_RESOURCE_MISC_SHARED avec ou sans l’indicateur D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX ). Vous pouvez passer ce handle à la méthode ID3D11Device::OpenSharedResource pour accorder à un autre appareil l’accès à la ressource partagée. Vous pouvez également marshaler ce handle vers un autre processus pour partager une ressource avec un appareil dans un autre processus. Toutefois, ce handle n’est pas un handle NT. Par conséquent, n’utilisez pas le handle avec CloseHandle, DuplicateHandle, etc.

Le créateur d’une ressource partagée ne doit pas détruire la ressource tant que toutes les entités prévues n’ont pas ouvert la ressource. La validité du handle est liée à la durée de vie de la mémoire vidéo sous-jacente. S’il n’existe aucun objet de ressource sur les appareils qui font référence à cette ressource, le handle n’est plus valide. Pour prolonger la durée de vie du handle et de la mémoire vidéo, vous devez ouvrir la ressource partagée sur un appareil.

GetSharedHandle peut également retourner des descripteurs pour les ressources qui ont été passées à ID3D11Device::OpenSharedResource pour ouvrir ces ressources.

GetSharedHandle échoue si la ressource à laquelle il souhaite obtenir un handle n’est pas partagée.

Spécifications

   
Plateforme cible Windows
En-tête dxgi.h
Bibliothèque DXGI.lib

Voir aussi

IDXGIResource