Bit_GetSessionInfo

BIT_STATUS Bit_GetSessionInfo (
    BIT_HANDLE      handle,
    SESSION_TYPE    type,
    BIT_CHAR        *pSessionInfo,
    BIT_UINT32      *pSessionInfoSize)

获取当前会话信息,以字符串形式返回。根据获取的内容不同,返回结果可能是XML格式或非XML格式。返回数据中的日期项已根据客户端的本地时区进行调整。如果Login时未指定SN,返回串为当前系统所有可用SN的综合结果。

当函数返回BIT_ERR_BUFFER_SMALL时,pSessionInfoSize保存的是实际数据的大小。

参数

  • handle - [IN] 通过Login函数返回的上下文句柄。
  • type - [IN] 获取会话信息类型。
类型 说明
XML_TYPE_SN_INFO 获取当前会话中授权码的授权信息,以XML形式返回。未做限制的授权项将不会返回
XML_TYPE_FEATURE_INFO 获取当前会话中授权码的特征项信息,以XML形式返回
XML_TYPE_DATA_INFO 获取当前会话中授权码的配置项信息,以XML形式返回
BIT_SERVER_ADDRESS 授权服务器IP地址。单机授权不支持
BIT_SERVER_TIME 授权服务器系统时间。如果是本地授权,将返回本机系统时间
BIT_CONTROL_TYPE 授权类型。是以逗号分隔的以下几种类型的组合:Group(集团授权), Smart(智能连接), Float(可浮动), Demo(演示授权), USB(U盘授权), Force(强制认证)
BIT_VOLUME_NUMBER 允许使用的机器数量
BIT_START_DATE 授权开始日期,Unlimited表示无限制
BIT_END_DATE 授权结束日期,Unlimited表示无限制
BIT_EXPIRATION_DAYS 授权有效期,单位为天。有效期从激活时间算起,Unlimited表示无限制
BIT_USAGE_NUMBER 最大使用次数
BIT_CONSUMED_USAGE_NUMBER 对于设定最大使用次数的授权码,返回当前使用次数
BIT_ACTIVATE_DATE 授权码激活时间
BIT_USER_LIMIT 集团授权用户数,返回纯数字。对其它方式的授权返回0
BIT_LAST_UPDATE_DATE 最后与服务器连接时间
BIT_MAX_OFFLINE_MINUTES 强制认证最大离线时间(分钟),返回Unlimited表示无强制认证
BIT_SESSION_ID 获取当前会话的字符串sessionId
BIT_SERVER_HB_STATUS 获取心跳状态,pSessionInfo无数据,状态通过函数返回值区分
BIT_TICKET_LIST_BIN 获取TICKET列表
  • pSessionInfo - [OUT] 会话信息存储区地址。可以为NULL,此时仅用于获取存储区大小。
  • pSessionInfoSize - [IN/OUT] 会话存储区大小。

示例

BIT_UINT32 buffSize = 10240;
BIT_CHAR *pBuff = (BIT_CHAR *)malloc(buffSize);
If (pBuff == NULL) {
   return;
}
memset(pBuff, 0, buffSize);
BIT_STATUS status = Bit_GetSessionInfo (handle,
                                        XML_TYPE_SN_INFO,
                                        pBuff,
                                        & buffSize);

if (status == BIT_ERR_BUFFER_SMALL) {
    free(pBuff); 
    pBuff = malloc(buffSize + 1);
    memset(pBuff, 0, buffSize + 1);

    status = Bit_GetSessionInfo (handle,
                                XML_TYPE_SN_INFO,
                                pBuff,
                                &buffSize);
}

if (status == BIT_SUCCESS)  {
    // pBuff 保存的是需要查找的数据
}
free(pBuff);

Bit_GetInfo

BIT_STATUS Bit_GetInfo (
    BIT_PCSTR      szSN,
    BIT_UCHAR      *pApplicationData,
    INFO_TYPE      type,
    BIT_CHAR       *pInfo,
    BIT_UINT32     *pInfoSize)

获取本地授权信息。

如果要获取集团授权的信息,则szSN输入“@bit://ip:port”,会获取集团授权信息(仅支持type=BIT_INFO_SN)。

由于集团授权需要登录才能获取信息,而登录需要占用用户数,此方式提供了一个在不登录的情况下来获取集团授权信息。

参数

  • szSN - [IN] 输入要检索的SN,如果为NULL,表示获取所有SN。
  • pApplicationData - [IN] 产品识别码。记录在接口定义文件中,与产品一一对应。
  • type - [IN] 类型。
类型 说明
BIT_INFO_SERVER_ADDRESS 获取局域网内的集团授权服务器地址列表
BIT_INFO_SN 获取本机已激活的授权码列表
BIT_INFO_SN_FEATURE 获取本机已激活授权码的特征项列表
BIT_INFO_SN_LICENSE 获取本机已激活授权码的授权信息
BIT_INFO_UPDATE_ERROR 获取指定授权码的升级错误详细信息。是否存在详细信息由授权码类型及错误类型决定
BIT_INFO_CONFIG 获取当前产品的配置文件信息
BIT_INFO_TOKEN_LIST 获取当前机器上可用的BIT-ID列表信息
  • pInfo - [OUT] 数据缓存区地址。
  • pInfoSize - [IN/OUT] 输入时是数据缓存区大小,输出时是实际数据的长度。

Bit_GetServerInfo

BIT_STATUS Bit_GeServerInfo(
    BIT_PCSTR           szURL,
    BIT_PCSTR           szSN,
    BIT_PCSTR           xmlScope,
    BIT_UCHAR           *pApplicationData,
    BIT_INFO_EX_TYPE    type,
    BIT_CHAR            *pServerInfo,
    BIT_UINT32          *pServerInfoSize);

获取集团服务的license信息,数据以XML格式返回。调用此函数前客户端不需要执行登录操作。

参数

  • szURL - [IN] 指定集团授权服务器地址,包括端口。
  • szSN - [IN] 授权码(SN)字符串。
  • xmlScope- [IN] 查询指定特征项的信息,以xml格式传入。
  • pApplicationData - [IN] 产品识别码。记录在接口定义文件中,与产品一一对应。
  • type- [IN] 获取信息类型。
类型 说明
BIT_SERVER_INFO_SN 获取集团服务的授权码列表
BIT_SERVER_INFO_SN_FEATURE 获取集团服务的授权码的特征项列表
BIT_SERVER_INFO_SN_LICENSE 获取集团服务的授权码的授权信息
BIT_SERVER_INFO_FEATURE_LICENSE 获取集团服务的特征项的授权信息
BIT_SERVER_INFO_SN_USERS 获取集团服务被占用的sn的用户信息
BIT_SERVER_INFO_FEATURE_USERS 获取集团服务被占用的feature的用户信息
  • pServiceLicenseInfo - [OUT] 用于存储返回XML信息数据的存储区地址。
  • pServiceLicenseInfoSize - [IN/OUT] 输入的存储区长度。

Bit_GetVersion

BIT_STATUS Bit_GetVersion (
    BIT_UINT32      *pVersion)

获取客户端安全库版本号。

参数

  • pVersion - [OUT] 客户端安全库版本号。

Bit_GetNextHandle

BIT_STATUS BIT_CALLCONV Bit_GetNextHandle(
    BIT_HANDLE      handle,
    BIT_HANDLE      *pNextHandle)

用来遍历当前进程内的handle。

参数

  • handle – [IN] 当前handle。如果传NULL,pNextHandle返回第一个handle。
  • pNextHandle – [OUT] 返回handle指向的下一个handle,如果返回为NULL,则表示已经到了末尾。

示例

BIT_HANDLE nextHandle = NULL;
while (Bit_GetNextHandle(nextHandle , &nextHandle) == BIT_SUCCESS && nextHandle != NULL) {
    // 使用nextHandle处理业务逻辑
}

Bit_TestBitService

BIT_STATUS Bit_TestBitService (
    BIT_PCSTR       szURL,
    BIT_PCSTR       szSN,
    BIT_UINT32      featureId,
    BIT_UCHAR       *pApplicationData)

测试集团授权的特征项是否可用,不会占用授权码或特征项的用户数。

参数

  • szURL - [IN] 自定义授权服务器地址,包括端口。如未使用自定义授权服务器则为NULL。
  • szSN - [IN] 授权码(SN)字符串。如果为空(空串或NULL)则尝试寻找所有当前本机可用的SN。
  • featureId - [IN] 登录授权所需要包含的特征项ID。
  • pApplicationData - [IN] 产品识别码。记录在接口定义文件中,与产品一一对应。