Compartilhar via


Método IDXGIResource::GetSharedHandle (dxgi.h)

[A partir do Direct3D 11.1, recomendamos não usar mais GetSharedHandle para recuperar o identificador para um recurso compartilhado. Em vez disso, use IDXGIResource1::CreateSharedHandle para obter um identificador para compartilhamento. Para usar IDXGIResource1::CreateSharedHandle, você deve criar o recurso como compartilhado e especificar que ele usa identificadores NT (ou seja, você define o sinalizador D3D11_RESOURCE_MISC_SHARED_NTHANDLE ). Também recomendamos que você crie recursos compartilhados que usem identificadores NT para que você possa usar CloseHandle, DuplicateHandle e assim por diante nesses recursos compartilhados.]

Obtém o identificador para um recurso compartilhado.

Sintaxe

HRESULT GetSharedHandle(
  [out] HANDLE *pSharedHandle
);

Parâmetros

[out] pSharedHandle

Tipo: HANDLE*

Um ponteiro para um identificador.

Valor retornado

Tipo: HRESULT

Retorna um dos valores de DXGI_ERROR .

Comentários

GetSharedHandle retorna um identificador para o recurso que você criou como compartilhado (ou seja, você define o D3D11_RESOURCE_MISC_SHARED com ou sem o sinalizador D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX ). Você pode passar esse identificador para o método ID3D11Device::OpenSharedResource para dar a outro dispositivo acesso ao recurso compartilhado. Você também pode realizar marshaling desse identificador para outro processo para compartilhar um recurso com um dispositivo em outro processo. No entanto, esse identificador não é um identificador NT. Portanto, não use o identificador com CloseHandle, DuplicateHandle e assim por diante.

O criador de um recurso compartilhado não deve destruir o recurso até que todas as entidades pretendidas tenham aberto o recurso. A validade do identificador está vinculada ao tempo de vida da memória de vídeo subjacente. Se nenhum objeto de recurso existir em nenhum dispositivo que se refira a esse recurso, o identificador não será mais válido. Para estender o tempo de vida do identificador e da memória de vídeo, você deve abrir o recurso compartilhado em um dispositivo.

GetSharedHandle também pode retornar identificadores para recursos que foram passados para ID3D11Device::OpenSharedResource para abrir esses recursos.

GetSharedHandle falhará se o recurso ao qual ele deseja obter um identificador não for compartilhado.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho dxgi.h
Biblioteca DXGI.lib

Confira também

IDXGIResource