Condividi tramite


Metodo IDXGIResource::GetSharedHandle (dxgi.h)

[A partire da Direct3D 11.1, è consigliabile non usare più GetSharedHandle per recuperare l'handle in una risorsa condivisa. Usare invece IDXGIResource1::CreateSharedHandle per ottenere un handle per la condivisione. Per usare IDXGIResource1::CreateSharedHandle, è necessario creare la risorsa come condivisa e specificare che usa handle NT, ovvero si imposta il flag di D3D11_RESOURCE_MISC_SHARED_NTHANDLE . È anche consigliabile creare risorse condivise che usano handle NT in modo da poter usare CloseHandle, DuplicateHandle e così via su tali risorse condivise.

Ottiene l'handle in una risorsa condivisa.

Sintassi

HRESULT GetSharedHandle(
  [out] HANDLE *pSharedHandle
);

Parametri

[out] pSharedHandle

Tipo: HANDLE*

Puntatore a un handle.

Valore restituito

Tipo: HRESULT

Restituisce uno dei valori DXGI_ERROR .

Commenti

GetSharedHandle restituisce un handle per la risorsa creata come condivisa, ovvero l'D3D11_RESOURCE_MISC_SHARED viene impostato con o senza il flag di D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX . È possibile passare questo handle al metodo ID3D11Device::OpenSharedResource per concedere a un altro dispositivo l'accesso alla risorsa condivisa. È anche possibile eseguire il marshalling di questo handle a un altro processo per condividere una risorsa con un dispositivo in un altro processo. Tuttavia, questo handle non è un handle NT. Pertanto, non usare l'handle con CloseHandle, DuplicateHandle e così via.

L'autore di una risorsa condivisa non deve eliminare la risorsa finché tutte le entità previste non hanno aperto la risorsa. La validità dell'handle è associata alla durata della memoria video sottostante. Se non esistono oggetti di risorsa in tutti i dispositivi che fanno riferimento a questa risorsa, l'handle non è più valido. Per estendere la durata dell'handle e della memoria video, è necessario aprire la risorsa condivisa in un dispositivo.

GetSharedHandle può restituire anche handle per le risorse passate in ID3D11Device::OpenSharedResource per aprire tali risorse.

GetSharedHandle ha esito negativo se la risorsa a cui vuole ottenere un handle non è condivisa.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione dxgi.h
Libreria DXGI.lib

Vedi anche

IDXGIResource