D2D1CreateFactory function (d2d1.h)

Creates a factory object that can be used to create Direct2D resources.

Syntax

HRESULT D2D1CreateFactory(
  [in]           D2D1_FACTORY_TYPE          factoryType,
  [in]           REFIID                     riid,
  [in, optional] const D2D1_FACTORY_OPTIONS *pFactoryOptions,
  [out]          void                       **ppIFactory
);

Parameters

[in] factoryType

Type: D2D1_FACTORY_TYPE

The threading model of the factory and the resources it creates.

[in] riid

Type: REFIID

A reference to the IID of ID2D1Factory that is obtained by using __uuidof(ID2D1Factory).

[in, optional] pFactoryOptions

Type: const D2D1_FACTORY_OPTIONS*

The level of detail provided to the debugging layer.

[out] ppIFactory

Type: void**

When this method returns, contains the address to a pointer to the new factory.

Return value

Type: HRESULT

If the function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

The ID2D1Factory interface provides the starting point for Direct2D. In general, an object created from a single instance of a factory object can be used with other resources created from that instance, but not with resources created by other factory instances.

Requirements

Requirement Value
Minimum supported client Windows 7, Windows Vista with SP2 and Platform Update for Windows Vista [desktop apps | UWP apps]
Minimum supported server Windows Server 2008 R2, Windows Server 2008 with SP2 and Platform Update for Windows Server 2008 [desktop apps | UWP apps]
Target Platform Windows
Header d2d1.h
Library D2d1.lib
DLL D2d1.dll

See also

Direct2D API Overview