D2D1CreateDevice 函数概述:
HRESULT D2D1CreateDevice(
IDXGIDevice *dxgiDevice,
CONST D2D1_CREATION_PROPERTIES *creationProperties,
ID2D1Device **d2dDevice
);
参数:
- dxgiDevice:一个指向已经创建的 DXGI 设备(IDXGIDevice 接口)的指针。
- creationProperties:一个指向 D2D1_CREATION_PROPERTIES 结构的指针,包含有关创建设备的属性信息。
- d2dDevice:用于存储创建的 ID2D1Device 接口的指针。
返回值:
- 如果成功,函数返回 S_OK。
- 如果失败,函数返回相应的错误代码,可以使用 HRESULT 宏函数进行检查。
示例用法:
// 初始化 COM
CoInitializeEx(NULL, COINIT_MULTITHREADED);
// 创建 DXGI 设备
IDXGIDevice* dxgiDevice = nullptr;
// ... (具体创建 DXGI 设备的代码)
// 创建 Direct2D 设备
ID2D1Device* d2dDevice = nullptr;
D2D1_CREATION_PROPERTIES creationProperties = D2D1::CreationProperties();
HRESULT hr = D2D1CreateDevice(dxgiDevice, &creationProperties, &d2dDevice);
// 检查返回值
if (SUCCEEDED(hr)) {
// Direct2D 设备创建成功,可以使用 d2dDevice 进行图形渲染
// 释放 Direct2D 设备资源
d2dDevice->Release();
}
// 释放 DXGI 设备资源
dxgiDevice->Release();
// 反初始化 COM
CoUninitialize();
在上述示例中,首先初始化了COM,然后创建了一个DXGI设备(IDXGIDevice 接口)。接下来,通过调用 D2D1CreateDevice 函数创建了一个Direct2D设备(ID2D1Device 接口)。如果函数调用成功,你就可以使用 d2dDevice 进行图形渲染操作。最后,需要释放创建的设备资源,并在程序结束时反初始化COM。
转载请注明出处:http://www.zyzy.cn/article/detail/25283/Win32 API/D2d1_1.h/D2D1CreateDevice