• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# OH_NativeBuffer
2
3
4## 概述
5
6提供NativeBuffer功能,通过提供的接口,可以实现共享内存的申请、使用、属性查询、释放等操作。
7
8\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
9
10**起始版本:**
11
129
13
14
15## 汇总
16
17
18### 文件
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [native_buffer.h](native__buffer_8h.md) | 定义获取和使用NativeBuffer的相关函数。<br/>引用文件:&lt;native_buffer/native_buffer.h&gt; |
23
24
25### 结构体
26
27| 名称 | 描述 |
28| -------- | -------- |
29| [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) | OH_NativeBuffer的属性配置,用于申请新的OH_NativeBuffer实例或查询现有实例的相关属性。 |
30
31
32### 类型定义
33
34| 名称 | 描述 |
35| -------- | -------- |
36| [OH_NativeBuffer](#oh_nativebuffer) | 提供OH_NativeBuffer结构体声明。 |
37
38
39### 函数
40
41| 名称 | 描述 |
42| -------- | -------- |
43| [OH_NativeBuffer_Alloc](#oh_nativebuffer_alloc) (const [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) \*config) | 通过OH_NativeBuffer_Config创建OH_NativeBuffer实例,每次调用都会产生一个新的OH_NativeBuffer实例。 |
44| [OH_NativeBuffer_Reference](#oh_nativebuffer_reference) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer) | 将OH_NativeBuffer对象的引用计数加1。 |
45| [OH_NativeBuffer_Unreference](#oh_nativebuffer_unreference) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer) | 将OH_NativeBuffer对象的引用计数减1,当引用计数为0的时候,该NativeBuffer对象会被析构掉。 |
46| [OH_NativeBuffer_GetConfig](#oh_nativebuffer_getconfig) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer, [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) \*config) | 用于获取OH_NativeBuffer的属性。 |
47| [OH_NativeBuffer_Map](#oh_nativebuffer_map) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer, void \*\*virAddr) | 将OH_NativeBuffer对应的ION内存映射到进程空间。 |
48| [OH_NativeBuffer_Unmap](#oh_nativebuffer_unmap) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer) | 将OH_NativeBuffer对应的ION内存从进程空间移除。 |
49| [OH_NativeBuffer_GetSeqNum](#oh_nativebuffer_getseqnum) ([OH_NativeBuffer](#oh_nativebuffer) \*buffer) | 获取OH_NativeBuffer的序列号。 |
50
51
52## 类型定义说明
53
54
55### OH_NativeBuffer
56
57
58```
59typedef struct OH_NativeBuffer OH_NativeBuffer
60```
61
62**描述:**
63
64提供OH_NativeBuffer结构体声明。
65
66
67## 函数说明
68
69
70### OH_NativeBuffer_Alloc()
71
72
73```
74OH_NativeBuffer* OH_NativeBuffer_Alloc (const OH_NativeBuffer_Config * config)
75```
76
77**描述:**
78
79通过OH_NativeBuffer_Config创建OH_NativeBuffer实例,每次调用都会产生一个新的OH_NativeBuffer实例。
80
81\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
82
83**参数:**
84
85| 名称 | 描述 |
86| -------- | -------- |
87| config | 一个指向OH_NativeBuffer_Config类型的指针。 |
88
89**返回:**
90
91创建成功则返回一个指向OH_NativeBuffer结构体实例的指针,否则返回NULL。
92
93
94### OH_NativeBuffer_GetConfig()
95
96
97```
98void OH_NativeBuffer_GetConfig (OH_NativeBuffer * buffer, OH_NativeBuffer_Config * config )
99```
100
101**描述:**
102
103用于获取OH_NativeBuffer的属性。
104
105\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
106
107**参数:**
108
109| 名称 | 描述 |
110| -------- | -------- |
111| buffer | 一个指向OH_NativeBuffer实例的指针。 |
112| config | 一个指向OH_NativeBuffer_Config的指针,用于接收OH_NativeBuffer的属性。 |
113
114
115### OH_NativeBuffer_GetSeqNum()
116
117
118```
119uint32_t OH_NativeBuffer_GetSeqNum (OH_NativeBuffer * buffer)
120```
121
122**描述:**
123
124获取OH_NativeBuffer的序列号。
125
126\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
127
128**参数:**
129
130| 名称 | 描述 |
131| -------- | -------- |
132| buffer | 一个指向OH_NativeBuffer实例的指针。 |
133
134**返回:**
135
136返回对应OH_NativeBuffer的唯一序列号。
137
138
139### OH_NativeBuffer_Map()
140
141
142```
143int32_t OH_NativeBuffer_Map (OH_NativeBuffer * buffer, void ** virAddr )
144```
145
146**描述:**
147
148将OH_NativeBuffer对应的ION内存映射到进程空间。
149
150\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
151
152**参数:**
153
154| 名称 | 描述 |
155| -------- | -------- |
156| buffer | 一个指向OH_NativeBuffer实例的指针。 |
157| virAddr | 一个二级指针,二级指针指向映射到当前进程的虚拟内存的地址。 |
158
159**返回:**
160
161返回值为0表示执行成功。
162
163
164### OH_NativeBuffer_Reference()
165
166
167```
168int32_t OH_NativeBuffer_Reference (OH_NativeBuffer * buffer)
169```
170
171**描述:**
172
173将OH_NativeBuffer对象的引用计数加1。
174
175\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
176
177**参数:**
178
179| 名称 | 描述 |
180| -------- | -------- |
181| buffer | 一个指向OH_NativeBuffer实例的指针。 |
182
183**返回:**
184
185返回值为0表示执行成功。
186
187
188### OH_NativeBuffer_Unmap()
189
190
191```
192int32_t OH_NativeBuffer_Unmap (OH_NativeBuffer * buffer)
193```
194
195**描述:**
196
197将OH_NativeBuffer对应的ION内存从进程空间移除。
198
199\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
200
201**参数:**
202
203| 名称 | 描述 |
204| -------- | -------- |
205| buffer | 一个指向OH_NativeBuffer实例的指针。 |
206
207**返回:**
208
209返回值为0表示执行成功。
210
211
212### OH_NativeBuffer_Unreference()
213
214
215```
216int32_t OH_NativeBuffer_Unreference (OH_NativeBuffer * buffer)
217```
218
219**描述:**
220
221将OH_NativeBuffer对象的引用计数减1,当引用计数为0的时候,该NativeBuffer对象会被析构掉。
222
223\@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer
224
225**参数:**
226
227| 名称 | 描述 |
228| -------- | -------- |
229| buffer | 一个指向OH_NativeBuffer实例的指针。 |
230
231**返回:**
232
233返回值为0表示执行成功。
234