Метод IDXGIAdapter::GetDesc (dxgi.h)

Возвращает описание адаптера DXGI 1.0 (или видео карта).

Синтаксис

HRESULT GetDesc(
  [out] DXGI_ADAPTER_DESC *pDesc
);

Параметры

[out] pDesc

Тип: DXGI_ADAPTER_DESC*

Указатель на структуру DXGI_ADAPTER_DESC , описывающую адаптер. Этот параметр не должен иметь значение NULL. На графическом оборудовании уровня компонентов 9 GetDesc возвращает нули для элементов VendorId, DeviceId, SubSysId и RevisionDXGI_ADAPTER_DESC и "Software Adapter" для строки описания в элементе Description .

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения; в противном случае возвращает E_INVALIDARG, если параметр pDesc имеет значение NULL.

Комментарии

Графические приложения могут использовать API DXGI для получения точного набора значений графической памяти в системах с драйверами windows Display Driver Model (WDDM). Ниже приведены важные шаги.

  • Определение модели графического драйвера. Так как DXGI доступен только в системах с драйверами WDDM, приложение должно сначала подтвердить модель драйвера с помощью следующего API.
    
    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;
    }
          
    
  • Получение значений графической памяти. После того как приложение определит модель драйвера WDDM, приложение может использовать API Direct3D 10 или более поздней версии и DXGI для получения объема графической памяти. После создания устройства Direct3D используйте этот код для получения структуры DXGI_ADAPTER_DESC , содержащей объем доступной графической памяти.
    
    IDXGIDevice * pDXGIDevice;
    hr = g_pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)&pDXGIDevice);
    IDXGIAdapter * pDXGIAdapter;
    pDXGIDevice->GetAdapter(&pDXGIAdapter);
    DXGI_ADAPTER_DESC adapterDesc;
    pDXGIAdapter->GetDesc(&adapterDesc);
          
    

Требования

Требование Значение
Целевая платформа Windows
Header dxgi.h
Библиотека DXGI.lib

См. также раздел

Интерфейсы DXGI

IDXGIAdapter