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) | 初始化参数集。 | 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) | 添加参数到参数集里面。 | 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) | 构造正式的参数集。 | 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 38 39## 函数说明 40 41 42### OH_Huks_AddParams() 43 44``` 45struct OH_Huks_Result OH_Huks_AddParams (struct OH_Huks_ParamSet * paramSet, const struct OH_Huks_Param * params, uint32_t paramCnt ) 46``` 47**描述** 48添加参数到参数集里面。 49 50**起始版本:** 9 51 52**参数:** 53 54| 名称 | 描述 | 55| -------- | -------- | 56| paramSet | 指向要被添加参数的参数集的指针。 | 57| params | 指向要添加的参数数组的指针。 | 58| paramCnt | 待添加参数数组的参数个数。 | 59 60**返回:** 61 62返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示添加成功,其他时为错误。 63 64 65### OH_Huks_BuildParamSet() 66 67``` 68struct OH_Huks_Result OH_Huks_BuildParamSet (struct OH_Huks_ParamSet ** paramSet) 69``` 70**描述** 71构造正式的参数集。 72 73**起始版本:** 9 74 75**参数:** 76 77| 名称 | 描述 | 78| -------- | -------- | 79| paramSet | 指向要被正式构造的参数集的指针地址。 | 80 81**返回:** 82 83返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示构建成功,其他时为错误。 84 85 86### OH_Huks_CheckParamMatch() 87 88``` 89struct OH_Huks_Result OH_Huks_CheckParamMatch (const struct OH_Huks_Param * baseParam, const struct OH_Huks_Param * param ) 90``` 91**描述** 92比较两个参数是否相同 93 94**起始版本:** 9 95 96**参数:** 97 98| 名称 | 描述 | 99| -------- | -------- | 100| baseParam | 指向被比较的参数的指针。 | 101| param | 指向比较的参数的指针。 | 102 103**返回:** 104 105返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示相同,其他时为不同或者错误。 106 107 108### OH_Huks_CopyParamSet() 109 110``` 111struct OH_Huks_Result OH_Huks_CopyParamSet (const struct OH_Huks_ParamSet * fromParamSet, uint32_t fromParamSetSize, struct OH_Huks_ParamSet ** paramSet ) 112``` 113**描述** 114复制参数集(深拷贝)。 115 116**起始版本:** 9 117 118**参数:** 119 120| 名称 | 描述 | 121| -------- | -------- | 122| fromParamSet | 指向要被复制的参数集的指针。 | 123| fromParamSetSize | 被复制的参数集占用内存的大小。 | 124| paramSet | 指向生成新的参数集的指针地址。 | 125 126**返回:** 127 128返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示复制成功,其他时为错误。 129 130 131### OH_Huks_FreeParamSet() 132 133``` 134void OH_Huks_FreeParamSet (struct OH_Huks_ParamSet ** paramSet) 135``` 136**描述** 137销毁参数集。 138 139**起始版本:** 9 140 141**参数:** 142 143| 名称 | 描述 | 144| -------- | -------- | 145| paramSet | 指向要被销毁的参数集的指针地址。 | 146 147 148### OH_Huks_FreshParamSet() 149 150``` 151struct OH_Huks_Result OH_Huks_FreshParamSet (struct OH_Huks_ParamSet * paramSet, bool isCopy ) 152``` 153**描述** 154刷新参数集内**[OH_Huks_Blob](_o_h___huks___blob.md)**类型的数据。 155 156**起始版本:** 9 157 158**参数:** 159 160| 名称 | 描述 | 161| -------- | -------- | 162| paramSet | 指向参数集的指针。 | 163| isCopy | 如果为true,刷新[OH_Huks_Blob](_o_h___huks___blob.md)类型数据的地址并复制到参数集。否则,只会刷新[OH_Huks_Blob](_o_h___huks___blob.md)类型数据的地址。 | 164 165**返回:** 166 167返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示成功,其他时为错误。 168 169 170### OH_Huks_GetParam() 171 172``` 173struct OH_Huks_Result OH_Huks_GetParam (const struct OH_Huks_ParamSet * paramSet, uint32_t tag, struct OH_Huks_Param ** param ) 174``` 175**描述** 176从参数集中获取参数。 177 178**起始版本:** 9 179 180**参数:** 181 182| 名称 | 描述 | 183| -------- | -------- | 184| paramSet | 指向参数集的指针。 | 185| tag | 要获取的对应参数的值。 | 186| param | 指向获取到的参数的指针地址。 | 187 188**返回:** 189 190返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示获取成功,其他时为错误。 191 192 193### OH_Huks_InitParamSet() 194 195``` 196struct OH_Huks_Result OH_Huks_InitParamSet (struct OH_Huks_ParamSet ** paramSet) 197``` 198**描述** 199初始化参数集。 200 201**起始版本:** 9 202 203**参数:** 204 205| 名称 | 描述 | 206| -------- | -------- | 207| paramSet | 指向要初始化的参数集的指针地址。 | 208 209**返回:** 210 211返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示初始化成功,其他时为错误。 212 213 214### OH_Huks_IsParamSetTagValid() 215 216``` 217struct OH_Huks_Result OH_Huks_IsParamSetTagValid (const struct OH_Huks_ParamSet * paramSet) 218``` 219**描述** 220检查参数集中的参数是否有效、是否有重复。 221 222**起始版本:** 9 223 224**参数:** 225 226| 名称 | 描述 | 227| -------- | -------- | 228| paramSet | 指向参数集的指针。 | 229 230**返回:** 231 232返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示有效,其他时为无效或重复的。 233 234 235### OH_Huks_IsParamSetValid() 236 237``` 238struct OH_Huks_Result OH_Huks_IsParamSetValid (const struct OH_Huks_ParamSet * paramSet, uint32_t size ) 239``` 240**描述** 241检查参数集大小是否有效。 242 243**起始版本:** 9 244 245**参数:** 246 247| 名称 | 描述 | 248| -------- | -------- | 249| paramSet | 指向参数集的指针。 | 250| size | 参数集占用的内存大小。 | 251 252**返回:** 253 254返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md#oh_huks_errcode)时表示有效,其他时为无效或者错误。 255