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

# CreateFence

> 创建围栏对象。(ID3D12Device.CreateFence)

创建围栏对象。

## 语法

```cpp theme={null}
HRESULT CreateFence(
    UINT64 InitialValue,
    D3D12_FENCE_FLAGS Flags,
    const IID & riid,
    void  ppFence
)
```

### 参数

*InitialValue*\
类型：UINT64

围栏的初始值。

*Flags*\
类型：D3D12\_FENCE\_FLAGS

通过按位 OR 操作组合的 [D3D12\_FENCE\_FLAGS](/reference/graphics/d3d12/enums/d3d12_fence_flags_public) 类型的值的组合。
生成的值指定围栏的选项。

*riid*\
类型：const IID &

围栏接口（[ID3D12Fence](/reference/graphics/d3d12/interfaces/id3d12fence/id3d12fence_public)）的全局唯一标识符 (**GUID**)。
可以使用 \_\_uuidof() 宏获取围栏接口的 **REFIID** 或 **GUID**。
例如，\_\_uuidof(ID3D12Fence) 将获取围栏接口的 **GUID**。

*ppFence \[out]*\
类型：void \*\*

指向内存块的指针，该内存块接收用于访问围栏的 [ID3D12Fence](/reference/graphics/d3d12/interfaces/id3d12fence/id3d12fence_public) 接口的指针。

### 返回值

类型：HRESULT

如果成功，则返回 **S\_OK**；否则，返回 [Direct3D 12 返回代码](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12-graphics-reference-returnvalues) 之一。

## 要求

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

## 另请参阅

[ID3D12Device](/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [D3D12_FENCE_FLAGS](/zh-CN/reference/graphics/d3d12/enums/d3d12_fence_flags_public.md)
- [ID3D12Fence](/zh-CN/reference/graphics/d3d12/interfaces/id3d12fence/id3d12fence_public.md)
- [GetStatusFence](/zh-CN/reference/graphics/d3d12/interfaces/id3d12protectedsession/methods/id3d12protectedsession_getstatusfence_public.md)
- [SetEventOnMultipleFenceCompletion](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device1/methods/id3d12device1_seteventonmultiplefencecompletion_public.md)
- [ID3D12Fence::Signal](/zh-CN/reference/graphics/d3d12/interfaces/id3d12fence/methods/id3d12fence_signal_public.md)
