IDXGIAdapter ::GetDesc, méthode (dxgi.h)

Obtient une description DXGI 1.0 d’un adaptateur (ou d’un carte vidéo).

Syntaxe

HRESULT GetDesc(
  [out] DXGI_ADAPTER_DESC *pDesc
);

Paramètres

[out] pDesc

Type : DXGI_ADAPTER_DESC*

Pointeur vers une structure DXGI_ADAPTER_DESC qui décrit l’adaptateur. Ce paramètre ne doit pas avoir la valeur NULL. Sur le matériel graphique de niveau de fonctionnalité 9, GetDesc retourne des zéros pour les membres VendorId, DeviceId, SubSysId et Revision de DXGI_ADAPTER_DESC et « Software Adapter » pour la chaîne de description dans le membre Description .

Valeur retournée

Type : HRESULT

Retourne S_OK en cas de réussite ; Sinon, retourne E_INVALIDARG si le paramètre pDesc a la valeur NULL.

Remarques

Les applications graphiques peuvent utiliser l’API DXGI pour récupérer un ensemble précis de valeurs de mémoire graphique sur les systèmes qui ont des pilotes WDDM (Windows Display Driver Model). Voici les étapes critiques impliquées.

  • Détermination du modèle de pilote graphique : étant donné que DXGI n’est disponible que sur les systèmes dotés de pilotes WDDM, l’application doit d’abord confirmer le modèle de pilote à l’aide de l’API suivante.
    
    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;
    }
          
    
  • Récupération des valeurs de mémoire graphique. Une fois que l’application a déterminé que le modèle de pilote doit être WDDM, l’application peut utiliser l’API Direct3D 10 ou version ultérieure et DXGI pour obtenir la quantité de mémoire graphique. Après avoir créé un appareil Direct3D, utilisez ce code pour obtenir une structure DXGI_ADAPTER_DESC qui contient la quantité de mémoire graphique disponible.
    
    IDXGIDevice * pDXGIDevice;
    hr = g_pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)&pDXGIDevice);
    IDXGIAdapter * pDXGIAdapter;
    pDXGIDevice->GetAdapter(&pDXGIAdapter);
    DXGI_ADAPTER_DESC adapterDesc;
    pDXGIAdapter->GetDesc(&adapterDesc);
          
    

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête dxgi.h
Bibliothèque DXGI.lib

Voir aussi

DXGI Interfaces

IDXGIAdapter