> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12GetInterface (XBOX Series consoles)

> Selects an SDK version at runtime when the system is in Windows Developer Mode.

Selects an SDK version at runtime when the system is in Windows Developer Mode. Supports debug, tools, [DRED](https://learn.microsoft.com/en-us/windows/win32/direct3d12/use-dred), and SDK configuration interfaces.

## Syntax

```cpp theme={null}
HRESULT D3D12GetInterface(
    const IID & rclsid,
    const IID & riid,
    void  ppvDebug
)
```

### Parameters

*rclsid*\
Type: const IID &

The CLSID associated with the data and code that will be used to create the object.

The following CLSIDs are defined.

* DEFINE\_GUID(CLSID\_D3D12Debug,                        0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f);
* DEFINE\_GUID(CLSID\_D3D12Tools,                        0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8);
* DEFINE\_GUID(CLSID\_D3D12DeviceRemovedExtendedData,    0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);
* DEFINE\_GUID(CLSID\_D3D12SDKConfiguration,             0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);

They correspond, respectively, to the following interfaces.

* [ID3D12Debug interface](https://learn.microsoft.com/en-us/windows/win32/api/d3d12sdklayers/nn-d3d12sdklayers-id3d12debug)
* [ID3D12Tools interface](/reference/graphics/d3d12/interfaces/id3d12tools/id3d12tools_public)
* [ID3D12DeviceRemovedExtendedDataSettings interface](/reference/graphics/d3d12/interfaces/id3d12deviceremovedextendeddatasettings/id3d12deviceremovedextendeddatasettings_public)
* [ID3D12SDKConfiguration interface](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nn-d3d12-id3d12sdkconfiguration)

*riid*\
Type: const IID &

The globally unique identifier (**GUID**) for the SDK configuration interface. The **REFIID**, or **GUID**, of the interface can be obtained by using the `__uuidof` macro. For example, `__uuidof(ID3D12SDKConfiguration)` will retrieve the **GUID** of the debug interface.

*ppvDebug*\
Type: void \*\*

The `out` parameter that contains the requested interface on return (for example, the SDK configuration interface), as a pointer to pointer to void. See [ID3D12SDKConfiguration interface](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nn-d3d12-id3d12sdkconfiguration).

### Return value

Type: HRESULT

If the function succeeds, then it returns **S\_OK**. Otherwise, it returns one of the [Direct3D 12 return codes](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues).

## Remarks

## Requirements

**Header:** d3d12\_xs.h\
**Library:** d3d12\_xs.lib\
**Supported Platforms**: XBOX Series consoles

## See Also

* [ID3D12Debug](https://learn.microsoft.com/en-us/windows/win32/api/d3d12sdklayers/nn-d3d12sdklayers-id3d12debug)
* [ID3D12Tools](/reference/graphics/d3d12/interfaces/id3d12tools/id3d12tools_public)
* [ID3D12DeviceRemovedExtendedDataSettings](/reference/graphics/d3d12/interfaces/id3d12deviceremovedextendeddatasettings/id3d12deviceremovedextendeddatasettings_public)
* [ID3D12SDKConfiguration interface](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nn-d3d12-id3d12sdkconfiguration)


## Related topics

- [ID3D12Device10 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device10/id3d12device10_public.md)
- [ID3D12Device5 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device5/id3d12device5_public.md)
- [ID3D12Device9 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device9/id3d12device9_public.md)
- [ID3D12GraphicsCommandList7 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist7/id3d12graphicscommandlist7_public.md)
- [D3D12GetDebugInterface](/reference/graphics/d3d12/functions/d3d12getdebuginterface_public.md)
