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/>引用文件:&lt;base/ddk_api.h&gt; <br/>库: libddk_base.z.so | 
22e41f4b71Sopenharmony_ci| [ddk_types.h](ddk_types.md) | 提供HID DDK中的枚举变量与结构体定义。<br/>引用文件:&lt;base/ddk_types.h&gt; <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,否则返回负数。