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

> 描述资源屏障（资源使用中的转换）。

描述资源屏障（资源使用中的转换）。

## 语法

```cpp theme={null}
typedef struct D3D12_RESOURCE_BARRIER
{
    D3D12_RESOURCE_BARRIER_TYPE Type;
    D3D12_RESOURCE_BARRIER_FLAGS Flags;
    D3D12_RESOURCE_TRANSITION_BARRIER Transition;
    D3D12_RESOURCE_ALIASING_BARRIER Aliasing;
    D3D12_RESOURCE_UAV_BARRIER UAV;
} D3D12_RESOURCE_BARRIER
```

### 成员

*Type*\
类型：D3D12\_RESOURCE\_BARRIER\_TYPE

一个 [D3D12\_RESOURCE\_BARRIER\_TYPE](/reference/graphics/d3d12/enums/d3d12_resource_barrier_type_public) 类型的值，指定资源屏障的类型。
此成员确定要在下面的联合中使用哪种类型。

*Flags*\
类型：D3D12\_RESOURCE\_BARRIER\_FLAGS

指定 [D3D12\_RESOURCE\_BARRIER\_FLAGS](/reference/graphics/d3d12_x/enums/d3d12_resource_barrier_flags) 枚举常量，例如"仅开始"或"仅结束"。

*Transition*\
类型：D3D12\_RESOURCE\_TRANSITION\_BARRIER

一个 [D3D12\_RESOURCE\_TRANSITION\_BARRIER](/reference/graphics/d3d12/structs/d3d12_resource_transition_barrier_public) 结构，描述子资源在不同用法之间的转换。
成员指定子资源的之前和之后用法。

*Aliasing*\
类型：D3D12\_RESOURCE\_ALIASING\_BARRIER

一个
[D3D12\_RESOURCE\_ALIASING\_BARRIER](/reference/graphics/d3d12/structs/d3d12_resource_aliasing_barrier_public) 结构，描述在同一个堆中有映射的两个不同资源用法之间的转换。

*UAV*\
类型：D3D12\_RESOURCE\_UAV\_BARRIER

一个
[D3D12\_RESOURCE\_UAV\_BARRIER](/reference/graphics/d3d12/structs/d3d12_resource_uav_barrier_public) 结构，描述在其中所有 UAV 访问（读取或写入）必须在任何未来的 UAV 访问（读取或写入）开始之前完成的资源。

## 备注

此结构由 [ID3D12GraphicsCommandList::ResourceBarrier](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_resourcebarrier_public) 方法使用。

## 要求

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

## 另请参阅

[Core Structures](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)

[Using Resource Barriers to Synchronize Resource States in Direct3D 12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/using-resource-barriers-to-synchronize-resource-states-in-direct3d-12)


## Related topics

- [D3D12_RESOURCE_TRANSITION_BARRIER](/zh-CN/reference/graphics/d3d12/structs/d3d12_resource_transition_barrier_public.md)
- [D3D12_RESOURCE_ALIASING_BARRIER](/zh-CN/reference/graphics/d3d12/structs/d3d12_resource_aliasing_barrier_public.md)
- [D3D12_RESOURCE_UAV_BARRIER](/zh-CN/reference/graphics/d3d12/structs/d3d12_resource_uav_barrier_public.md)
- [D3D12_RESOURCE_BARRIER_TYPE](/zh-CN/reference/graphics/d3d12/enums/d3d12_resource_barrier_type_public.md)
- [D3D12_TEXTURE_BARRIER (XBOX Series consoles)](/zh-CN/reference/graphics/d3d12/structs/d3d12_texture_barrier_public.md)
