Export (0) Print
Expand All

CreateDXGIFactory1 function

Creates a DXGI 1.1 factory that you can use to generate other DXGI objects.

Syntax


HRESULT CreateDXGIFactory1(
  _In_   REFIID riid,
  _Out_  void **ppFactory
);

Parameters

riid [in]

Type: REFIID

The globally unique identifier (GUID) of the IDXGIFactory1 object referenced by the ppFactory parameter.

ppFactory [out]

Type: void**

Address of a pointer to an IDXGIFactory1 object.

Return value

Type: HRESULT

Returns S_OK if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.

Remarks

Use a DXGI 1.1 factory to generate objects that enumerate adapters, create swap chains, and associate a window with the alt+enter key sequence for toggling to and from the full-screen display mode.

If the CreateDXGIFactory1 function succeeds, the reference count on the IDXGIFactory1 interface is incremented. To avoid a memory leak, when you finish using the interface, call the IDXGIFactory1::Release method to release the interface.

This entry point is not supported by DXGI 1.0, which shipped in Windows Vista and Windows Server 2008. DXGI 1.1 support is required, which is available on Windows 7, Windows Server 2008 R2, and as an update to Windows Vista with Service Pack 2 (SP2) (KB 971644) and Windows Server 2008 (KB 971512).

Note  Do not mix the use of DXGI 1.0 (IDXGIFactory) and DXGI 1.1 (IDXGIFactory1) in an application. Use IDXGIFactory or IDXGIFactory1, but not both in an application.

Note  CreateDXGIFactory1 fails if your app's DllMain function calls it. For more info about how DXGI responds from DllMain, see DXGI Responses from DLLMain.

Note  Starting with Windows 8, all DXGI factories (regardless if they were created with CreateDXGIFactory or CreateDXGIFactory1) enumerate adapters identically. The enumeration order of adapters, which you retrieve with IDXGIFactory::EnumAdapters or IDXGIFactory1::EnumAdapters1, is as follows:

  • Adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero.
  • Adapters with outputs.
  • Adapters without outputs.

Windows Phone 8: This API is supported.

Windows Phone 8.1: This API is supported.

Examples

Creating a DXGI 1.1 Factory

The following code example demonstrates how to create a DXGI 1.1 factory. This example uses the __uuidof() intrinsic to obtain the REFIID, or GUID, of the IDXGIFactory1 interface.



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

Requirements

Minimum supported client

Windows 7 [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2008 R2 [desktop apps | Windows Store apps]

Header

DXGI.h

Library

DXGI.lib

DLL

Dxgi.dll

See also

DXGI Functions

 

 

Community Additions

ADD
Show:
© 2014 Microsoft