Método IDXGIAdapter::GetDesc (dxgi.h)

Obtém uma descrição DXGI 1.0 de um adaptador (ou cartão de vídeo).

Sintaxe

HRESULT GetDesc(
  [out] DXGI_ADAPTER_DESC *pDesc
);

Parâmetros

[out] pDesc

Tipo: DXGI_ADAPTER_DESC*

Um ponteiro para uma estrutura DXGI_ADAPTER_DESC que descreve o adaptador. Esse parâmetro não deve ser NULL. No hardware gráfico de nível 9 do recurso , GetDesc retorna zeros para membros VendorId, DeviceId, SubSysId e Revision de DXGI_ADAPTER_DESC e "Adaptador de Software" para a cadeia de caracteres de descrição no membro Description .

Retornar valor

Tipo: HRESULT

Retorna S_OK se tiver êxito; caso contrário, retornará E_INVALIDARG se o parâmetro pDesc for NULL.

Comentários

Os aplicativos gráficos podem usar a API DXGI para recuperar um conjunto preciso de valores de memória gráfica em sistemas que têm drivers WDDM (Windows Display Driver Model). Veja a seguir as etapas críticas envolvidas.

  • Determinação do modelo de driver gráfico — como o DXGI só está disponível em sistemas com drivers WDDM, o aplicativo deve primeiro confirmar o modelo de driver usando a API a seguir.
    
    HasWDDMDriver()
    {
        LPDIRECT3DCREATE9EX pD3D9Create9Ex = NULL;
        HMODULE             hD3D9          = NULL;
    
        hD3D9 = LoadLibrary( L"d3d9.dll" );
    
        if ( NULL == hD3D9 ) {
            return false;
        }
    
        //
        /*  Try to create IDirect3D9Ex interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver.
    	 */
        //
        pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" );
    
        return pD3D9Create9Ex != NULL;
    }
          
    
  • Recuperação de valores de memória de gráficos.— Depois que o aplicativo determina que o modelo de driver é WDDM, o aplicativo pode usar a API do Direct3D 10 ou posterior e o DXGI para obter a quantidade de memória gráfica. Depois de criar um dispositivo Direct3D, use esse código para obter uma estrutura DXGI_ADAPTER_DESC que contém a quantidade de memória gráfica disponível.
    
    IDXGIDevice * pDXGIDevice;
    hr = g_pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)&pDXGIDevice);
    IDXGIAdapter * pDXGIAdapter;
    pDXGIDevice->GetAdapter(&pDXGIAdapter);
    DXGI_ADAPTER_DESC adapterDesc;
    pDXGIAdapter->GetDesc(&adapterDesc);
          
    

Requisitos

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

Confira também

DXGI Interfaces

IDXGIAdapter