IDXGISurface1::GetDC 方法 (dxgi.h)

(DC) 返回设备上下文,该上下文允许你使用 Windows 图形设备接口 (GDI) 呈现到 Microsoft DirectX 图形基础结构 (DXGI) 图面。

语法

HRESULT GetDC(
        BOOL Discard,
  [out] HDC  *phdc
);

参数

Discard

类型: BOOL

一个布尔值,指定是否在 GDI DC 中保留 Direct3D 内容。 TRUE 指示运行时不保留 GDI DC 中的 Direct3D 内容;也就是说,运行时放弃 Direct3D 内容。 FALSE 保证 Direct3D 内容在 GDI DC 中可用。

[out] phdc

类型: HDC*

指向 HDC 句柄的指针,该句柄表示 GDI 呈现的当前设备上下文。

返回值

类型: HRESULT

如果成功,则返回S_OK;否则为错误代码。

注解

Windows Vista 和 Windows Server 2008 中提供的 DXGI 1.0 不支持此方法。 DXGI 1.1 支持是必需的,在 Windows 7、Windows Server 2008 R2 上可用,并且作为 Windows Vista 的更新,Service Pack 2 (SP2 ) (KB 971644) 和 Windows Server 2008 (KB 971512)

使用 GetDC 方法检索 DC 后,可以使用 GDI 呈现到 DXGI 图面。
GetDC 方法读取 GDI 呈现图面,并允许在 DXGI 和 GDI 技术之间进行互操作。

使用此方法时,请记住以下事项:

还可以通过从交换链获取 IDXGISurface1,在交换链的索引 0 处的后台缓冲区上调用 GetDC。 以下代码演示了该过程。

IDXGISwapChain* g_pSwapChain = NULL;
IDXGISurface1* g_pSurface1 = NULL;
...
//Setup the device and the swapchain
g_pSwapChain->GetBuffer(0, __uuidof(IDXGISurface1), (void**) &g_pSurface1);
g_pSurface1->GetDC( FALSE, &g_hDC );
...      
//Draw on the DC using GDI
...
//When finish drawing release the DC
g_pSurface1->ReleaseDC( NULL );
      

要求

要求
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 dxgi.h
Library DXGI.lib

另请参阅

DXGI 接口

IDXGISurface1