Share via


Método IDXGIFactory2::GetSharedResourceAdapterLuid (dxgi1_2.h)

Identifica el adaptador en el que se creó un objeto de recurso compartido.

Sintaxis

HRESULT GetSharedResourceAdapterLuid(
  [in]  HANDLE hResource,
  [out] LUID   *pLuid
);

Parámetros

[in] hResource

Identificador de un objeto de recurso compartido. El método IDXGIResource1::CreateSharedHandle devuelve este identificador.

[out] pLuid

Puntero a una variable que recibe un valor de identificador único local (LUID) que identifica el adaptador. LUID se define en Dxgi.h. Un LUID es un valor de 64 bits que se garantiza que solo es único en el sistema operativo en el que se generó. La unicidad de un LUID solo se garantiza hasta que se reinicie el sistema operativo.

Valor devuelto

GetSharedResourceAdapterLuid devuelve:

  • S_OK si identificó el adaptador.
  • DXGI_ERROR_INVALID_CALL si hResource no es válido.
  • Posiblemente otros códigos de error que se describen en el tema DXGI_ERROR .

Actualización de la plataforma para Windows 7: En Windows 7 o Windows Server 2008 R2 con la actualización de plataforma para Windows 7 instalada, GetSharedResourceAdapterLuid produce un error E_NOTIMPL. Para obtener más información sobre la actualización de plataforma para Windows 7, consulta Actualización de plataforma para Windows 7.

Comentarios

No se pueden compartir recursos entre adaptadores. Por lo tanto, no se puede abrir un recurso compartido en un adaptador distinto del adaptador en el que se creó el recurso. Llame a GetSharedResourceAdapterLuid antes de abrir un recurso compartido para asegurarse de que el recurso se creó en el adaptador adecuado. Para abrir un recurso compartido, llame al método ID3D11Device1::OpenSharedResource1 o ID3D11Device1::OpenSharedResourceByName .

Ejemplos

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 Value
Cliente mínimo compatible Windows 8 y Actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 y actualización de plataforma para Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado dxgi1_2.h
Library Dxgi.lib

Consulte también

IDXGIFactory2