概述
应用管理主要完成应用的创建、枚举、删除、打开、关闭等操作。应用管理系列函数如下表所示:
表 应用管理系列函数
函数名称 |
功能 |
SKF_CreateApplication |
创建应用 |
SKF_EnumApplication |
枚举应用 |
SKF_DeleteApplication |
删除应用 |
SKF_OpenApplication |
打开应用 |
SKF_CloseApplication |
关闭应用 |
1、创建应用
函数原型:ULONG DEVAPI SKF_CreateApplication(DEVHANDLE hDev, LPSTR szAppName, LPSTR szAdminPin, DWORD dwAdminPinRetryCount,LPSTR szUserPin, DWORD dwUserPinRetryCount,DWORD dwCreateFileRights, HAPPLICATION *phApplication)
功能描述:创建一个应用。
参 数:hDev:[IN] 连接设备时返回的设备句柄。
szAppName:[IN] 应用名称。
szAdminPin:[IN] 管理员PIN。
dwAdminPinRetryCount:[IN] 管理员PIN最大重试次数。
szUserPin:[IN] 用户PIN。
dwUserPinRetryCount:[IN] 用户PIN最大重试次数。
dwCreateFileRights:[IN] 在该应用下创建文件和容器的权限,参见6.4.9权限类型。为各种权限的或值。
phApplication:[OUT] 应用的句柄。
返 回 值:SAR_OK:成功;其他:错误码。
备 注:权限要求:需要设备权限。
2、枚举应用
函数原型:ULONG DEVAPI SKF_EnumApplication(DEVHANDLE hDev, LPSTR szAppName,ULONG *pulSize)
功能描述:枚举设备中存在的所有应用。
参 数::hDev:[IN] 连接设备时返回的设备句柄。
szAppName:
[OUT] 返回应用名称列表, 如果该参数为空,将由pulSize返回所需要的内存空间大小。每个应用的名称以单个‘\0’结束,以双‘\0’表示列表的结束。
pulSize:[IN,OUT] 输入时表示应用名称的缓冲区长度,输出时返回szAppName所占用的空间大小。
返 回 值:SAR_OK:成功;其他:错误码。
3、删除应用
函数原型:ULONG DEVAPI SKF_DeleteApplication(DEVHANDLE hDev, LPSTR szAppName)
功能描述:删除指定的应用。
参 数:hDev:[IN] 连接设备时返回的设备句柄。
szAppName:[IN] 应用名称。
返 回 值:SAR_OK:成功;其他:错误码。
备 注:权限要求:需要设备权限。
4、打开应用
函数原型:ULONG DEVAPI SKF_OpenApplication(DEVHANDLE hDev, LPSTR szAppName, HAPPLICATION *phApplication)
功能描述:打开指定的应用。
参 数:hDev:[IN] 连接设备时返回的设备句柄。
szAppName:[IN] 应用名称。
phApplication:[OUT] 应用的句柄。
返 回 值:SAR_OK:成功;其他:错误码。
5、关闭应用
函数原型:ULONG DEVAPI SKF_CloseApplication(HAPPLICATION hApplication)
功能描述:关闭应用并释放应用句柄。
参 数:hApplication:[IN]应用句柄。
返 回 值:SAR_OK:成功;其他:错误码。
备 注:此函数不影响应用安全状态。