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