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