createDXGIFactory1 函数 (dxgi.h)

创建可用于生成其他 DXGI 对象的 DXGI 1.1 工厂。

语法

HRESULT CreateDXGIFactory1(
        REFIID riid,
  [out] void   **ppFactory
);

参数

riid

类型: REFIID

全局唯一标识符 (由 ppFactory 参数引用的 IDXGIFactory1 对象的 GUID) 。

[out] ppFactory

类型: void**

指向 IDXGIFactory1 对象的指针的地址。

返回值

类型: HRESULT

如果成功,则返回S_OK;否则为错误代码。 有关错误代码的列表,请参阅 DXGI_ERROR

注解

使用 DXGI 1.1 工厂生成对象,这些对象 枚举适配器创建交换链,并将窗口与 alt+enter 键序列 关联 ,以便切换全屏显示模式和从全屏显示模式切换。

如果 CreateDXGIFactory1 函数成功, IDXGIFactory1 接口上的引用计数将递增。 为了避免内存泄漏,使用完 接口后,请调用 IDXGIFactory1::Release 方法来释放接口。

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)

注意 不要在应用程序中混合使用 DXGI 1.0 (IDXGIFactory) 和 DXGI 1.1 (IDXGIFactory1) 。 在应用程序中使用 IDXGIFactoryIDXGIFactory1,但不能同时使用 IDXGIFactory
 
注意 如果应用的 DllMain 函数调用 CreateDXGIFactory1,则 CreateDXGIFactory1 将失败。 有关 DXGI 如何从 DllMain 响应的详细信息,请参阅 DLLMain 的 DXGI 响应
 
注意从Windows 8开始,所有 DXGI 工厂 (,无论它们是使用 CreateDXGIFactory 还是 CreateDXGIFactory1 创建) 枚举适配器。 使用 IDXGIFactory::EnumAdaptersIDXGIFactory1::EnumAdapters1 检索的适配器的枚举顺序如下:
  • 包含显示桌面主机的输出的适配器。 此适配器对应于零的索引。
  • 具有输出的适配器。
  • 不带输出的适配器。
 

示例

创建 DXGI 1.1 工厂

下面的代码示例演示如何创建 DXGI 1.1 工厂。 此示例使用 __uuidof () 内部函数获取 IDXGIFactory1 接口的 REFIID 或 GUID。


IDXGIFactory1 * pFactory;
HRESULT hr = CreateDXGIFactory1(__uuidof(IDXGIFactory1), (void**)(&pFactory) );
          

要求

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

另请参阅

DXGI 函数