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