1# HuksParamSetApi
2
3
4## 概述
5
6描述HUKS参数集的能力,支持HUKS密钥管理接口的使用,包括初始化参数集、添加参数、构造参数集、释放参数集等HUKS参数集生命周期管理函数, 还包括获取参数、复制参数集、查询参数集、检查是否有效等函数。
7
8**系统能力:** SystemCapability.Security.Huks
9
10**起始版本:** 9
11
12
13## 汇总
14
15
16### 文件
17
18| 名称 | 描述 |
19| -------- | -------- |
20| [native_huks_param.h](native__huks__param_8h.md) | 提供参数集构造、使用和销毁的API。  |
21
22
23### 函数
24
25| 名称 | 描述 |
26| -------- | -------- |
27| struct [OH_Huks_Result](_o_h___huks___result.md) [OH_Huks_InitParamSet](#oh_huks_initparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | 初始化参数集。给paramSet预分配内存。  |
28| struct [OH_Huks_Result](_o_h___huks___result.md) [OH_Huks_AddParams](#oh_huks_addparams) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Param](_o_h___huks___param.md) \*params, uint32_t paramCnt) | 添加参数到参数集里面。需要先调用OH_Huks_InitParamSet对paramSet进行初始化  |
29| struct [OH_Huks_Result](_o_h___huks___result.md) [OH_Huks_BuildParamSet](#oh_huks_buildparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | 构造正式的参数集。往paramSet中添加完参数之后,需要调用OH_Huks_BuildParamSet整合参数集。  |
30| void [OH_Huks_FreeParamSet](#oh_huks_freeparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | 销毁参数集。  |
31| struct [OH_Huks_Result](_o_h___huks___result.md) [OH_Huks_CopyParamSet](#oh_huks_copyparamset) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*fromParamSet, uint32_t fromParamSetSize, struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | 复制参数集(深拷贝)。  |
32| struct [OH_Huks_Result](_o_h___huks___result.md) [OH_Huks_GetParam](#oh_huks_getparam) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, uint32_t tag, struct [OH_Huks_Param](_o_h___huks___param.md) \*\*param) | 从参数集中获取参数。  |
33| struct [OH_Huks_Result](_o_h___huks___result.md) [OH_Huks_FreshParamSet](#oh_huks_freshparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, bool isCopy) | 刷新参数集内[OH_Huks_Blob](_o_h___huks___blob.md)类型的数据。  |
34| struct [OH_Huks_Result](_o_h___huks___result.md) [OH_Huks_IsParamSetTagValid](#oh_huks_isparamsettagvalid) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | 检查参数集中的参数是否有效、是否有重复。  |
35| struct [OH_Huks_Result](_o_h___huks___result.md) [OH_Huks_IsParamSetValid](#oh_huks_isparamsetvalid) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, uint32_t size) | 检查参数集大小是否有效。  |
36| struct [OH_Huks_Result](_o_h___huks___result.md) [OH_Huks_CheckParamMatch](#oh_huks_checkparammatch) (const struct [OH_Huks_Param](_o_h___huks___param.md) \*baseParam, const struct [OH_Huks_Param](_o_h___huks___param.md) \*param) | 比较两个参数是否相同。 |
37| void [OH_Huks_FreeKeyAliasSet](#oh_huks_freekeyaliasset) (struct [OH_Huks_KeyAliasSet](_o_h___huks___key_alias_set.md) \*keyAliasSet) | 销毁参数集。  |
38
39
40## 函数说明
41
42
43### OH_Huks_AddParams()
44
45```
46struct OH_Huks_Result OH_Huks_AddParams (struct OH_Huks_ParamSet * paramSet, const struct OH_Huks_Param * params, uint32_t paramCnt )
47```
48**描述**
49添加参数到参数集里面。
50
51**起始版本:** 9
52
53**参数:**
54
55| 名称 | 描述 |
56| -------- | -------- |
57| paramSet | 指向要被添加参数的参数集的指针。  |
58| params | 指向要添加的参数数组的指针。  |
59| paramCnt | 待添加参数数组的参数个数。  |
60
61**返回:**
62
63返回[OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示添加成功,其他时为错误。
64
65
66### OH_Huks_BuildParamSet()
67
68```
69struct OH_Huks_Result OH_Huks_BuildParamSet (struct OH_Huks_ParamSet ** paramSet)
70```
71**描述**
72构造正式的参数集。
73
74**起始版本:** 9
75
76**参数:**
77
78| 名称 | 描述 |
79| -------- | -------- |
80| paramSet | 指向要被正式构造的参数集的指针地址。  |
81
82**返回:**
83
84返回[OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示构建成功,其他时为错误。
85
86
87### OH_Huks_CheckParamMatch()
88
89```
90struct OH_Huks_Result OH_Huks_CheckParamMatch (const struct OH_Huks_Param * baseParam, const struct OH_Huks_Param * param )
91```
92**描述**
93比较两个参数是否相同
94
95**起始版本:** 9
96
97**参数:**
98
99| 名称 | 描述 |
100| -------- | -------- |
101| baseParam | 指向被比较的参数的指针。  |
102| param | 指向比较的参数的指针。  |
103
104**返回:**
105
106返回[OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示相同,其他时为不同或者错误。
107
108
109### OH_Huks_CopyParamSet()
110
111```
112struct OH_Huks_Result OH_Huks_CopyParamSet (const struct OH_Huks_ParamSet * fromParamSet, uint32_t fromParamSetSize, struct OH_Huks_ParamSet ** paramSet )
113```
114**描述**
115复制参数集(深拷贝)。
116
117**起始版本:** 9
118
119**参数:**
120
121| 名称 | 描述 |
122| -------- | -------- |
123| fromParamSet | 指向要被复制的参数集的指针。  |
124| fromParamSetSize | 被复制的参数集占用内存的大小。  |
125| paramSet | 指向生成新的参数集的指针地址。  |
126
127**返回:**
128
129返回[OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示复制成功,其他时为错误。
130
131
132### OH_Huks_FreeKeyAliasSet()
133
134```
135void OH_Huks_FreeKeyAliasSet (struct OH_Huks_KeyAliasSet * keyAliasSet)
136```
137**描述**
138销毁参数集。
139
140**起始版本:** 12
141
142**参数:**
143
144| 名称 | 描述 |
145| -------- | -------- |
146| keyAliasSet | 指向要被销毁的参数集的指针地址。  |
147
148
149### OH_Huks_FreeParamSet()
150
151```
152void OH_Huks_FreeParamSet (struct OH_Huks_ParamSet ** paramSet)
153```
154**描述**
155销毁参数集。
156
157**起始版本:** 9
158
159**参数:**
160
161| 名称 | 描述 |
162| -------- | -------- |
163| paramSet | 指向要被销毁的参数集的指针地址。  |
164
165
166### OH_Huks_FreshParamSet()
167
168```
169struct OH_Huks_Result OH_Huks_FreshParamSet (struct OH_Huks_ParamSet * paramSet, bool isCopy )
170```
171**描述**
172刷新参数集内**[OH_Huks_Blob](_o_h___huks___blob.md)**类型的数据。
173
174**起始版本:** 9
175
176**参数:**
177
178| 名称 | 描述 |
179| -------- | -------- |
180| paramSet | 指向参数集的指针。  |
181| isCopy | 如果为true,刷新[OH_Huks_Blob](_o_h___huks___blob.md)类型数据的地址并复制到参数集。否则,只会刷新[OH_Huks_Blob](_o_h___huks___blob.md)类型数据的地址。  |
182
183**返回:**
184
185返回[OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示成功,其他时为错误。
186
187
188### OH_Huks_GetParam()
189
190```
191struct OH_Huks_Result OH_Huks_GetParam (const struct OH_Huks_ParamSet * paramSet, uint32_t tag, struct OH_Huks_Param ** param )
192```
193**描述**
194从参数集中获取参数。
195
196**起始版本:** 9
197
198**参数:**
199
200| 名称 | 描述 |
201| -------- | -------- |
202| paramSet | 指向参数集的指针。  |
203| tag | 要获取的对应参数的值。  |
204| param | 指向获取到的参数的指针地址。  |
205
206**返回:**
207
208返回[OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示获取成功,其他时为错误。
209
210
211### OH_Huks_InitParamSet()
212
213```
214struct OH_Huks_Result OH_Huks_InitParamSet (struct OH_Huks_ParamSet ** paramSet)
215```
216**描述**
217初始化参数集。
218
219**起始版本:** 9
220
221**参数:**
222
223| 名称 | 描述 |
224| -------- | -------- |
225| paramSet | 指向要初始化的参数集的指针地址。  |
226
227**返回:**
228
229返回[OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示初始化成功,其他时为错误。
230
231
232### OH_Huks_IsParamSetTagValid()
233
234```
235struct OH_Huks_Result OH_Huks_IsParamSetTagValid (const struct OH_Huks_ParamSet * paramSet)
236```
237**描述**
238检查参数集中的参数是否有效、是否有重复。
239
240**起始版本:** 9
241
242**参数:**
243
244| 名称 | 描述 |
245| -------- | -------- |
246| paramSet | 指向参数集的指针。  |
247
248**返回:**
249
250返回[OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示有效,其他时为无效或重复的。
251
252
253### OH_Huks_IsParamSetValid()
254
255```
256struct OH_Huks_Result OH_Huks_IsParamSetValid (const struct OH_Huks_ParamSet * paramSet, uint32_t size )
257```
258**描述**
259检查参数集大小是否有效。
260
261**起始版本:** 9
262
263**参数:**
264
265| 名称 | 描述 |
266| -------- | -------- |
267| paramSet | 指向参数集的指针。  |
268| size | 参数集占用的内存大小。  |
269
270**返回:**
271
272返回[OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示有效,其他时为无效或者错误。
273