1# BASE DDK 2 3 4## 概述 5 6提供基础API,包括创建共享内存、共享内存映射、取消共享内存映射、销毁共享内存。 7 8**系统能力:** SystemCapability.Driver.DDK.Extension 9 10**起始版本:** 11 1212 13 14## 汇总 15 16 17### 文件 18 19| 名称 | 描述 | 20| -------- | -------- | 21| [ddk_api.h](ddk_api.md) | 声明主机侧访问输入设备的HID DDK接口。 <br/>引用文件:<base/ddk_api.h> <br/>库: libddk_base.z.so | 22| [ddk_types.h](ddk_types.md) | 提供HID DDK中的枚举变量与结构体定义。<br/>引用文件:<base/ddk_types.h> <br/>库: libddk_base.z.so | 23 24 25### 结构体 26 27| 名称 | 描述 | 28| -------- | -------- | 29| [DDK_Ashmem](_ddk_ashmem.md) | 共享内存。 | 30 31 32### 枚举 33 34| 名称 | 描述 | 35| -------- | -------- | 36| [DDK_RetCode](#ddk_retcode) | BASE DDK 错误码定义。 | 37 38 39### 函数 40 41| 名称 | 描述 | 42| -------- | -------- | 43| [OH_DDK_CreateAshmem](#oh_ddk_createashmem) (const uint8_t *name, [DDK_Ashmem](_ddk_ashmem.md) \*\*ashmem) | 创建共享内存。 | 44| [OH_DDK_MapAshmem](#oh_ddk_mapashmem) ([DDK_Ashmem](_ddk_ashmem.md) \*ashmem, const uint8_t ashmemMapType) | 共享内存映射。 | 45| [OH_DDK_UnmapAshmem](#oh_ddk_unmapashmem) ([DDK_Ashmem](_ddk_ashmem.md) \*ashmem) | 取消共享内存映射。 | 46| [OH_DDK_DestoryAshmem](#oh_ddk_destoryashmem) ([DDK_Ashmem](_ddk_ashmem.md) \*ashmem) | 销毁共享内存。 | 47 48 49## 枚举类型说明 50 51 52### DDK_RetCode 53 54 55``` 56enum DDK_RetCode 57``` 58 59**描述:** 60 61BASE DDK 错误码定义。 62 63| 枚举值 | 描述 | 64| -------- | -------- | 65| DDK_SUCCESS | 操作成功。 | 66| DDK_FAILED | 操作失败。 | 67| DDK_INVALID_PARAMETER | 非法参数。 | 68| DDK_INVALID_OPERATION | 非法操作。 | 69| DDK_NULL_PTR | 空指针异常。 | 70 71 72## 函数说明 73 74 75### OH_DDK_CreateAshmem() 76 77 78``` 79DDK_RetCode OH_DDK_CreateAshmem(const uint8_t *name, uint32_t size, DDK_Ashmem **ashmem); 80``` 81 82**描述:** 83 84创建共享内存。 85 86**参数:** 87 88| 名称 | 描述 | 89| -------- | -------- | 90| name | 指向要创建的共享内存的指针。 | 91| size | 共享内存对应的缓冲区大小。 | 92| ashmem | 指向创建的共享内存的指针。 | 93 94**返回:** 95 96成功返回0,否则返回负数。 97 98 99### OH_DDK_MapAshmem() 100 101 102``` 103DDK_RetCode OH_DDK_MapAshmem(DDK_Ashmem *ashmem, const uint8_t ashmemMapType); 104``` 105 106**描述:** 107 108映射共享内存。 109 110**参数:** 111 112| 名称 | 描述 | 113| -------- | -------- | 114| ashmem | 要映射的共享内存指针。 | 115| ashmemMapType | 共享内存的保护权限值。 | 116 117**返回:** 118 119成功返回0,否则返回负数。 120 121 122### OH_DDK_UnmapAshmem() 123 124 125``` 126DDK_RetCode OH_DDK_UnmapAshmem(DDK_Ashmem *ashmem); 127``` 128 129**描述:** 130 131取消共享内存的映射。 132 133**参数:** 134 135| 名称 | 描述 | 136| -------- | -------- | 137| ashmem | 要取消映射的共享内存指针。 | 138 139**返回:** 140 141成功返回0,否则返回负数。 142 143 144### OH_DDK_DestoryAshmem() 145 146 147``` 148DDK_RetCode OH_DDK_DestroyAshmem(DDK_Ashmem *ashmem); 149``` 150 151**描述:** 152 153销毁创建的共享内存。 154 155**参数:** 156 157| 名称 | 描述 | 158| -------- | -------- | 159| ashmem | 要销毁的共享内存指针。 | 160 161**返回:** 162 163成功返回0,否则返回负数。