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

> 描述缓冲区资源中要用于着色器资源视图的元素。

描述缓冲区资源中要用于着色器资源视图的元素。

## 语法

```cpp theme={null}
typedef struct D3D12_BUFFER_SRV
{
    UINT64 FirstElement;
    UINT NumElements;
    UINT StructureByteStride;
    D3D12_BUFFER_SRV_FLAGS Flags;
} D3D12_BUFFER_SRV
```

### 成员

*FirstElement*\
类型：UINT64

视图要访问的第一个元素的索引。

*NumElements*\
类型：UINT

资源中元素的数量。

*StructureByteStride*\
类型：UINT

当缓冲区表示结构化缓冲区时，缓冲区结构中每个元素的大小（以字节为单位）。

*Flags*\
类型：D3D12\_BUFFER\_SRV\_FLAGS

一个 [D3D12\_BUFFER\_SRV\_FLAGS](/reference/graphics/d3d12_xs/enums/d3d12_buffer_srv_flags_xs) 类型的值，用于标识缓冲区的视图选项。目前，唯一的选项是标识缓冲区的原始视图。有关缓冲区原始视图的详细信息，请参阅[缓冲区的原始视图](https://learn.microsoft.com/en-us/windows/desktop/direct3d11/overviews-direct3d-11-resources-intro)。

## 备注

此结构由 [D3D12\_SHADER\_RESOURCE\_VIEW\_DESC](/reference/graphics/d3d12/structs/d3d12_shader_resource_view_desc_public) 使用，以创建缓冲区的视图。

如果 *StructureByteStride* 的值不为 0，则创建结构化缓冲区的视图，此时 *D3D12\_SHADER\_RESOURCE\_VIEW\_DESC::Format* 字段必须为 **DXGI\_FORMAT\_UNKNOWN**。如果 *StructureByteStride* 为 0，则创建缓冲区的类型化视图，此时必须提供格式。类型化视图指定的格式必须受硬件支持。

## 要求

**头文件：** d3d12\_xs.h 或 d3d12\_x.h\
**库：** d3d12\_xs.lib 或 d3d12\_x.lib\
**支持的平台**：XBOX Series 主机和 XBOX One 系列

## 另请参阅

[核心结构](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)


## Related topics

- [D3D12_SHADER_RESOURCE_VIEW_DESC](/zh-CN/reference/graphics/d3d12/structs/d3d12_shader_resource_view_desc_public.md)
- [D3D12_TEXCUBE_SRV](/zh-CN/reference/graphics/d3d12/structs/d3d12_texcube_srv_public.md)
- [D3D12_TEX1D_SRV](/zh-CN/reference/graphics/d3d12/structs/d3d12_tex1d_srv_public.md)
- [D3D12_TEX2D_SRV](/zh-CN/reference/graphics/d3d12/structs/d3d12_tex2d_srv_public.md)
- [D3D12_TEX3D_SRV](/zh-CN/reference/graphics/d3d12/structs/d3d12_tex3d_srv_public.md)
