---
title: acltdtGetBufData
description: "获取共享Buffer的数据区指针和数据区长度，用户可以使用此指针填入数据。同步接口。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_1642.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_1642.html
indexId: 0a248585ac62ee04751301468b3a8239513016fe70709d056ed31a8c397e2aa2105
---
# acltdtGetBufData

#### 函数功能

获取共享Buffer的数据区指针和数据区长度，用户可以使用此指针填入数据。同步接口。


#### 约束说明

- 接口调用顺序：调用  acltdtAllocBuf
或  acltdtCopyBufRef
接口申请到共享Buffer后，因此需由用户调用  acltdtGetBufData
接口获取共享Buffer的内存指针及长度后，再自行向内存中填充有效数据，然后再调用  acltdtSetBufDataLen
接口设置共享Buffer中有效数据的长度，且长度必须小于  acltdtGetBufData
获取到的size大小。
- 仅支持在  Control CPU开放形态
或  RC模式
下使用该接口。


#### 函数原型

aclError acltdtGetBufData(const acltdtBuf buf, void **dataPtr, size_t *size)


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| buf | 输入 | 共享Buffer指针，须通过acltdtAllocBuf接口申请获得。 |
| dataPtr | 输出 | 数据区指针（device侧地址）。 |
| size | 输出 | 数据区的长度，单位为Byte。 |


#### 返回值说明

返回0表示成功，返回其它值表示失败。


#### 参考资源

接口调用流程及示例，参见共享Buffer管理。
