_o_h___native_buffer.md 5.5 KB
Newer Older
Z
zengyawen 已提交
1 2 3
# OH_NativeBuffer


4
## 概述
Z
zengyawen 已提交
5

6
提供NativeBuffer功能,通过提供的接口,可以实现共享内存的申请、使用、属性查询、释放等操作。
Z
zengyawen 已提交
7

8
\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
Z
zengyawen 已提交
9

10
**起始版本:**
Z
zengyawen 已提交
11 12 13 14 15 16 17 18 19

9


## 汇总


### 文件

20
| 名称 | 描述 |
Z
zengyawen 已提交
21
| -------- | -------- |
22
| [native_buffer.h](native__buffer_8h.md) | 定义获取和使用NativeBuffer的相关函数。<br/>引用文件:&lt;native_buffer/native_buffer.h&gt; |
Z
zengyawen 已提交
23 24 25 26


### 结构体

27
| 名称 | 描述 |
Z
zengyawen 已提交
28
| -------- | -------- |
29 30 31 32 33 34 35 36
| [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) | OH_NativeBuffer的属性配置,用于申请新的OH_NativeBuffer实例或查询现有实例的相关属性。 |


### 类型定义

| 名称 | 描述 |
| -------- | -------- |
| [OH_NativeBuffer](#oh_nativebuffer) | 提供OH_NativeBuffer结构体声明。 |
Z
zengyawen 已提交
37 38 39 40


### 函数

41
| 名称 | 描述 |
Z
zengyawen 已提交
42
| -------- | -------- |
43 44 45 46 47 48 49 50 51 52 53
| [OH_NativeBuffer_Alloc](#oh_nativebuffer_alloc) (const [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) \*config) | 通过OH_NativeBuffer_Config创建OH_NativeBuffer实例,每次调用都会产生一个新的OH_NativeBuffer实例。 |
| [OH_NativeBuffer_Reference](#oh_nativebuffer_reference) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer) | 将OH_NativeBuffer对象的引用计数加1。 |
| [OH_NativeBuffer_Unreference](#oh_nativebuffer_unreference) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer) | 将OH_NativeBuffer对象的引用计数减1,当引用计数为0的时候,该NativeBuffer对象会被析构掉。 |
| [OH_NativeBuffer_GetConfig](#oh_nativebuffer_getconfig) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer, [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) \*config) | 用于获取OH_NativeBuffer的属性。 |
| [OH_NativeBuffer_Map](#oh_nativebuffer_map) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer, void \*\*virAddr) | 将OH_NativeBuffer对应的ION内存映射到进程空间。 |
| [OH_NativeBuffer_Unmap](#oh_nativebuffer_unmap) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer) | 将OH_NativeBuffer对应的ION内存从进程空间移除。 |
| [OH_NativeBuffer_GetSeqNum](#oh_nativebuffer_getseqnum) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer) | 获取OH_NativeBuffer的序列号。 |


## 类型定义说明

Z
zengyawen 已提交
54

55
### OH_NativeBuffer
Z
zengyawen 已提交
56

57 58 59 60 61 62 63 64

```
typedef struct OH_NativeBuffer OH_NativeBuffer
```

**描述:**

提供OH_NativeBuffer结构体声明。
Z
zengyawen 已提交
65 66 67 68 69 70 71 72 73 74 75 76


## 函数说明


### OH_NativeBuffer_Alloc()


```
OH_NativeBuffer* OH_NativeBuffer_Alloc (const OH_NativeBuffer_Config * config)
```

77
**描述:**
Z
zengyawen 已提交
78

79
通过OH_NativeBuffer_Config创建OH_NativeBuffer实例,每次调用都会产生一个新的OH_NativeBuffer实例。
Z
zengyawen 已提交
80

81
\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
Z
zengyawen 已提交
82

83
**参数:**
Z
zengyawen 已提交
84

85
| 名称 | 描述 |
Z
zengyawen 已提交
86
| -------- | -------- |
87
| config | 一个指向OH_NativeBuffer属性的指针,类型为OH_NativeBuffer_Config。 |
Z
zengyawen 已提交
88

89
**返回:**
Z
zengyawen 已提交
90

91
创建成功则返回一个指向OH_NativeBuffer结构体实例的指针,否则返回NULL。
Z
zengyawen 已提交
92 93 94 95 96 97 98 99 100


### OH_NativeBuffer_GetConfig()


```
void OH_NativeBuffer_GetConfig (OH_NativeBuffer * buffer, OH_NativeBuffer_Config * config )
```

101
**描述:**
Z
zengyawen 已提交
102

103
用于获取OH_NativeBuffer的属性。
Z
zengyawen 已提交
104

105
\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
Z
zengyawen 已提交
106

107
**参数:**
Z
zengyawen 已提交
108

109
| 名称 | 描述 |
Z
zengyawen 已提交
110
| -------- | -------- |
111 112
| buffer | 一个指向OH_NativeBuffer实例的指针。 |
| config | 一个指向OH_NativeBuffer_Config的指针,用于接收OH_NativeBuffer的属性。 |
Z
zengyawen 已提交
113 114 115 116 117 118 119 120 121


### OH_NativeBuffer_GetSeqNum()


```
uint32_t OH_NativeBuffer_GetSeqNum (OH_NativeBuffer * buffer)
```

122
**描述:**
Z
zengyawen 已提交
123

124
获取OH_NativeBuffer的序列号。
Z
zengyawen 已提交
125

126
\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
Z
zengyawen 已提交
127

128
**参数:**
Z
zengyawen 已提交
129

130
| 名称 | 描述 |
Z
zengyawen 已提交
131
| -------- | -------- |
132
| buffer | 一个指向OH_NativeBuffer实例的指针。 |
Z
zengyawen 已提交
133

134
**返回:**
Z
zengyawen 已提交
135

136
返回对应OH_NativeBuffer的唯一序列号。
Z
zengyawen 已提交
137 138 139 140 141 142 143 144 145


### OH_NativeBuffer_Map()


```
int32_t OH_NativeBuffer_Map (OH_NativeBuffer * buffer, void ** virAddr )
```

146
**描述:**
Z
zengyawen 已提交
147

148
将OH_NativeBuffer对应的ION内存映射到进程空间。
Z
zengyawen 已提交
149

150
\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
Z
zengyawen 已提交
151

152
**参数:**
Z
zengyawen 已提交
153

154
| 名称 | 描述 |
Z
zengyawen 已提交
155
| -------- | -------- |
156 157
| buffer | 一个指向OH_NativeBuffer实例的指针。 |
| virAddr | 一个二级指针,二级指针指向映射到当前进程的虚拟内存的地址。 |
Z
zengyawen 已提交
158

159
**返回:**
Z
zengyawen 已提交
160

161
返回值为0表示执行成功。
Z
zengyawen 已提交
162 163 164 165 166 167 168 169 170


### OH_NativeBuffer_Reference()


```
int32_t OH_NativeBuffer_Reference (OH_NativeBuffer * buffer)
```

171
**描述:**
Z
zengyawen 已提交
172

173
将OH_NativeBuffer对象的引用计数加1。
Z
zengyawen 已提交
174

175
\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
Z
zengyawen 已提交
176

177
**参数:**
Z
zengyawen 已提交
178

179
| 名称 | 描述 |
Z
zengyawen 已提交
180
| -------- | -------- |
181
| buffer | 一个指向OH_NativeBuffer实例的指针。 |
Z
zengyawen 已提交
182

183
**返回:**
Z
zengyawen 已提交
184

185
返回值为0表示执行成功。
Z
zengyawen 已提交
186 187 188 189 190 191 192 193 194


### OH_NativeBuffer_Unmap()


```
int32_t OH_NativeBuffer_Unmap (OH_NativeBuffer * buffer)
```

195
**描述:**
Z
zengyawen 已提交
196

197
将OH_NativeBuffer对应的ION内存从进程空间移除。
Z
zengyawen 已提交
198

199
\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
Z
zengyawen 已提交
200

201
**参数:**
Z
zengyawen 已提交
202

203
| 名称 | 描述 |
Z
zengyawen 已提交
204
| -------- | -------- |
205
| buffer | 一个指向OH_NativeBuffer实例的指针。 |
Z
zengyawen 已提交
206

207
**返回:**
Z
zengyawen 已提交
208

209
返回值为0表示执行成功。
Z
zengyawen 已提交
210 211 212 213 214 215 216 217 218


### OH_NativeBuffer_Unreference()


```
int32_t OH_NativeBuffer_Unreference (OH_NativeBuffer * buffer)
```

219
**描述:**
Z
zengyawen 已提交
220

221
将OH_NativeBuffer对象的引用计数减1,当引用计数为0的时候,该NativeBuffer对象会被析构掉。
Z
zengyawen 已提交
222

223
\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
Z
zengyawen 已提交
224

225
**参数:**
Z
zengyawen 已提交
226

227
| 名称 | 描述 |
Z
zengyawen 已提交
228
| -------- | -------- |
229
| buffer | 一个指向OH_NativeBuffer实例的指针。 |
Z
zengyawen 已提交
230

231
**返回:**
Z
zengyawen 已提交
232

233
返回值为0表示执行成功。