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

> 以链表节点的形式表示设备移除扩展数据 (DRED) 自动痕迹数据。

以链表节点的形式表示设备移除扩展数据 (DRED) 自动痕迹数据。每个 **D3D12\_AUTO\_BREADCRUMB\_NODE** 对象通过其 `pNext` 成员单向链接到下一个对象；列表中的最后一个节点例外，其 `pNext` 被设置为 `nullptr`。

Direct3D 12 运行时为每个图形命令列表创建一个此类对象，并在与该列表关联的命令分配器中对其进行跟踪。命令列表被执行时，将设置命令队列信息。检测到设备移除后，Direct3D 12 运行时会将任何仍在处理中的 GPU 工作对应的自动痕迹节点链接在一起。

## 语法

```cpp theme={null}
typedef struct D3D12_AUTO_BREADCRUMB_NODE
{
    const char  pCommandListDebugNameA;
    const wchar_t  pCommandListDebugNameW;
    const char  pCommandQueueDebugNameA;
    const wchar_t  pCommandQueueDebugNameW;
    ID3D12GraphicsCommandList  pCommandList;
    ID3D12CommandQueue  pCommandQueue;
    UINT32 BreadcrumbCount;
    UINT32  pLastBreadcrumbValue;
    D3D12_AUTO_BREADCRUMB_OP  pCommandHistory;
    struct D3D12_AUTO_BREADCRUMB_NODE  pNext;
} D3D12_AUTO_BREADCRUMB_NODE
```

### 成员

*pCommandListDebugNameA*\
类型：const char \*

指向未处理命令列表（如果有）的 ANSI 调试名称的指针。

*pCommandListDebugNameW*\
类型：const wchar\_t \*

指向未处理命令列表（如果有）的宽字符调试名称的指针。

*pCommandQueueDebugNameA*\
类型：const char \*

指向未处理命令队列（如果有）的 ANSI 调试名称的指针。

*pCommandQueueDebugNameW*\
类型：const wchar\_t \*

指向未处理命令队列（如果有）的宽字符调试名称的指针。

*pCommandList*\
类型：ID3D12GraphicsCommandList \*

指向 [ID3D12GraphicsCommandList 接口](/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList/id3d12graphicscommandlist_xs)的指针，该接口表示执行时未处理的命令列表。

*pCommandQueue*\
类型：ID3D12CommandQueue \*

指向 [ID3D12CommandQueue 接口](/reference/graphics/d3d12_xs/interfaces/ID3D12CommandQueue/id3d12commandqueue_xs)的指针，该接口表示未处理的命令队列。

*BreadcrumbCount*\
类型：UINT32

一个 **UINT32**，包含 `pCommandHistory` 所指向数组中 [D3D12\_AUTO\_BREADCRUMB\_OP](/reference/graphics/d3d12/enums/d3d12_auto_breadcrumb_op_public) 值的数量。

*pLastBreadcrumbValue*\
类型：UINT32 \*

指向常量 **UINT32** 的指针，该值包含 GPU 在执行相关命令列表时完成的最后一个渲染/计算操作在 `pCommandHistory` 所指向数组中的索引。

*pCommandHistory*\
类型：D3D12\_AUTO\_BREADCRUMB\_OP \*

指向常量 [D3D12\_AUTO\_BREADCRUMB\_OP](/reference/graphics/d3d12/enums/d3d12_auto_breadcrumb_op_public) 值数组的指针，该数组表示记录到相关命令列表中的所有渲染/计算操作。

*pNext*\
类型：struct D3D12\_AUTO\_BREADCRUMB\_NODE \*

指向常量 **D3D12\_AUTO\_BREADCRUMB\_NODE** 的指针，表示列表中的下一个自动痕迹节点；如果这是最后一个节点，则为 `nullptr`。

## 要求

**头文件：** 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)
* [使用 DRED 诊断 GPU 故障](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/use-dred)


## Related topics

- [D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT](/zh-CN/reference/graphics/d3d12/structs/d3d12_dred_auto_breadcrumbs_output_public.md)
- [D3D12_DEVICE_REMOVED_EXTENDED_DATA](/zh-CN/reference/graphics/d3d12/structs/d3d12_device_removed_extended_data_public.md)
- [D3D12_DEVICE_REMOVED_EXTENDED_DATA1](/zh-CN/reference/graphics/d3d12/structs/d3d12_device_removed_extended_data1_public.md)
- [D3D12_AUTO_BREADCRUMB_OP](/zh-CN/reference/graphics/d3d12/enums/d3d12_auto_breadcrumb_op_public.md)
- [D3D12_NODE_MASK](/zh-CN/reference/graphics/d3d12/structs/d3d12_node_mask_public.md)
