(dxgi.h) 的 CreateDXGIFactory 函数
创建可用于生成其他 DXGI 对象的 DXGI 1.0 工厂。
语法
HRESULT CreateDXGIFactory(
REFIID riid,
[out] void **ppFactory
);
参数
riid
类型: REFIID
全局唯一标识符 (ppFactory 参数引用的 IDXGIFactory 对象的 GUID) 。
[out] ppFactory
类型: void**
指向 IDXGIFactory 对象的指针的地址。
返回值
类型: HRESULT
如果成功 , 则返回S_OK;否则, 返回以下 DXGI_ERROR之一。
备注
使用 DXGI 工厂生成对象,这些对象 枚举适配器、 创建交换链,并将窗口与 alt+enter 键序列 关联 ,以便切换到全屏显示模式和从全屏显示模式切换。
如果 CreateDXGIFactory 函数成功, IDXGIFactory 接口上的引用计数将递增。 若要避免内存泄漏,请在使用完 接口后调用 IDXGIFactory::Release 方法来释放接口。
注意 不要在应用程序中混合使用 DXGI 1.0 (IDXGIFactory) 和 DXGI 1.1 (IDXGIFactory1) 。 在应用程序中使用 IDXGIFactory 或 IDXGIFactory1,但不能同时使用两者。
注意 如果应用的 DllMain 函数调用 CreateDXGIFactory,则 CreateDXGIFactory 将失败。 有关 DXGI 如何从 DllMain 响应的详细信息,请参阅 来自 DLLMain 的 DXGI 响应。
注意 从 Windows 8 开始,所有 DXGI 工厂都 (,无论它们是使用 CreateDXGIFactory 还是 CreateDXGIFactory1 创建的,) 以相同的方式枚举适配器。 使用 IDXGIFactory::EnumAdapters 或 IDXGIFactory1::EnumAdapters1 检索的适配器的枚举顺序如下所示:
- 包含显示桌面主服务器的输出的适配器。 此适配器对应于零的索引。
- 具有输出的适配器。
- 不带输出的适配器。
示例
创建 DXGI 1.0 工厂
下面的代码示例演示如何创建 DXGI 1.0 工厂。 此示例使用 __uuidof () 内部函数获取 IDXGIFactory 接口的 REFIID 或 GUID。
IDXGIFactory * pFactory;
HRESULT hr = CreateDXGIFactory(__uuidof(IDXGIFactory), (void**)(&pFactory) );
要求
目标平台 | Windows |
标头 | dxgi.h |
Library | DXGI.lib |
DLL | DXGI.dll |