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