Método IDXGIFactory2::GetSharedResourceAdapterLuid (dxgi1_2.h)
Identifica o adaptador no qual um objeto de recurso compartilhado foi criado.
Sintaxe
HRESULT GetSharedResourceAdapterLuid(
[in] HANDLE hResource,
[out] LUID *pLuid
);
Parâmetros
[in] hResource
Um identificador para um objeto de recurso compartilhado. O método IDXGIResource1::CreateSharedHandle retorna esse identificador.
[out] pLuid
Um ponteiro para uma variável que recebe um valor LUID (identificador local exclusivo) que identifica o adaptador. LUID é definido em Dxgi.h. Um LUID é um valor de 64 bits que tem a garantia de ser exclusivo somente no sistema operacional no qual foi gerado. A exclusividade de um LUID é garantida somente até que o sistema operacional seja reiniciado.
Retornar valor
GetSharedResourceAdapterLuid retorna:
- S_OK se ele identificou o adaptador.
- DXGI_ERROR_INVALID_CALL se hResource for inválido.
- Possivelmente outros códigos de erro descritos no tópico DXGI_ERROR .
Atualização de plataforma para Windows 7: No Windows 7 ou Windows Server 2008 R2 com a Atualização de Plataforma para Windows 7 instalada, GetSharedResourceAdapterLuid falha com E_NOTIMPL. Para obter mais informações sobre a Atualização de Plataforma para Windows 7, consulte Platform Update para Windows 7.
Comentários
Não é possível compartilhar recursos entre adaptadores. Portanto, você não pode abrir um recurso compartilhado em um adaptador diferente do adaptador no qual o recurso foi criado. Chame GetSharedResourceAdapterLuid antes de abrir um recurso compartilhado para garantir que o recurso foi criado no adaptador apropriado. Para abrir um recurso compartilhado, chame o método ID3D11Device1::OpenSharedResource1 ou ID3D11Device1::OpenSharedResourceByName .
Exemplos
HANDLE handle;
IDXGIFactory2* pFactory;
LUID luid;
pFactory->GetSharedResourceAdapterLuid (handle, &luid);
UINT index = 0;
IDXGIAdapter* pAdapter = NULL;
while (SUCCEEDED(pFactory->EnumAdapters(index, &pAdapter)))
{
DXGI_ADAPTER_DESC desc;
pAdapter->GetDesc(&desc);
if (desc.AdapterLuid == luid)
{
// Identified a matching adapter.
break;
}
pAdapter->Release();
pAdapter = NULL;
index++;
}
// At this point, if pAdapter is non-null, you identified an adapter that
// can open the shared resource.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 e Atualização de Plataforma para Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | dxgi1_2.h |
Biblioteca | Dxgi.lib |