D3D10CreateDevice1 function (d3d10_1.h)

Create a Direct3D 10.1 device that represents the display adapter.


HRESULT D3D10CreateDevice1(
  [in]  IDXGIAdapter         *pAdapter,
  [in]  D3D10_DRIVER_TYPE    DriverType,
  [in]  HMODULE              Software,
  [in]  UINT                 Flags,
  [in]  D3D10_FEATURE_LEVEL1 HardwareLevel,
  [in]  UINT                 SDKVersion,
  [out] ID3D10Device1        **ppDevice


[in] pAdapter

Type: IDXGIAdapter*

Pointer to the display adapter (see IDXGIAdapter) when creating a hardware device; otherwise set this parameter to NULL. If NULL is specified when creating a hardware device, Direct3D will use the first adapter enumerated by EnumAdapters.

[in] DriverType


The device-driver type (see D3D10_DRIVER_TYPE). The driver type determines the type of device you will create.

[in] Software


This is set to NULL except for D3D10_DRIVER_TYPE_SOFTWARE driver types.

[in] Flags

Type: UINT

Optional. Device creation flags (see D3D10_CREATE_DEVICE_FLAG) that enable API layers. These flags can be bitwise OR'd together.

[in] HardwareLevel


The version of hardware that is available for acceleration (see D3D10_FEATURE_LEVEL1).

[in] SDKVersion

Type: UINT

Bit flag that indicates the version of the SDK. Should be D3D10_1_SDK_VERSION, defined in D3D10.h.

[out] ppDevice

Type: ID3D10Device1**

Address of a pointer to the device created (see ID3D10Device1 Interface).

Return value


This method returns one of the following Direct3D 10 Return Codes.


To create a device and a swap chain at the same time, see D3D10CreateDeviceAndSwapChain1.

This method requires Windows Vista Service Pack 1, Windows Server 2008, or later release of Windows.

The object returned by D3D10CreateDevice1 implements the IUnknown interface and can be queried for other interfaces the object supports. To retrieve the IDXGIDevice interface of the object the following code could be used.

IDXGIDevice * pDXGIDevice;
hr = g_pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)&pDXGIDevice);


Target Platform Windows
Header d3d10_1.h
Library D3D10_1.lib
DLL D3D10_1.dll

See also

Core Functions