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 |