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