1# IExecutor 2 3 4## **概述** 5 6定义执行器接口,用于获取执行器,获取凭据模版信息,注册人脸特征模版,进行用户人脸认证,删除人脸特征模版等。 7 8**Since:** 9 103.2 11 12**Version:** 13 141.0 15 16**所属模块:** 17 18[HdfFaceAuth](_hdf_face_auth.md) 19 20 21## **汇总** 22 23 24### Public 成员函数 25 26 | 名称 | 描述 | 27| -------- | -------- | 28| [GetExecutorInfo](#getexecutorinfo)([out] struct ExecutorInfo executorInfo) | 获取执行器信息,人脸认证服务将执行器注册到用户认证框架时需要通过该接口获取对应信息。 | 29| [GetTemplateInfo](#gettemplateinfo)([in] unsigned long templateId, [out] struct TemplateInfo templateInfo) | 获取凭据模版信息。 | 30| [OnRegisterFinish](#onregisterfinish)([in] unsigned long[] templateIdList, [in] unsigned char[] frameworkPublicKey, [in] unsigned char[] extraInfo) | 完成执行器注册,对人脸特征模版进行对账,用于删除无效的人脸特征模板及相关信息。 | 31| [Enroll](#enroll)([in] unsigned long scheduleId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj) | 注册人脸特征模版。 | 32| [Authenticate](#authenticate)([in] unsigned long scheduleId, [in] unsigned long[] templateIdList, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj) | 人脸认证。 | 33| [Identify](#identify)([in] unsigned long scheduleId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj) | 人脸识别。 | 34| [Delete](#delete)([in] unsigned long[] templateIdList) | 删除人脸特征模版。 | 35| [Cancel](#cancel)([in] unsigned long scheduleId) | 取消操作请求。 | 36| [SendCommand](#sendcommand)([in] int commandId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj) | 发送人脸认证功能相关操作命令。 | 37| [SetBufferProducer](#setbufferproducer) ([in] BufferProducerSequenceable bufferProducer) | 设置可用缓冲区生成器。 | 38 39 40## **成员函数说明** 41 42 43### Authenticate() 44 45 46``` 47IExecutor::Authenticate ([in] unsigned long scheduleId, [in] unsigned long[] templateIdList, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj ) 48``` 49 50**描述:** 51 52人脸认证。 53 54**参数:** 55 56 | 名称 | 描述 | 57| -------- | -------- | 58| scheduleId | 调度ID,用于标识一次操作请求的调度过程。 | 59| templateIdList | 指定要认证的模版ID列表。 | 60| extraInfo | 其他相关信息,用于支持信息扩展。 | 61| callbackObj | 回调对象[IExecutorCallback](interface_i_executor_callback.md)。 | 62 63**返回:** 64 650 表示操作成功。 66 67非0 表示操作失败。 68 69 70### Cancel() 71 72 73``` 74IExecutor::Cancel ([in] unsigned long scheduleId) 75``` 76 77**描述:** 78 79取消操作请求。 80 81**参数:** 82 83 | 名称 | 描述 | 84| -------- | -------- | 85| scheduleId | 调度ID,用于标识一次操作请求的调度过程。 | 86 87**返回:** 88 890 表示操作成功。 90 91非0 表示操作失败。 92 93 94### Delete() 95 96 97``` 98IExecutor::Delete ([in] unsigned long[] templateIdList) 99``` 100 101**描述:** 102 103删除人脸特征模版。 104 105**参数:** 106 107 | 名称 | 描述 | 108| -------- | -------- | 109| templateIdList | 指定要删除的模版ID列表。 | 110 111**返回:** 112 1130 表示操作成功。 114 115非0 表示操作失败。 116 117 118### Enroll() 119 120 121``` 122IExecutor::Enroll ([in] unsigned long scheduleId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj ) 123``` 124 125**描述:** 126 127注册人脸特征模版。 128 129**参数:** 130 131 | 名称 | 描述 | 132| -------- | -------- | 133| scheduleId | 调度ID,用于标识一次操作请求的调度过程。 | 134| extraInfo | 其他相关信息,用于支持信息扩展。 | 135| callbackObj | 回调对象[IExecutorCallback](interface_i_executor_callback.md)。 | 136 137**返回:** 138 1390 表示操作成功。 140 141非0 表示操作失败。 142 143 144### GetExecutorInfo() 145 146 147``` 148IExecutor::GetExecutorInfo ([out] struct ExecutorInfo executorInfo) 149``` 150 151**描述:** 152 153获取执行器信息,人脸认证服务将执行器注册到用户认证框架时需要通过该接口获取对应信息。 154 155**参数:** 156 157 | 名称 | 描述 | 158| -------- | -------- | 159| executorInfo | 执行器信息[ExecutorInfo](_executor_info.md)。 | 160 161**返回:** 162 1630 表示操作成功。 164 165非0 表示操作失败。 166 167 168### GetTemplateInfo() 169 170 171``` 172IExecutor::GetTemplateInfo ([in] unsigned long templateId, [out] struct TemplateInfo templateInfo ) 173``` 174 175**描述:** 176 177获取凭据模版信息。 178 179**参数:** 180 181 | 名称 | 描述 | 182| -------- | -------- | 183| templateId | 凭据模版ID。 | 184| templateInfo | 凭据模版信息[TemplateInfo](_template_info.md)。 | 185 186**返回:** 187 1880 表示操作成功。 189 190非0 表示操作失败。 191 192 193### Identify() 194 195 196``` 197IExecutor::Identify ([in] unsigned long scheduleId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj ) 198``` 199 200**描述:** 201 202人脸识别。 203 204**参数:** 205 206 | 名称 | 描述 | 207| -------- | -------- | 208| scheduleId | 调度ID,用于标识一次操作请求的调度过程。 | 209| extraInfo | 其他相关信息,用于支持信息扩展。 | 210| callbackObj | 回调对象[IExecutorCallback](interface_i_executor_callback.md)。 | 211 212**返回:** 213 2140 表示操作成功。 215 216非0 表示操作失败。 217 218 219### OnRegisterFinish() 220 221 222``` 223IExecutor::OnRegisterFinish ([in] unsigned long[] templateIdList, [in] unsigned char[] frameworkPublicKey, [in] unsigned char[] extraInfo ) 224``` 225 226**描述:** 227 228完成执行器注册,对人脸特征模版进行对账,用于删除无效的人脸特征模板及相关信息。 229 230**参数:** 231 232 | 名称 | 描述 | 233| -------- | -------- | 234| templateIdList | 用户认证框架内由该执行器注册的人脸特征模版ID列表。 | 235| frameworkPublicKey | 用户认证框架的公钥,用于校验用户认证框架私钥签名的信息。 | 236| extraInfo | 其他相关信息,用于支持信息扩展。 | 237 238**返回:** 239 2400 表示操作成功。 241 242非0 表示操作失败。 243 244 245### OnSetData() 246 247 248``` 249IExecutor::OnSetData ([in] unsigned long scheduleId, [in] unsigned long authSubType, [in] unsigned char[] data ) 250``` 251 252**描述:** 253 254设置口令数据,口令认证驱动处理注册或认证口令请求时,如果口令数据由口令认证服务获取,需要通过该接口将口令数据传给口令认证驱动。 255 256**参数:** 257 258 | 名称 | 描述 | 259| -------- | -------- | 260| scheduleId | 调度ID,用于标识一次操作请求的调度过程。 | 261| authSubType | 口令子类型,如六位数字PIN码等。 | 262| data | 口令数据。 | 263 264**返回:** 265 2660 表示操作成功。 267 268非0 表示操作失败。 269 270 271### SendCommand() 272 273 274``` 275IExecutor::SendCommand ([in] int commandId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj ) 276``` 277 278**描述:** 279 280发送人脸认证功能相关操作命令。 281 282**参数:** 283 284 | 名称 | 描述 | 285| -------- | -------- | 286| commandId | 操作命令ID。 | 287| extraInfo | 其他相关信息,用于支持信息扩展。 | 288| callbackObj | 回调对象[IExecutorCallback](interface_i_executor_callback.md)。 | 289 290**返回:** 291 2920 表示操作成功。 293 294非0 表示操作失败。 295 296### SetBufferProducer() 297 298 299``` 300IExecutor::SetBufferProducer ([in] BufferProducerSequenceable bufferProducer ) 301``` 302 303**描述:** 304 305设置可用缓冲区生成器。用于传递相机预览流,开始录入前设置为有效值,结束录入后设置为空指针。 306 307**参数:** 308 309 | 名称 | 描述 | 310| -------- | -------- | 311| bufferProducer | 可用缓冲区生成器。 | 312 313**返回:** 314 3150 表示操作成功。 316 317非0 表示操作失败。 318