> ## 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.

# D3D12_STATE_OBJECT_DESC

> Description of a state object. Pass this structure into ID3D12Device::CreateStateObject.

Description of a state object. Pass a value of this structure type to [ID3D12Device5::CreateStateObject](/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_createstateobject_public).

## Syntax

```cpp theme={null}
typedef struct D3D12_STATE_OBJECT_DESC
{
    D3D12_STATE_OBJECT_TYPE Type;
    UINT NumSubobjects;
    const D3D12_STATE_SUBOBJECT  pSubobjects;
} D3D12_STATE_OBJECT_DESC
```

### Members

*Type*\
Type: D3D12\_STATE\_OBJECT\_TYPE

The type of the state object.

*NumSubobjects*\
Type: UINT

Size of the <i>pSubobjects</i> array.

*pSubobjects*\
Type: const D3D12\_STATE\_SUBOBJECT \*

An array of subobject definitions.

## Requirements

**Header:** d3d12\_xs.h or d3d12\_x.h\
**Library:** d3d12\_xs.lib or d3d12\_x.lib\
**Supported Platforms**: XBOX Series consoles and XBOX One family


## Related topics

- [D3D12_STATE_OBJECT_TYPE](/reference/graphics/d3d12/enums/d3d12_state_object_type_public.md)
- [D3D12_STATE_SUBOBJECT](/reference/graphics/d3d12/structs/d3d12_state_subobject_public.md)
- [D3D12_COMPUTE_PIPELINE_STATE_DESC](/reference/graphics/d3d12/structs/d3d12_compute_pipeline_state_desc_public.md)
- [D3D12_STREAM_OUTPUT_DESC](/reference/graphics/d3d12/structs/d3d12_stream_output_desc_public.md)
- [D3D12_PIPELINE_STATE_STREAM_DESC](/reference/graphics/d3d12/structs/d3d12_pipeline_state_stream_desc_public.md)
