---
title: MapBuffer
description: "将一个Buffer的数据映射到内存中。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2530/armnative15/kunpengcpsvideo_16_0094.html
sourcePath: /source/zh/kunpengboostkithistory/2530/armnative15/kunpengcpsvideo_16_0094.html
indexId: b565a8290dbd9511cfb8951b339f98d70412c6b8d3c378da604d9330dc3aa96979
---
# MapBuffer

#### 函数功能

将一个Buffer的数据映射到内存中。

- 若Buffer中的数据能够映射为用户态的连续内存，则该接口应该填写Buffer字段中的data以及dataLen字段。
- 若无法将Buffer数据映射为连续内存，则需要将Buffer字段中的data指针置空，并填写dataLen字段。


#### 函数原型

int32_t MapBuffer(GpuEncoderBufferT &buffer, uint32_t flag) = 0


#### 参数说明

| 字段名称 | 输入/输出 | 字段类型 | 字段描述 |
| --- | --- | --- | --- |
| buffer | 输出 | GpuEncoderBufferT & | 需要进行数据映射Buffer的指针。 |
| flag | 输入 | uint32\_t | 控制映射数据的访问类型，包含可读和可写。 |


flag取值范围说明，同时使能读写时flag值为FLAG_READ | FLAG_WRITE。

```
enum MapFlag : uint32_t {
    FLAG_READ = 1,
    FLAG_WRITE = 1 << 1,
};
```


#### 返回值说明

数据类型：GpuEncoderErrorCode

取值如下：

- OK：映射Buffer数据成功。
- 其他：映射Buffer数据失败。
