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 |