国密SKF接口函数介绍之一:设备管理函数
2015-11-05 15:25
1626 查看
概述
设备管理主要完成设备的插拔事件处理、枚举设备、连接设备、断开连接、获取设备状态、设置设备标签、获取设备信息、锁定设备、解锁设备和设备命令传输等操作。设备管理系列函数如下表所示:
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_WaitForDevEvent | 等待设备插拔事件 |
SKF_CancelWaitForDevEvent | 取消等待设备插拔事件 |
SKF_EnumDev | 枚举设备 |
SKF_ConnectDev | 连接设备 |
SKF_DisconnectDev | 断开连接 |
SKF_GetDevState | 获取设备状态 |
SKF_SetLabel | 设置设备标签 |
SKF_GetDevInfo | 获取设备信息 |
SKF_LockDev | 锁定设备 |
SKF_UnlockDev | 解锁设备 |
SKF_Transmit | 设备命令传输 |
函数原型: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:成功;其他:错误码。
相关文章推荐
- 使用sqlload批量导入数据
- Windows Server 2008 R2与LoadRunner
- 获取全国市以及地理坐标,各大坐标系北斗,百度,WGS-84坐标系的转换,有图,有代码
- IIS服务器允许跨域配置
- 女子开跑车送外卖 半年从月入1500变15万
- linux下进程查找和杀死
- 微软算法100题35 求一个矩阵中最大的二维矩阵
- 正规矩阵 酉矩阵 对角矩阵
- hdu2031
- 【Echarts每天一例】-1
- 老李秘技:loadrunner11是否还支持dblib协议?
- 正则表达式为什么需要两个 \\
- iOS - JRDB - 基于sqlite3的通用数据库封装
- 正则表达式(一)
- 模拟Socket的通讯----(2)---客户端
- Android系统logcat实现分析
- Android为网络请求自定义加载动画
- Android菜单详解——上下文菜单(ContextMenu )
- Leetcode(204) Count Primes
- C#读取TXT文件