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