IDXGIAdapter::GetDesc 方法 (dxgi.h)

获取适配器 (或视频卡) 的 DXGI 1.0 说明。

语法

HRESULT GetDesc(
  [out] DXGI_ADAPTER_DESC *pDesc
);

参数

[out] pDesc

类型: DXGI_ADAPTER_DESC*

指向描述适配器 的 DXGI_ADAPTER_DESC 结构的指针。 此参数不得为 NULL。 在功能级别 9 图形硬件上,GetDescDXGI_ADAPTER_DESCVendorIdDeviceIdSubSysIdRevision 成员返回零,并为 Description 成员中的说明字符串返回“Software Adapter”。

返回值

类型: HRESULT

如果成功,则返回S_OK;否则,如果 pDesc 参数为 NULL,则返回E_INVALIDARG。

注解

图形应用可以使用 DXGI API 在具有 Windows 显示驱动程序模型 (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 的驱动程序模型后,应用可以使用 Direct3D 10 或更高版本的 API 和 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
标头 dxgi.h
Library DXGI.lib

另请参阅

DXGI 接口

IDXGIAdapter