(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) 。 在应用程序中使用 IDXGIFactoryIDXGIFactory1,但不能同时使用两者。
 
注意 如果应用的 DllMain 函数调用 CreateDXGIFactory,则 CreateDXGIFactory 将失败。 有关 DXGI 如何从 DllMain 响应的详细信息,请参阅 来自 DLLMain 的 DXGI 响应
 
注意 从 Windows 8 开始,所有 DXGI 工厂都 (,无论它们是使用 CreateDXGIFactory 还是 CreateDXGIFactory1 创建的,) 以相同的方式枚举适配器。 使用 IDXGIFactory::EnumAdapters 或 IDXGIFactory1::EnumAdapters1 检索的适配器的枚举顺序如下所示:
  • 包含显示桌面主服务器的输出的适配器。 此适配器对应于零的索引。
  • 具有输出的适配器。
  • 不带输出的适配器。
 
Windows 应用商店应用不存在 CreateDXGIFactory 函数。 相反,Windows 应用商店应用使用 CreateDXGIFactory1 函数。

示例

创建 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

请参阅

DXGI 函数