• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NativeWindow
2
3
4## 概述
5
6提供NativeWindow功能,作为数据生产者,可用来和egl对接
7
8\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
9
10**起始版本:**
11
128
13
14
15## 汇总
16
17
18### 文件
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [external_window.h](external__window_8h.md) | 定义获取和使用NativeWindow的相关函数<br/>引用文件:&lt;native_window/external_window.h&gt; |
23
24
25### 结构体
26
27| 名称 | 描述 |
28| -------- | -------- |
29| [Region](_region.md) | 表示本地窗口OHNativeWindow需要更新内容的矩形区域(脏区) |
30| [OHHDRMetaData](_o_h_h_d_r_meta_data.md) | HDR元数据结构体定义 |
31| [OHExtDataHandle](_o_h_ext_data_handle.md) | 扩展数据句柄结构体定义 |
32
33
34### 类型定义
35
36| 名称 | 描述 |
37| -------- | -------- |
38| [OHNativeWindow](#ohnativewindow) | 提供对OHNativeWindow的访问功能 |
39| [OHNativeWindowBuffer](#ohnativewindowbuffer) | 提供对OHNativeWindowBuffer的访问功能 |
40| [Region](#region) | 表示本地窗口OHNativeWindow需要更新内容的矩形区域(脏区) |
41
42
43### 枚举
44
45| 名称 | 描述 |
46| -------- | -------- |
47| [NativeWindowOperation](#nativewindowoperation) {<br/>SET_BUFFER_GEOMETRY, GET_BUFFER_GEOMETRY, GET_FORMAT, SET_FORMAT,<br/>GET_USAGE, SET_USAGE, SET_STRIDE, GET_STRIDE,<br/>SET_SWAP_INTERVAL, GET_SWAP_INTERVAL, SET_TIMEOUT, GET_TIMEOUT,<br/>SET_COLOR_GAMUT, GET_COLOR_GAMUT, SET_TRANSFORM, GET_TRANSFORM,<br/>SET_UI_TIMESTAMP<br/>} | OH_NativeWindow_NativeWindowHandleOpt函数中的操作码 |
48| [OHScalingMode](#ohscalingmode) { OH_SCALING_MODE_FREEZE = 0, OH_SCALING_MODE_SCALE_TO_WINDOW, OH_SCALING_MODE_SCALE_CROP, OH_SCALING_MODE_NO_SCALE_CROP } | 缩放模式 Scaling Mode |
49| [OHHDRMetadataKey](#ohhdrmetadatakey) {<br/>OH_METAKEY_RED_PRIMARY_X = 0, OH_METAKEY_RED_PRIMARY_Y = 1, OH_METAKEY_GREEN_PRIMARY_X = 2, OH_METAKEY_GREEN_PRIMARY_Y = 3,<br/>OH_METAKEY_BLUE_PRIMARY_X = 4, OH_METAKEY_BLUE_PRIMARY_Y = 5, OH_METAKEY_WHITE_PRIMARY_X = 6, OH_METAKEY_WHITE_PRIMARY_Y = 7,<br/>OH_METAKEY_MAX_LUMINANCE = 8, OH_METAKEY_MIN_LUMINANCE = 9, OH_METAKEY_MAX_CONTENT_LIGHT_LEVEL = 10, OH_METAKEY_MAX_FRAME_AVERAGE_LIGHT_LEVEL = 11,<br/>OH_METAKEY_HDR10_PLUS = 12, OH_METAKEY_HDR_VIVID = 13<br/>} | 枚举HDR元数据关键字 |
50
51
52### 函数
53
54| 名称 | 描述 |
55| -------- | -------- |
56| [OH_NativeWindow_CreateNativeWindow](#oh_nativewindow_createnativewindow) (void \*pSurface) | 创建OHNativeWindow实例,每次调用都会产生一个新的OHNativeWindow实例 |
57| [OH_NativeWindow_DestroyNativeWindow](#oh_nativewindow_destroynativewindow) (OHNativeWindow \*window) | 将OHNativeWindow对象的引用计数减1,当引用计数为0的时候,该OHNativeWindow对象会被析构掉 |
58| [OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer](#oh_nativewindow_createnativewindowbufferfromsurfacebuffer) (void \*pSurfaceBuffer) | 创建OHNativeWindowBuffer实例,每次调用都会产生一个新的OHNativeWindowBuffer实例 |
59| [OH_NativeWindow_DestroyNativeWindowBuffer](#oh_nativewindow_destroynativewindowbuffer) (OHNativeWindowBuffer \*buffer) | 将OHNativeWindowBuffer对象的引用计数减1,当引用计数为0的时候,该OHNativeWindowBuffer对象会被析构掉 |
60| [OH_NativeWindow_NativeWindowRequestBuffer](#oh_nativewindow_nativewindowrequestbuffer) (OHNativeWindow \*window, OHNativeWindowBuffer \*\*buffer, int \*fenceFd) | 通过OHNativeWindow对象申请一块OHNativeWindowBuffer,用以内容生产 |
61| [OH_NativeWindow_NativeWindowFlushBuffer](#oh_nativewindow_nativewindowflushbuffer) (OHNativeWindow \*window, OHNativeWindowBuffer \*buffer, int fenceFd, Region region) | 通过OHNativeWindow将生产好内容的OHNativeWindowBuffer放回到Buffer队列中,用以内容消费 |
62| [OH_NativeWindow_NativeWindowAbortBuffer](#oh_nativewindow_nativewindowabortbuffer) (OHNativeWindow \*window, OHNativeWindowBuffer \*buffer) | 通过OHNativeWindow将之前申请出来的OHNativeWindowBuffer返还到Buffer队列中,供下次再申请 |
63| [OH_NativeWindow_NativeWindowHandleOpt](#oh_nativewindow_nativewindowhandleopt) (OHNativeWindow \*window, int code,...) | 设置/获取OHNativeWindow的属性,包括设置/获取宽高、内容格式等 |
64| [OH_NativeWindow_GetBufferHandleFromNative](#oh_nativewindow_getbufferhandlefromnative) (OHNativeWindowBuffer \*buffer) | 通过OHNativeWindowBuffer获取该buffer的BufferHandle指针 |
65| [OH_NativeWindow_NativeObjectReference](#oh_nativewindow_nativeobjectreference) (void \*obj) | 增加一个NativeObject的引用计数 |
66| [OH_NativeWindow_NativeObjectUnreference](#oh_nativewindow_nativeobjectunreference) (void \*obj) | 减少一个NativeObject的引用计数,当引用计数减少为0时,该NativeObject将被析构掉 |
67| [OH_NativeWindow_GetNativeObjectMagic](#oh_nativewindow_getnativeobjectmagic) (void \*obj) | 获取NativeObject的MagicId |
68| [OH_NativeWindow_NativeWindowSetScalingMode](#oh_nativewindow_nativewindowsetscalingmode) (OHNativeWindow \*window, uint32_t sequence, OHScalingMode scalingMode) | 设置OHNativeWindow的ScalingMode |
69| [OH_NativeWindow_NativeWindowSetMetaData](#oh_nativewindow_nativewindowsetmetadata) (OHNativeWindow \*window, uint32_t sequence, int32_t size, const OHHDRMetaData \*metaData) | 设置OHNativeWindow的元数据 |
70| [OH_NativeWindow_NativeWindowSetMetaDataSet](#oh_nativewindow_nativewindowsetmetadataset) (OHNativeWindow*window, uint32_t sequence, OHHDRMetadataKey key, int32_t size, const uint8_t \*metaData) | 设置OHNativeWindow的元数据集。 |
71| [OH_NativeWindow_NativeWindowSetTunnelHandle](#oh_nativewindow_nativewindowsettunnelhandle) (OHNativeWindow \*window, const OHExtDataHandle \*handle) | 设置OHNativeWindow的TunnelHandle。 |
72
73
74## 类型定义说明
75
76
77### OHNativeWindow
78
79
80```
81typedef struct NativeWindow OHNativeWindow
82```
83
84**描述:**
85
86提供对OHNativeWindow的访问功能
87
88
89### OHNativeWindowBuffer
90
91
92```
93typedef struct NativeWindowBuffer OHNativeWindowBuffer
94```
95
96**描述:**
97
98提供对OHNativeWindowBuffer的访问功能
99
100
101### Region
102
103
104```
105typedef struct Region Region
106```
107
108**描述:**
109
110表示本地窗口OHNativeWindow需要更新内容的矩形区域(脏区)
111
112
113## 枚举类型说明
114
115
116### NativeWindowOperation
117
118
119```
120enum NativeWindowOperation
121```
122
123**描述:**
124
125OH_NativeWindow_NativeWindowHandleOpt函数中的操作码
126
127| 枚举值 | 描述 |
128| -------- | -------- |
129| SET_BUFFER_GEOMETRY | 设置本地窗口缓冲区几何图形, 函数中的可变参数是 [输入] int32_t height,[输入] int32_t width。 |
130| GET_BUFFER_GEOMETRY | 获取本地窗口缓冲区几何图形, 函数中的可变参数是 [输出] int32_t \*height, [输出] int32_t \*width。 |
131| GET_FORMAT | 获取本地窗口缓冲区格式, 函数中的可变参数是 [输出] int32_t \*format。 |
132| SET_FORMAT | 设置本地窗口缓冲区格式, 函数中的可变参数是 [输入] int32_t format。 |
133| GET_USAGE | 获取本地窗口读写方式, 函数中的可变参数是 [输出] int32_t \*usage。 |
134| SET_USAGE | 设置本地窗口缓冲区读写方式, 函数中的可变参数是 [输入] int32_t usage。 |
135| SET_STRIDE | 设置本地窗口缓冲区步幅, 函数中的可变参数是 [输入] int32_t stride。 |
136| GET_STRIDE | 获取本地窗口缓冲区步幅, 函数中的可变参数是 [输出] int32_t \*stride。 |
137| SET_SWAP_INTERVAL | 设置本地窗口缓冲区交换间隔, 函数中的可变参数是 [输入] int32_t interval。 |
138| GET_SWAP_INTERVAL | 获取本地窗口缓冲区交换间隔, 函数中的可变参数是 [输出] int32_t \*interval。 |
139| SET_TIMEOUT | 设置请求本地窗口缓冲区的超时等待时间, 函数中的可变参数是 [输入] int32_t timeout。 |
140| GET_TIMEOUT | 获取请求本地窗口缓冲区的超时等待时间, 函数中的可变参数是 [输出] int32_t \*timeout。 |
141| SET_COLOR_GAMUT | 设置本地窗口缓冲区色彩空间, 函数中的可变参数是 [输入] int32_t colorGamut。 |
142| GET_COLOR_GAMUT | 获取本地窗口缓冲区色彩空间, 函数中的可变参数是 [out int32_t \*colorGamut]。 |
143| SET_TRANSFORM | 设置本地窗口缓冲区变换, 函数中的可变参数是 [输入] int32_t transform。 |
144| GET_TRANSFORM | 获取本地窗口缓冲区变换, 函数中的可变参数是 [输出] int32_t \*transform。 |
145| SET_UI_TIMESTAMP | 设置本地窗口缓冲区UI时间戳, 函数中的可变参数是 [输入] uint64_t uiTimestamp。 |
146
147
148### OHHDRMetadataKey
149
150
151```
152enum OHHDRMetadataKey
153```
154
155**描述:**
156
157枚举HDR元数据关键字
158
159**起始版本:**
160
1619
162
163
164| 枚举值 | 描述 |
165| -------- | -------- |
166| OH_METAKEY_RED_PRIMARY_X | 红基色X坐标 |
167| OH_METAKEY_RED_PRIMARY_Y | 红基色Y坐标 |
168| OH_METAKEY_GREEN_PRIMARY_X | 绿基色X坐标 |
169| OH_METAKEY_GREEN_PRIMARY_Y | 绿基色Y坐标 |
170| OH_METAKEY_BLUE_PRIMARY_X | 蓝基色X坐标 |
171| OH_METAKEY_BLUE_PRIMARY_Y | 蓝基色Y坐标 |
172| OH_METAKEY_WHITE_PRIMARY_X | 白点X坐标 |
173| OH_METAKEY_WHITE_PRIMARY_Y | 白点Y坐标 |
174| OH_METAKEY_MAX_LUMINANCE | 最大的光亮度 |
175| OH_METAKEY_MIN_LUMINANCE | 最小的光亮度 |
176| OH_METAKEY_MAX_CONTENT_LIGHT_LEVEL | 最大的内容亮度水平 |
177| OH_METAKEY_MAX_FRAME_AVERAGE_LIGHT_LEVEL | 最大的帧平均亮度水平 |
178| OH_METAKEY_HDR10_PLUS | HDR10 Plus |
179| OH_METAKEY_HDR_VIVID | Vivid |
180
181
182### OHScalingMode
183
184
185```
186enum OHScalingMode
187```
188
189**描述:**
190
191缩放模式 Scaling Mode
192
193**起始版本:**
194
1959
196
197
198| 枚举值 | 描述 |
199| -------- | -------- |
200| OH_SCALING_MODE_FREEZE | 在接收到窗口大小的缓冲区之前,不可以更新窗口内容 |
201| OH_SCALING_MODE_SCALE_TO_WINDOW | 缓冲区在二维中缩放以匹配窗口大小 |
202| OH_SCALING_MODE_SCALE_CROP | 缓冲区被统一缩放,使得缓冲区的较小尺寸与窗口大小匹配 |
203| OH_SCALING_MODE_NO_SCALE_CROP | 窗口被裁剪为缓冲区裁剪矩形的大小,裁剪矩形之外的像素被视为完全透明 |
204
205
206## 函数说明
207
208
209### OH_NativeWindow_CreateNativeWindow()
210
211
212```
213OHNativeWindow* OH_NativeWindow_CreateNativeWindow (void * pSurface)
214```
215
216**描述:**
217
218创建OHNativeWindow实例,每次调用都会产生一个新的OHNativeWindow实例
219
220\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
221
222**参数:**
223
224| 名称 | 描述 |
225| -------- | -------- |
226| pSurface | 一个指向生产者ProduceSurface的指针,类型为sptr&lt;OHOS::Surface&gt; |
227
228**返回:**
229
230返回一个指针,指向OHNativeWindow的结构体实例
231
232
233### OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer()
234
235
236```
237OHNativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer (void * pSurfaceBuffer)
238```
239
240**描述:**
241
242创建OHNativeWindowBuffer实例,每次调用都会产生一个新的OHNativeWindowBuffer实例
243
244\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
245
246**参数:**
247
248| 名称 | 描述 |
249| -------- | -------- |
250| pSurfaceBuffer | 一个指向生产者buffer的指针,类型为sptr&lt;OHOS::SurfaceBuffer&gt; |
251
252**返回:**
253
254返回一个指针,指向OHNativeWindowBuffer的结构体实例
255
256
257### OH_NativeWindow_DestroyNativeWindow()
258
259
260```
261void OH_NativeWindow_DestroyNativeWindow (OHNativeWindow *  window)
262```
263
264**描述:**
265
266将OHNativeWindow对象的引用计数减1,当引用计数为0的时候,该OHNativeWindow对象会被析构掉
267
268\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
269
270**参数:**
271
272| 名称 | 描述 |
273| -------- | -------- |
274| window | 一个OHNativeWindow的结构体实例的指针 |
275
276
277### OH_NativeWindow_DestroyNativeWindowBuffer()
278
279
280```
281void OH_NativeWindow_DestroyNativeWindowBuffer (OHNativeWindowBuffer *  buffer)
282```
283
284**描述:**
285
286将OHNativeWindowBuffer对象的引用计数减1,当引用计数为0的时候,该OHNativeWindowBuffer对象会被析构掉
287
288\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
289
290**参数:**
291
292| 名称 | 描述 |
293| -------- | -------- |
294| buffer | 一个OHNativeWindowBuffer的结构体实例的指针 |
295
296
297### OH_NativeWindow_GetBufferHandleFromNative()
298
299
300```
301BufferHandle* OH_NativeWindow_GetBufferHandleFromNative (OHNativeWindowBuffer *  buffer)
302```
303
304**描述:**
305
306通过OHNativeWindowBuffer获取该buffer的BufferHandle指针
307
308\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
309
310**参数:**
311
312| 名称 | 描述 |
313| -------- | -------- |
314| buffer | 一个OHNativeWindowBuffer的结构体实例的指针 |
315
316**返回:**
317
318BufferHandle 返回一个指针,指向BufferHandle的结构体实例
319
320
321### OH_NativeWindow_GetNativeObjectMagic()
322
323
324```
325int32_t OH_NativeWindow_GetNativeObjectMagic (void * obj)
326```
327
328**描述:**
329
330获取NativeObject的MagicId
331
332\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
333
334**参数:**
335
336| 名称 | 描述 |
337| -------- | -------- |
338| obj | 一个OHNativeWindow或者OHNativeWindowBuffer的结构体实例的指针 |
339
340**返回:**
341
342MagicId 返回值为魔鬼数字,每个NativeObject唯一
343
344
345### OH_NativeWindow_NativeObjectReference()
346
347
348```
349int32_t OH_NativeWindow_NativeObjectReference (void * obj)
350```
351
352**描述:**
353
354增加一个NativeObject的引用计数
355
356\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
357
358**参数:**
359
360| 名称 | 描述 |
361| -------- | -------- |
362| obj | 一个OHNativeWindow或者OHNativeWindowBuffer的结构体实例的指针 |
363
364**返回:**
365
366返回值为0表示执行成功
367
368
369### OH_NativeWindow_NativeObjectUnreference()
370
371
372```
373int32_t OH_NativeWindow_NativeObjectUnreference (void * obj)
374```
375
376**描述:**
377
378减少一个NativeObject的引用计数,当引用计数减少为0时,该NativeObject将被析构掉
379
380\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
381
382**参数:**
383
384| 名称 | 描述 |
385| -------- | -------- |
386| obj | 一个OHNativeWindow或者OHNativeWindowBuffer的结构体实例的指针 |
387
388**返回:**
389
390返回值为0表示执行成功
391
392
393### OH_NativeWindow_NativeWindowAbortBuffer()
394
395
396```
397int32_t OH_NativeWindow_NativeWindowAbortBuffer (OHNativeWindow *  window, OHNativeWindowBuffer *  buffer )
398```
399
400**描述:**
401
402通过OHNativeWindow将之前申请出来的OHNativeWindowBuffer返还到Buffer队列中,供下次再申请
403
404\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
405
406**参数:**
407
408| 名称 | 描述 |
409| -------- | -------- |
410| window | 一个OHNativeWindow的结构体实例的指针 |
411| buffer | 一个OHNativeWindowBuffer的结构体实例的指针 |
412
413**返回:**
414
415返回值为0表示执行成功
416
417
418### OH_NativeWindow_NativeWindowFlushBuffer()
419
420
421```
422int32_t OH_NativeWindow_NativeWindowFlushBuffer (OHNativeWindow *  window, OHNativeWindowBuffer *  buffer, int fenceFd, Region region )
423```
424
425**描述:**
426
427通过OHNativeWindow将生产好内容的OHNativeWindowBuffer放回到Buffer队列中,用以内容消费
428
429\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
430
431**参数:**
432
433| 名称 | 描述 |
434| -------- | -------- |
435| window | 一个OHNativeWindow的结构体实例的指针 |
436| buffer | 一个OHNativeWindowBuffer的结构体实例的指针 |
437| fenceFd | 一个文件描述符句柄,用以同步时序 |
438| region | 表示一块脏区域,该区域有内容更新 |
439
440**返回:**
441
442返回值为0表示执行成功
443
444
445### OH_NativeWindow_NativeWindowHandleOpt()
446
447
448```
449int32_t OH_NativeWindow_NativeWindowHandleOpt (OHNativeWindow *  window, int code,  ... )
450```
451
452**描述:**
453
454设置/获取OHNativeWindow的属性,包括设置/获取宽高、内容格式等
455
456\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
457
458**参数:**
459
460| 名称 | 描述 |
461| -------- | -------- |
462| window | 一个OHNativeWindow的结构体实例的指针 |
463| code | 表示操作码,详见[NativeWindowOperation](#nativewindowoperation) |
464| ... | 可变参数,必须与操作码一一对应 |
465
466**返回:**
467
468返回值为0表示执行成功
469
470
471### OH_NativeWindow_NativeWindowRequestBuffer()
472
473
474```
475int32_t OH_NativeWindow_NativeWindowRequestBuffer (OHNativeWindow *  window, OHNativeWindowBuffer **  buffer, int * fenceFd )
476```
477
478**描述:**
479
480通过OHNativeWindow对象申请一块OHNativeWindowBuffer,用以内容生产
481
482\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
483
484**参数:**
485
486| 名称 | 描述 |
487| -------- | -------- |
488| window | 一个OHNativeWindow的结构体实例的指针 |
489| buffer | 一个OHNativeWindowBuffer的结构体实例的二级指针 |
490| fenceFd | 一个文件描述符句柄 |
491
492**返回:**
493
494返回值为0表示执行成功
495
496
497### OH_NativeWindow_NativeWindowSetMetaData()
498
499
500```
501int32_t OH_NativeWindow_NativeWindowSetMetaData (OHNativeWindow *  window, uint32_t sequence, int32_t size, const OHHDRMetaData *  metaData )
502```
503
504**描述:**
505
506设置OHNativeWindow的元数据
507
508\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
509
510**参数:**
511
512| 名称 | 描述 |
513| -------- | -------- |
514| window | 一个OHNativeWindow的结构体实例的指针 |
515| sequence | 生产缓冲区的序列 |
516| size | OHHDRMetaData数组的大小 |
517| metaDate | 指向OHHDRMetaData数组的指针 |
518
519**返回:**
520
521返回值为0表示执行成功
522
523**起始版本:**
524
5259
526
527
528
529### OH_NativeWindow_NativeWindowSetMetaDataSet()
530
531
532```
533int32_t OH_NativeWindow_NativeWindowSetMetaDataSet (OHNativeWindow *  window, uint32_t sequence, OHHDRMetadataKey key, int32_t size, const uint8_t * metaData )
534```
535
536**描述:**
537
538设置OHNativeWindow的元数据集。
539
540\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
541
542**参数:**
543
544| 名称 | 描述 |
545| -------- | -------- |
546| window | 一个OHNativeWindow的结构体实例的指针。 |
547| sequence | 生产缓冲区的序列。 |
548| key | 枚举值OHHDRMetadataKey |
549| size | uint8_t向量的大小 |
550| metaDate | 指向uint8_t向量的指针 |
551
552**返回:**
553
554返回值为0表示执行成功
555
556**起始版本:**
557
5589
559
560
561
562### OH_NativeWindow_NativeWindowSetScalingMode()
563
564
565```
566int32_t OH_NativeWindow_NativeWindowSetScalingMode (OHNativeWindow *  window, uint32_t sequence, OHScalingMode scalingMode )
567```
568
569**描述:**
570
571设置OHNativeWindow的ScalingMode
572
573\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
574
575**参数:**
576
577| 名称 | 描述 |
578| -------- | -------- |
579| window | 一个OHNativeWindow的结构体实例的指针 |
580| sequence | 生产缓冲区的序列 |
581| scalingMode | 枚举值OHScalingMode |
582
583**返回:**
584
585返回值为0表示执行成功
586
587**起始版本:**
588
5899
590
591
592### OH_NativeWindow_NativeWindowSetTunnelHandle()
593
594
595```
596int32_t OH_NativeWindow_NativeWindowSetTunnelHandle (OHNativeWindow *  window, const OHExtDataHandle *  handle )
597```
598
599**描述:**
600
601设置OHNativeWindow的TunnelHandle。
602
603\@syscap SystemCapability.Graphic.Graphic2D.NativeWindow
604
605**参数:**
606
607| 名称 | 描述 |
608| -------- | -------- |
609| window | 一个OHNativeWindow的结构体实例的指针 |
610| handle | 指向OHExtDataHandle的指针 |
611
612**返回:**
613
614返回值为0表示执行成功
615
616**起始版本:**
617
6189
619
620