国密SKF接口函数介绍之一:设备管理函数

概述
        设备管理主要完成设备的插拔事件处理、枚举设备、连接设备、断开连接、获取设备状态、设置设备标签、获取设备信息、锁定设备、解锁设备和设备命令传输等操作。设备管理系列函数如下表所示:

函数名称 功能
SKF_WaitForDevEvent 等待设备插拔事件
SKF_CancelWaitForDevEvent 取消等待设备插拔事件
SKF_EnumDev 枚举设备
SKF_ConnectDev 连接设备
SKF_DisconnectDev 断开连接
SKF_GetDevState 获取设备状态
SKF_SetLabel 设置设备标签
SKF_GetDevInfo 获取设备信息
SKF_LockDev 锁定设备
SKF_UnlockDev 解锁设备
SKF_Transmit 设备命令传输

1、等待设备插拔事件

函数原型:ULONG DEVAPI SKF_WaitForDevEvent(LPSTR szDevName,ULONG *pulDevNameLen, ULONG *pulEvent)
功能描述:该函数等待设备插入或者拔除事件。szDevName返回发生事件的设备名称。
参        数:szDevName:[OUT] 发生事件的设备名称。
                    pulDevNameLen:[IN/OUT] 输入/输出参数,当输入时表示缓冲区长度,输出时表示设备名称的有效长度,长度包含字符串结束符。
                    pulEvent:[OUT]事件类型。1表示插入,2表示拔出。
返  回  值:SAR_OK:成功;其他:错误码。
2、取消等待设备插拔事件
函数原型:ULONG DEVAPI SKF_CancelWaitForDevEvent()
功能描述:该函数取消等待设备插入或者拔除事件。
参        数:无
返  回  值:SAR_OK:成功;其他:错误码。
备        注:使本进程正在执行的SKF_WaitForDevEvent函数立即返回。
3、枚举设备
函数原型:ULONG DEVAPI SKF_EnumDev(BOOL bPresent, LPSTR szNameList, ULONG *pulSize)
功能描述:获得当前系统中的设备列表。
参        数:bPresent:[IN] 为TRUE表示取当前设备状态为存在的设备列表。为FALSE表示取当前驱动支持的设备列表。
                    szNameList:[OUT] 设备名称列表。如果该参数为NULL,将由pulSize返回所需要的内存空间大小。每个设备的名称以单个‘\0’结束,以双‘\0’表示列表的结束。
                    pulSize:[IN,OUT] 输入时表示设备名称列表的缓冲区长度,输出时表示szNameList所占用的空间大小。
返  回  值:SAR_OK:成功;其他:错误码。
4、连接设备
函数原型:ULONG DEVAPI SKF_ConnectDev (LPSTR szName, DEVHANDLE *phDev)
功能描述:通过设备名称连接设备,返回设备的句柄。
参        数:szName: [IN] 设备名称。
                    phDev:[OUT] 返回设备操作句柄。
返  回  值:SAR_OK:成功;其他:错误码。
5、断开连接
函数原型:ULONG DEVAPI SKF_DisConnectDev (DEVHANDLE hDev)
功能描述:断开一个已经连接的设备,并释放句柄。
参        数:hDev:[IN] 连接设备时返回的设备句柄。
返  回  值:SAR_OK:成功;其他:错误码。
备        注:如果该设备已被锁定,函数应首先解锁该设备。断开连接操作并不影响设备的权限状态。
6、获取设备状态
函数原型:ULONG DEVAPI SKF_GetDevState(LPSTR szDevName, ULONG *pulDevState)
功能描述:获取设备是否存在的状态。
参        数:szDevName:[IN] 设备名称。
                    pulDevState:[OUT] 返回设备状态。
返  回  值:SAR_OK:成功;其他:错误码。
7、设置设备标签
函数原型:ULONG DEVAPI SKF_SetLabel (DEVHANDLE hDev, LPSTR szLabel)
功能描述:设置设备标签。
参        数:hDev:[IN] 连接设备时返回的设备句柄。
                    szLabel:[IN] 设备标签字符串。该字符串应小于32字节。
返  回  值:SAR_OK:成功;其他:错误码。
8、获取设备信息
函数原型:ULONG DEVAPI SKF_GetDevInfo (DEVHANDLE hDev, DEVINFO *pDevInfo)
功能描述:获取设备的一些特征信息,包括设备标签、厂商信息、支持的算法等。
参        数:hDev:[IN] 连接设备时返回的设备句柄。
                    pDevInfo:[OUT] 返回设备信息。
返  回  值:SAR_OK:成功;其他:错误码。
9、锁定设备
函数原型:ULONG DEVAPI SKF_LockDev (DEVHANDLE hDev, ULONG ulTimeOut)
功能描述:获得设备的独占使用权。
参        数:hDev:[IN] 连接设备时返回的设备句柄。
                    ulTimeOut:[IN] 超时时间,单位为毫秒。如果为0xFFFFFFFF表示无限等待。
返  回  值:SAR_OK:成功;其他:错误码。
10、解锁设备
函数原型:ULONG DEVAPI SKF_UnlockDev (DEVHANDLE hDev)
功能描述:释放对设备的独占使用权。
参        数:hDev:[IN] 连接设备时返回的设备句柄。
返  回  值:SAR_OK:成功;其他:错误码。
11、设备命令传输
函数原型:ULONG DEVAPI SKF_Transmit(DEVHANDLE hDev, BYTE* pbCommand, ULONG ulCommandLen,BYTE* pbData, ULONG* pulDataLen)
功能描述:将命令直接发送给设备,并返回结果。
参        数:hDev:[IN] 设备句柄。
                    pbCommand:[IN] 设备命令。
                    ulCommandLen:[IN] 命令长度。
                    pbData:[OUT] 返回结果数据。
                    pulDataLen:[IN,OUT] 输入时表示结果数据缓冲区长度,输出时表示结果数据实际长度。
返  回  值:SAR_OK:成功;其他:错误码。

你可能感兴趣的:(国密标准,国密规范,SKF)