1# BufferHandle 2 3 4## 概述 5 6缓冲区句柄,用于对缓冲区的信息传递和获取。句柄包含了缓冲区的文件描述符、尺寸、格式、用途、虚拟地址、共享内存键、物理地址、自定义数据。 7 8**起始版本:** 8 9 10**相关模块:**[NativeWindow](_native_window.md) 11 12 13## 汇总 14 15 16### 成员变量 17 18| 名称 | 描述 | 19| -------- | -------- | 20| int32_t [fd](#fd) | 缓冲区文件描述符, 若不支持则为-1。 | 21| int32_t [width](#width) | 缓冲区内存的宽度,单位为像素。 | 22| int32_t [stride](#stride) | 缓冲区内存的步幅,单位为字节。 | 23| int32_t [height](#height) | 缓冲区内存的高度,单位为像素。 | 24| int32_t [size](#size) | 缓冲区内存的大小,单位为字节。 | 25| int32_t [format](#format) | 缓冲区内存的格式,取值具体可见[OH_NativeBuffer_Format](_o_h___native_buffer.md#oh_nativebuffer_format-1)枚举值。 | 26| uint64_t [usage](#usage) | 缓冲区内存的用途,按位标志位,取值具体可见[OH_NativeBuffer_Usage](_o_h___native_buffer.md#oh_nativebuffer_usage-1)枚举值。 | 27| void \* [virAddr](#viraddr) | 缓冲区内存的虚拟地址。 | 28| int32_t [key](#key) | 缓冲区共享内存键值。 | 29| uint64_t [phyAddr](#phyaddr) | 缓冲区内存的物理地址。 | 30| uint32_t [reserveFds](#reservefds) | 额外数据的文件描述符数量。 | 31| uint32_t [reserveInts](#reserveints) | 额外数据的整型值数量。 | 32| int32_t [reserve](#reserve) [0] | 额外数据。 | 33 34 35## 结构体成员变量说明 36 37 38### fd 39 40``` 41int32_t BufferHandle::fd 42``` 43 44**描述** 45 46缓冲区文件描述符, 若不支持则为-1。 47 48 49### format 50 51``` 52int32_t BufferHandle::format 53``` 54 55**描述** 56 57缓冲区内存的格式,取值具体可见[OH_NativeBuffer_Format](_o_h___native_buffer.md#oh_nativebuffer_format-1)枚举值。 58 59 60### height 61 62``` 63int32_t BufferHandle::height 64``` 65 66**描述** 67 68缓冲区内存的高度,单位为像素。 69 70 71### key 72 73``` 74int32_t BufferHandle::key 75``` 76 77**描述** 78 79缓冲区共享内存键值。 80 81 82### phyAddr 83 84``` 85uint64_t BufferHandle::phyAddr 86``` 87 88**描述** 89 90缓冲区内存的物理地址。 91 92 93### reserve 94 95``` 96int32_t BufferHandle::reserve[0] 97``` 98 99**描述** 100 101额外数据。 102 103 104### reserveFds 105 106``` 107uint32_t BufferHandle::reserveFds 108``` 109 110**描述** 111 112额外数据的文件描述符数量。 113 114 115### reserveInts 116 117``` 118uint32_t BufferHandle::reserveInts 119``` 120 121**描述** 122 123额外数据的整型值数量。 124 125 126### size 127 128``` 129int32_t BufferHandle::size 130``` 131 132**描述** 133 134缓冲区内存的大小,单位为字节。 135 136 137### stride 138 139``` 140int32_t BufferHandle::stride 141``` 142 143**描述** 144 145缓冲区内存的步幅,单位为字节。 146 147 148### usage 149 150``` 151uint64_t BufferHandle::usage 152``` 153 154**描述** 155 156缓冲区内存的用途,按位标志位,取值具体可见[OH_NativeBuffer_Usage](_o_h___native_buffer.md#oh_nativebuffer_usage-1)枚举值。 157 158 159### virAddr 160 161``` 162void* BufferHandle::virAddr 163``` 164 165**描述** 166 167缓冲区内存的虚拟地址。 168 169 170### width 171 172``` 173int32_t BufferHandle::width 174``` 175 176**描述** 177 178缓冲区内存的宽度,单位为像素。 179