您的位置:首页 > 其它

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

2017-02-08 16:31 344 查看
from  http://blog.csdn.net/yyfzy/article/details/49662981

概述

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

函数名称功能
SKF_WaitForDevEvent等待设备插拔事件
SKF_CancelWaitForDevEvent取消等待设备插拔事件
SKF_EnumDev枚举设备
SKF_ConnectDev连接设备
SKF_DisconnectDev<
4000
/td>
断开连接
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:成功;其他:错误码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: