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 为 DXGI_ADAPTER_DESC 的 VendorId、DeviceId、SubSysId 和 Revision 成员返回零,并为 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 |