1# native_huks_param.h 2 3<!--Kit: Universal Keystore Kit--> 4<!--Subsystem: Security--> 5<!--Owner: @wutiantian-gitee--> 6<!--Designer: @HighLowWorld--> 7<!--Tester: @wxy1234564846--> 8<!--Adviser: @zengyawen--> 9 10## 概述 11 12提供参数集构造、使用和销毁的API。 13 14**引用文件:** <huks/native_huks_param.h> 15 16**库:** libhuks_ndk.z.so 17 18**系统能力:** SystemCapability.Security.Huks.Core 19 20在API 9-19,系统能力为SystemCapability.Security.Huks;从API 20起,系统能力变更为SystemCapability.Security.Huks.Core 21 22**起始版本:** 9 23 24**相关模块:** [HuksParamSetApi](capi-huksparamsetapi.md) 25 26## 汇总 27 28### 函数 29 30| 名称 | 描述 | 31| -- | -- | 32| [struct OH_Huks_Result OH_Huks_InitParamSet(struct OH_Huks_ParamSet **paramSet)](#oh_huks_initparamset) | 初始化参数集。 | 33| [struct OH_Huks_Result OH_Huks_AddParams(struct OH_Huks_ParamSet *paramSet, const struct OH_Huks_Param *params, uint32_t paramCnt)](#oh_huks_addparams) | 添加参数到参数集里面。 | 34| [struct OH_Huks_Result OH_Huks_BuildParamSet(struct OH_Huks_ParamSet **paramSet)](#oh_huks_buildparamset) | 构造参数集。 | 35| [void OH_Huks_FreeParamSet(struct OH_Huks_ParamSet **paramSet)](#oh_huks_freeparamset) | 销毁参数集。 | 36| [struct OH_Huks_Result OH_Huks_CopyParamSet(const struct OH_Huks_ParamSet *fromParamSet, uint32_t fromParamSetSize, struct OH_Huks_ParamSet **paramSet)](#oh_huks_copyparamset) | 复制参数集(深拷贝)。 | 37| [struct OH_Huks_Result OH_Huks_GetParam(const struct OH_Huks_ParamSet *paramSet, uint32_t tag, struct OH_Huks_Param **param)](#oh_huks_getparam) | 从参数集中获取参数。 | 38| [struct OH_Huks_Result OH_Huks_FreshParamSet(struct OH_Huks_ParamSet *paramSet, bool isCopy)](#oh_huks_freshparamset) | 刷新参数集内[OH_Huks_Blob](capi-hukstypeapi-oh-huks-blob.md)类型的数据。 | 39| [struct OH_Huks_Result OH_Huks_IsParamSetTagValid(const struct OH_Huks_ParamSet *paramSet)](#oh_huks_isparamsettagvalid) | 检查参数集中的参数是否有效、是否有重复。 | 40| [struct OH_Huks_Result OH_Huks_IsParamSetValid(const struct OH_Huks_ParamSet *paramSet, uint32_t size)](#oh_huks_isparamsetvalid) | 检查参数集大小是否有效。 | 41| [struct OH_Huks_Result OH_Huks_CheckParamMatch(const struct OH_Huks_Param *baseParam, const struct OH_Huks_Param *param)](#oh_huks_checkparammatch) | 比较两个参数是否相同。 | 42| [void OH_Huks_FreeKeyAliasSet(struct OH_Huks_KeyAliasSet *keyAliasSet)](#oh_huks_freekeyaliasset) | 销毁参数集。 | 43 44## 函数说明 45 46### OH_Huks_InitParamSet() 47 48``` 49struct OH_Huks_Result OH_Huks_InitParamSet(struct OH_Huks_ParamSet **paramSet) 50``` 51 52**描述** 53 54初始化参数集。 55 56**起始版本:** 9 57 58 59**参数:** 60 61| 参数项 | 描述 | 62| -- | -- | 63| [struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) **paramSet | 指向要初始化的参数集的指针地址。 | 64 65**返回:** 66 67| 类型 | 说明 | 68| -- | -- | 69| [struct OH_Huks_Result](capi-hukstypeapi-oh-huks-result.md) | 可能的返回码(errorCode):<br> OH_HUKS_SUCCESS = 0 :初始化操作成功。<br> OH_HUKS_ERR_CODE_INSUFFICIENT_MEMORY = 12000014 :内存不足。<br> OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401 :参数paramSet无效。 | 70 71### OH_Huks_AddParams() 72 73``` 74struct OH_Huks_Result OH_Huks_AddParams(struct OH_Huks_ParamSet *paramSet,const struct OH_Huks_Param *params, uint32_t paramCnt) 75``` 76 77**描述** 78 79添加参数到参数集里面。 80 81**起始版本:** 9 82 83 84**参数:** 85 86| 参数项 | 描述 | 87| -- | -- | 88| [struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) *paramSet | 指向要被添加参数的参数集的指针。 | 89| [const struct OH_Huks_Param](capi-hukstypeapi-oh-huks-param.md) *params | 指向要添加的参数数组的指针。 | 90| uint32_t paramCnt | 待添加参数数组的参数个数。 | 91 92**返回:** 93 94| 类型 | 说明 | 95| -- | -- | 96| [struct OH_Huks_Result](capi-hukstypeapi-oh-huks-result.md) | 可能的返回码(errorCode):<br> OH_HUKS_SUCCESS = 0 :操作成功。<br> OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401 :params为null或者paramSet无效。 | 97 98### OH_Huks_BuildParamSet() 99 100``` 101struct OH_Huks_Result OH_Huks_BuildParamSet(struct OH_Huks_ParamSet **paramSet) 102``` 103 104**描述** 105 106构造参数集。 107 108**起始版本:** 9 109 110 111**参数:** 112 113| 参数项 | 描述 | 114| -- | -- | 115| [struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) **paramSet | 指向要被正式构造的参数集的指针地址。 | 116 117**返回:** 118 119| 类型 | 说明 | 120| -- | -- | 121| [struct OH_Huks_Result](capi-hukstypeapi-oh-huks-result.md) | 可能的返回码(errorCode):<br> OH_HUKS_SUCCESS = 0 :操作成功。<br> OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401 :参数paramSet无效。<br> OH_HUKS_ERR_CODE_INSUFFICIENT_MEMORY = 12000014 :内存不足。 | 122 123### OH_Huks_FreeParamSet() 124 125``` 126void OH_Huks_FreeParamSet(struct OH_Huks_ParamSet **paramSet) 127``` 128 129**描述** 130 131销毁参数集。 132 133**起始版本:** 9 134 135 136**参数:** 137 138| 参数项 | 描述 | 139| -- | -- | 140| [struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) **paramSet | 指向要被销毁的参数集的指针地址。 | 141 142### OH_Huks_CopyParamSet() 143 144``` 145struct OH_Huks_Result OH_Huks_CopyParamSet(const struct OH_Huks_ParamSet *fromParamSet,uint32_t fromParamSetSize, struct OH_Huks_ParamSet **paramSet) 146``` 147 148**描述** 149 150复制参数集(深拷贝)。 151 152**起始版本:** 9 153 154 155**参数:** 156 157| 参数项 | 描述 | 158| -- | -- | 159| [const struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) *fromParamSet | 指向要被复制的参数集的指针。 | 160| uint32_t fromParamSetSize | 被复制的参数集占用内存的大小。 | 161| [struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) **paramSet | 指向生成新的参数集的指针地址。 | 162 163**返回:** 164 165| 类型 | 说明 | 166| -- | -- | 167| [struct OH_Huks_Result](capi-hukstypeapi-oh-huks-result.md) | 可能的返回码(errorCode):<br> OH_HUKS_SUCCESS = 0 :操作成功。<br> OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401 :参数fromParamSet、fromParamSetSize、paramSet有一个无效。<br> OH_HUKS_ERR_CODE_INSUFFICIENT_MEMORY = 12000014 :内存不足。 | 168 169### OH_Huks_GetParam() 170 171``` 172struct OH_Huks_Result OH_Huks_GetParam(const struct OH_Huks_ParamSet *paramSet, uint32_t tag,struct OH_Huks_Param **param) 173``` 174 175**描述** 176 177从参数集中获取参数。 178 179**起始版本:** 9 180 181 182**参数:** 183 184| 参数项 | 描述 | 185| -- | -- | 186| [const struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) *paramSet | 指向参数集的指针。 | 187| uint32_t tag | 要获取的对应参数的值。 | 188| [struct OH_Huks_Param](capi-hukstypeapi-oh-huks-param.md) **param | 指向获取到的参数的指针地址。 | 189 190**返回:** 191 192| 类型 | 说明 | 193| -- | -- | 194| [struct OH_Huks_Result](capi-hukstypeapi-oh-huks-result.md) | 可能的返回码(errorCode):<br> OH_HUKS_SUCCESS = 0 :操作成功。<br> OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401 :参数paramSet或者param无效,或者参数param不在paramSet里面。 | 195 196### OH_Huks_FreshParamSet() 197 198``` 199struct OH_Huks_Result OH_Huks_FreshParamSet(struct OH_Huks_ParamSet *paramSet, bool isCopy) 200``` 201 202**描述** 203 204刷新参数集内[OH_Huks_Blob](capi-hukstypeapi-oh-huks-blob.md)类型的数据。 205 206**起始版本:** 9 207 208 209**参数:** 210 211| 参数项 | 描述 | 212| -- | -- | 213| [struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) *paramSet | 指向参数集的指针。 | 214| bool isCopy | 如果为true,刷新[OH_Huks_Blob](capi-hukstypeapi-oh-huks-blob.md)类型数据的地址并复制到参数集。如果为false,只会刷新[OH_Huks_Blob](capi-hukstypeapi-oh-huks-blob.md)类型数据的地址。 | 215 216**返回:** 217 218| 类型 | 说明 | 219| -- | -- | 220| [struct OH_Huks_Result](capi-hukstypeapi-oh-huks-result.md) | 可能的返回码(errorCode):<br> OH_HUKS_SUCCESS = 0 :操作成功。<br> OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401 :参数paramSet无效。<br> OH_HUKS_ERR_CODE_INSUFFICIENT_MEMORY = 12000014 :内存不足。 | 221 222### OH_Huks_IsParamSetTagValid() 223 224``` 225struct OH_Huks_Result OH_Huks_IsParamSetTagValid(const struct OH_Huks_ParamSet *paramSet) 226``` 227 228**描述** 229 230检查参数集中的参数是否有效、是否有重复。 231 232**起始版本:** 9 233 234 235**参数:** 236 237| 参数项 | 描述 | 238| -- | -- | 239| [const struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) *paramSet | 指向参数集的指针。 | 240 241**返回:** 242 243| 类型 | 说明 | 244| -- | -- | 245| [struct OH_Huks_Result](capi-hukstypeapi-oh-huks-result.md) | 可能的返回码(errorCode):<br> OH_HUKS_SUCCESS = 0 :paramSet中的参数都有效。<br> OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401 :参数paramSet无效或者参数集中有无效、重复、不正确的标签。 | 246 247### OH_Huks_IsParamSetValid() 248 249``` 250struct OH_Huks_Result OH_Huks_IsParamSetValid(const struct OH_Huks_ParamSet *paramSet, uint32_t size) 251``` 252 253**描述** 254 255检查参数集大小是否有效。 256 257**起始版本:** 9 258 259 260**参数:** 261 262| 参数项 | 描述 | 263| -- | -- | 264| [const struct OH_Huks_ParamSet](capi-hukstypeapi-oh-huks-paramset.md) *paramSet | 指向参数集的指针。 | 265| uint32_t size | 参数集占用的内存大小。 | 266 267**返回:** 268 269| 类型 | 说明 | 270| -- | -- | 271| [struct OH_Huks_Result](capi-hukstypeapi-oh-huks-result.md) | 可能的返回码(errorCode):<br> OH_HUKS_SUCCESS = 0 :参数集大小合法。<br> OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401 :参数paramSet无效。 | 272 273### OH_Huks_CheckParamMatch() 274 275``` 276struct OH_Huks_Result OH_Huks_CheckParamMatch(const struct OH_Huks_Param *baseParam, const struct OH_Huks_Param *param) 277``` 278 279**描述** 280 281比较两个参数是否相同。 282 283**起始版本:** 9 284 285 286**参数:** 287 288| 参数项 | 描述 | 289| -- | -- | 290| [const struct OH_Huks_Param](capi-hukstypeapi-oh-huks-param.md) *baseParam | 指向被比较的参数的指针。 | 291| [const struct OH_Huks_Param](capi-hukstypeapi-oh-huks-param.md) *param | 指向比较的参数的指针。 | 292 293**返回:** 294 295| 类型 | 说明 | 296| -- | -- | 297| [struct OH_Huks_Result](capi-hukstypeapi-oh-huks-result.md) | 可能的返回码(errorCode):<br> OH_HUKS_SUCCESS = 0 :比较的两个参数相同。<br> OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401 :其中一个参数集是无效的,或者参数不匹配,<br> 或者内部有无效标签。 | 298 299### OH_Huks_FreeKeyAliasSet() 300 301``` 302void OH_Huks_FreeKeyAliasSet(struct OH_Huks_KeyAliasSet *keyAliasSet) 303``` 304 305**描述** 306 307销毁参数集。 308 309**起始版本:** 20 310 311 312**参数:** 313 314| 参数项 | 描述 | 315| -- | -- | 316| [struct OH_Huks_KeyAliasSet](capi-hukstypeapi-oh-huks-keyaliasset.md) *keyAliasSet | 指向要被销毁的参数集的指针地址。 | 317 318 319