方法摘要

Long Login(ByVal url As String, ByVal sn As String, ByVal mode As LoginMode)
授权登录。初始化运行环境,获取操作句柄。必须在除升级函数之外的其它操作前执行。根据登录模式的不同可能需要连接授权服务器。
Long LoginEx(ByVal url As String, ByVal sn As String, ByVal featureId As Long, ByVal xmlScope As String, ByVal mode As LoginMode)
授权登录的增强版本。允许应用程序在登录时指定授权中所需包含的特征项,以缩小登录范围。
Long LoginByToken(ByVal url As String, ByVal accessToken As String)
使用access_token进行登录,帐号授权专用。
Long LoginByTokenEx(ByVal url As String, ByVal businessGuid As String, ByVal token As String, ByVal idpGuid As String, ByVal grantType As String)
使用第三方身份源产生的id_token进行登录,帐号授权专用。
Long Logout()
此函数用于释放上下文句柄,退出登录状态。
Long ReadFeature(ByVal featureId As Long, ByRef featureValue As Long)
此函数用于读取特征项的数据内容,可用于“只读”和“读写”特征类型。
Long WriteFeature(ByVal featureId As Long, ByVal featureValue As Long)
此函数用于更新“读写”类型的特征项的数据内容。
Long ConvertFeature(ByVal featureId As Long, ByVal para1 As Long, ByVal para2 As Long, ByVal para3 As Long, ByVal para4 As Long, ByRef result As Long)
此函数用于使用“算法”类型的特征项对输入参数进行变换操作,得到唯一对应的4字节结果。
Long EncryptFeature(ByVal featureId As Long, ByVal plainBuffer As Byte, ByRef cipherBuffer As Byte, ByVal bufferSize As Long)
此函数用于使用“密钥”类型的特征项对输入的明文进行加密,返回密文结果。
Long DecryptFeature(ByVal featureId As Long, ByVal cipherBuffer As Byte, ByRef plainBuffer As Byte, ByVal bufferSize As Long)
此函数用于使用“密钥”类型的特征项对输入的密文进行解密,返回明文结果。
Long QueryFeature(ByVal featureId As Long, ByRef capacity As Long)
请求特征项,检查特征项是否存在并可用。可用于任意特征项类型。对于集团授权,函数执行成功后会占用一个模块用户数。
Long QueryFeatureEx(ByVal featureId As Long, ByVal mode As Long, ByVal required As Long, ByRef pCapacity As Long, ByVal xmlScope As String)
集团授权,通过featureId和version来占用特征项的用户数。
Long QueryFeatureEx2(ByVal featureName As String, ByVal mode As Long, ByVal required As Long, ByVal xmlScope As String, ByRef pTicket As Byte)
集团授权,通过featureName和version来占用特征项的用户数。
Long ReleaseFeature(ByVal featureId As Long, ByRef capacity As Long)
释放特征项。集团授权会释放模块用户数。
Long ReleaseFeatureEx(ByVal featureId As Long, ByVal consumed As Long, ByRef pCapacity As Long, ByVal xmlScope As String)
集团授权,释放指定版本的特征项下的用户数。
Long ReleaseFeatureEx2(ByVal ticket As Byte, ByVal consumed As Long)
集团授权,释放指定ticket下的特征项的所有用户数。
Long SetDataItem(ByVal dataItemName As String, ByVal dataItemValue As Byte, ByVal dataItemValueSize As Long)
创建或更新配置项。如果相同名称的配置项存在,则会更新其中的数据;否则将添加新的授权码配置项。
Long RemoveDataItem(ByVal dataItemName As String)
删除指定的配置项。该操作无法删除通过控制台设置的产品配置项或模版配置项。
Long GetDataItem(ByVal dataItemName As String, ByRef dataItemValue As Byte, ByRef dataItemValueSize As Long)
读取指定的配置项数据。
Long GetDataItemNum(ByRef num As Long)
此函数用于获取可访问配置项的数量,一般用于配置项的枚举操作。
Long GetDataItemName(ByVal index As Long, ByRef dataItemName As Byte, ByRef dataItemNameSize As Long)
根据配置项索引获取其名称,一般用于配置项的枚举操作。
Long GetSessionInfo(ByVal inputType As SessionType, ByRef sessionInfo As Byte, ByRef sessionInfoSize As Long)
获取当前会话信息,以字符串形式返回。根据获取的内容不同,返回结果可能是XML格式或非XML格式。 返回数据中的日期项已根据客户端的本地时区进行调整。如果Login时未指定SN,返回串为当前系统所有可用SN的综合结果。
Long GetBorrowRequest(ByVal sn As String, ByVal durationDay As Long)
获取授权在当前环境的借出请求码,用于发起授权的借出请求。
Long ApplyBorrowInfo(ByVal borrowInfo As String)
应用借出升级码完成本地授权应用。本函数必须在获取借出请求码的同一环境下执行。
Long UpdateOnline(ByVal url As String, ByVal sn As String)
此函数用于与授权服务器在线连接,自动完成本地授权的升级操作。本函数需要进行网络连接。
Long CheckOutSn(ByVal url As String, ByVal featureId As Long)
从集团授权服务器借出一个完整的授权码,以允许客户端脱离集团服务器单独使用。被借出的集团授权码必须具有可借出属性,并在客户端成功借出后减少一个可用用户数。被借出的用户数在到期后将自动返还给集团服务器。
Long CheckOutSnEx(ByVal url As String, ByVal featureId As Long, ByVal xmlScope As String)
从授权服务器借出一个完整的授权码,以允许客户端服务器单独使用。被借出的授权码必须具有可借出属性,并在客户端成功借出后减少一个可用用户数。被借出的用户数在到期后将自动返还给服务器。
Long CheckOutFeatures(ByVal url As String)
从集团授权服务器借出一组特征项,这些特征项必须包含在同一个授权码中。被借出的集团授权码必须具有可借出属性,并在客户端成功借出后减少一个可用用户数。被借出的用户数在到期后将自动返还给集团服务器。
Long CheckIn(ByVal url As String, ByVal featureId As Long)
提前返还从集团授权服务器借出的授权。要提前返还授权,该授权码必须具有允许提前返还属性。
Long CheckInEx(ByVal url As String, ByVal featureId As Long, ByVal xmlScope As String)
提前返还从授权服务器借出的授权。要提前返还授权,该授权码必须具有允许提前返还属性。
Long GetInfo(ByVal sn As String, ByVal inputType As InfoType, ByRef info As Byte, ByRef infoSize As Long)
获取授权信息及使用环境信息,数据以XML格式返回。调用此函数前客户端不需要执行登录操作。
Long RemoveSn(ByVal sn As String)
删除指定授权码在本机的授权数据,可用于测试或当授权数据出现问题而不能通过升级解决时的故障处理。
Long GetVersion(ByRef version As Long)
获取客户端安全库版本号。
Long GetTicketInfo(ByVal ticket As Byte, ByVal type As Long, ByRef pXmlInfo As Byte, ByRef pSize As Long)
查看指定ticket的相关信息。
Long SetAttr(ByVal type As Long, ByVal pValue As Byte)
设置回调函数、阻塞队列超时时间、心跳重试次数、心跳重试间隔等。
Long GetFeatureInfo2(ByVal featureName As String, ByVal xmlScope As String, ByRef pExpired As Long)
检查特征项是否存在,不会占用授权码或特征项的用户数,获取特征项的剩余有效期。
Long GetLastError()
获取上一次接口返回的错误码。
Long SetSessionState(ByVal state As Long, ByVal pReserved As Byte)
设置客户端的状态为空闲状态或繁忙状态或激活状态。
Long SetLocalServer(ByVal szHostName As String, ByVal nPort As Long, ByVal nTimeoutSecondes As Long)
设置集团服务的地址和端口。
Long TestBitService(ByVal url As String, ByVal sn As String, ByVal featureId As Long)
测试集团授权的特征项是否可用,不会占用授权码或特征项的用户数。
Long SetRootPath(ByVal szPath As String)
设置授权文件的存储路径。
Long GetProductPath(ByRef pBuf As Byte, ByVal lenBuf As Long)
获取授权存储目录。
Long SetProxy(ByVal szHostName As String, ByVal nPort As Long, ByVal szUserID As String, ByVal szPassword As String)
设置代理服务的地址和端口。

方法详细信息

Login

public Function Login (
    ByVal url As String,
    ByVal sn As String,
    ByVal mode As LoginMode) As Long
授权登录。初始化运行环境,获取操作句柄。必须在除升级函数之外的其它操作前执行。根据登录模式的不同可能需要连接授权服务器。
参数:
url - [IN] 自定义授权服务器地址,包括端口。如未使用自定义授权服务器则为NULL。
sn - [IN] 授权码(SN)字符串。如果为空(空串或NULL)则尝试寻找所有当前本机可用的SN
mode - [IN] 登录模式。 包含以下类型:
LocalMode - 登录本地授权,不会尝试寻找集团或云授权服务器。如果本地授权失效也不会尝试自动升级
RemoteMode - 登录远程授权服务器,尝试建立云授权或集团授权连接,服务器地址由URL参数或配置文件提供
AutoMode - 同时尝试本地授权及远程授权,寻找任何可用的授权方式。可能自动升级失效的本地授权
BIT_MODE_CHECK_USERNAME - 占用SN或Feature点数时是检查机器的用户名,同一台机器不同的用户会分别占用点数,与AUTO等参数搭配使用
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

LoginEx

public Function LoginEx (
    ByVal url As String,
    ByVal sn As String,
    ByVal featureId As Long,
    ByVal xmlScope As String,
    ByVal mode As LoginMode) As Long
授权登录的增强版本。允许应用程序在登录时指定授权中所需包含的特征项,以缩小登录范围。
参数:
url - [IN] 自定义授权服务器地址,包括端口。如未使用自定义授权服务器则为NULL。
sn - [IN] 授权码(SN)字符串。如果为空(空串或NULL)则尝试寻找所有当前本机可用的SN
featureId - [IN] 登录授权所需要包含的特征项ID
xmlScope - [IN] 登录范围。用于提供更多的登录条件,格式为标准XML字符串。目前保留,必须为NULL
mode - [IN] 登录模式。 包含以下类型:
LocalMode - 登录本地授权,不会尝试寻找集团或云授权服务器。如果本地授权失效也不会尝试自动升级
RemoteMode - 登录远程授权服务器,尝试建立云授权或集团授权连接,服务器地址由URL参数或配置文件提供
AutoMode - 同时尝试本地授权及远程授权,寻找任何可用的授权方式。可能自动升级失效的本地授权
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

LoginByToken

public Function LoginByToken (
    ByVal url As String,
    ByVal accessToken As String) As Long
使用access_token进行登录,帐号授权专用。
参数:
url - [IN] 自定义授权服务器地址,包括端口。如未使用自定义授权服务器则为NULL。
accessToken - [IN] Bit云颁发的的access_token。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

LoginByTokenEx

public Function LoginByTokenEx (
    ByVal url As String,
    ByVal businessGuid As String,
    ByVal token As String,
    ByVal idpGuid As String,
    ByVal grantType As String) As Long
使用第三方身份源产生的id_token进行登录,帐号授权专用。
参数:
url - [IN] 自定义授权服务器地址,包括端口。如未使用自定义授权服务器则为NULL。
businessGuid - [IN] 登录业务的guid。
token - [IN] 第三方身份源颁发的id_token。
idpGuid - [IN] 第三方身份源的guid。
grantType - [IN] 传固定值:bitanswer:idp:oidc:id_token
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

Logout

public Function Logout () As longint
此函数用于释放上下文句柄,退出登录状态。
参数:
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

ReadFeature

public Function ReadFeature (
    ByVal featureId As Long,
    ByRef featureValue As Long) As Long
此函数用于读取特征项的数据内容,可用于“只读”和“读写”特征类型。
参数:
featureId - [IN] 产品的特征项ID。
featureValue - [OUT] 特征项数据缓存区地址,用于存储读出的数据。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

WriteFeature

public Function WriteFeature (
    ByVal featureId As Long,
    ByVal featureValue As Long) As Long
此函数用于更新“读写”类型的特征项的数据内容。
参数:
featureId - [IN] 产品的特征项ID。
featureValue - [IN] 特征项数据值。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

ConvertFeature

public Function ConvertFeature (
    ByVal featureId As Long,
    ByVal para1 As Long,
    ByVal para2 As Long,
    ByVal para3 As Long,
    ByVal para4 As Long,
    ByRef result As Long) As Long
此函数用于使用“算法”类型的特征项对输入参数进行变换操作,得到唯一对应的4字节结果。
参数:
featureId - [IN] 产品的特征项ID。
para1 - [IN] 变换输入因子1
para2 - [IN] 变换输入因子2
para3 - [IN] 变换输入因子3
para4 - [IN] 变换输入因子4
result - [OUT] 变换结果。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

EncryptFeature

public Function EncryptFeature (
    ByVal featureId As Long,
    ByVal plainBuffer As Byte,
    ByRef cipherBuffer As Byte,
    ByVal bufferSize As Long) As Long
此函数用于使用“密钥”类型的特征项对输入的明文进行加密,返回密文结果。
参数:
featureId - [IN] 产品的特征项ID。
plainBuffer - [IN] 数据缓存区地址,用于存储明文数据。
cipherBuffer - [OUT] 数据缓存区地址,用于存储密文数据。
bufferSize - [IN] 数据长度,最大长度为256字节。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

DecryptFeature

public Function DecryptFeature (
    ByVal featureId As Long,
    ByVal cipherBuffer As Byte,
    ByRef plainBuffer As Byte,
    ByVal bufferSize As Long) As Long
此函数用于使用“密钥”类型的特征项对输入的密文进行解密,返回明文结果。
参数:
featureId - [IN] 产品的特征项ID。
cipherBuffer - [IN] 数据缓存区地址,用于存储密文数据。
plainBuffer - [OUT] 数据缓存区地址,用于存储明文数据。
bufferSize - [IN] 数据长度,最大长度为256字节。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

QueryFeature

public Function QueryFeature (
    ByVal featureId As Long,
    ByRef capacity As Long) As Long
请求特征项,检查特征项是否存在并可用。可用于任意特征项类型。对于集团授权,函数执行成功后会占用一个模块用户数。
参数:
featureId - [IN] 产品的特征项ID。
capacity - [OUT] 当不为NULL时,获取特征项当前可用用户数。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

QueryFeatureEx

public Function QueryFeatureEx (
    ByVal featureId As Long,
    ByVal mode As Long,
    ByVal required As Long,
    ByRef pCapacity As Long,
    ByVal xmlScope As String) As Long
集团授权,通过featureId和version来占用特征项的用户数。
参数:
featureId - [IN] 产品的特征项ID。
mode - [IN] QueryEx的登录模式。 包含以下类型:
BIT_QUERY_DEFAULT - 非阻塞登录,占用required个用户数,如果用户数不够将返回错误,pCapacity 保存剩余用户数。
BIT_QUERY_AVAILABLE - 尽可能的占用 required(不能为 0)个用户数,如果用户数不够将占用剩余的用户数,pCapacity 保存当前申请到的用户数。
BIT_QUERY_CHECK - pCapacity 返回总共占用的用户数,required 必须为 0。
required - [IN] 表示需要占用的总用户数,总用户数包括当前设备已经占用的用户数,如果传入的数量大于当前特征项的最大用户数,则占用全部用户数。
pCapacity - [OUT] 特征项数据缓存区地址,用于存储读出的数据,根据mode参数的不同返回剩余用户数或者已占用户数。
xmlScope - [IN] 特征项支持小数版本,可以通过xml格式传入版本,也可以直接传入版本的字符串。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

QueryFeatureEx2

public Function QueryFeatureEx2 (
    ByVal featureName As String,
    ByVal mode As Long,
    ByVal required As Long,
    ByVal xmlScope As String,
    ByRef pTicket As Byte) As Long
集团授权,通过featureName和version来占用特征项的用户数。
参数:
featureName - [IN] 产品的特征项名称。
mode - [IN] QueryEx2的登录模式。 包含以下类型:
BIT_QUERY_DEFAULT - 非阻塞登录,占用required个用户数,如果用户数不够将返回错误。
BIT_QUERY_AVAILABLE - 尽可能的占用 required(不能为 0)个用户数,如果用户数不够将占用剩余的用户数。
BIT_QUERY_WAIT - 阻塞队列登录,如果用户数不够,将加入队列阻塞等待。
BIT_QUERY_QUEUE - 非阻塞队列登录,如果用户数不够,将加入队列,不会阻塞等待。
BIT_QUERY_TEST - 测试特征项版本是否可用,与DEFAULT、WAIT、QUEUE搭配使用。
BIT_QUERY_SHARED_USERS - 代表此次Query所占用的点数在同一机器下是共用的,与DEFAULT、WAIT、QUEUE搭配使用。
required - [IN] 表示需要占用的用户数,多次调用可累加占用用户数。
xmlScope - [IN] 特征项支持小数版本,可以通过 xml 格式传入版本,也可以直接传入版本的字符串。
pTicket - [IN/OUT] 输入时指针变量的值必须为0,输出时为当前Query请求的句柄。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

ReleaseFeature

public Function ReleaseFeature (
    ByVal featureId As Long,
    ByRef capacity As Long) As Long
释放特征项。集团授权会释放模块用户数。
参数:
featureId - [IN] 产品的特征项ID。
capacity - [OUT] 当不为NULL时,获取特征项当前可用用户数。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

ReleaseFeatureEx

public Function ReleaseFeatureEx (
    ByVal featureId As Long,
    ByVal consumed As Long,
    ByRef pCapacity As Long,
    ByVal xmlScope As String) As Long
集团授权,释放指定版本的特征项下的用户数。
参数:
featureId - [IN] 产品的特征项ID。
consumed - [IN] 需要释放的用户数,传0代表释放所有用户数,如果传入的释放数大于当前登录的用户数则释放所有用户数。
pCapacity - [OUT] 特征项数据缓存区地址,用于存储读出的数据,返回已释放的用户数。
xmlScope - [IN] 特征项支持小数版本,可以通过xml格式传入版本,也可以直接传入版本的字符串。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

ReleaseFeatureEx2

public Function ReleaseFeatureEx2 (
    ByVal ticket As Byte,
    ByVal consumed As Long) As Long
集团授权,释放指定ticket下的特征项的所有用户数。
参数:
ticket - [IN] 通过QueryFeatureEx2函数返回的上下文句柄。
consumed - [IN] 需要释放的用户数,目前默认必须传0,代表释放所有用户数。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

SetDataItem

public Function SetDataItem (
    ByVal dataItemName As String,
    ByVal dataItemValue As Byte,
    ByVal dataItemValueSize As Long) As Long
创建或更新配置项。如果相同名称的配置项存在,则会更新其中的数据;否则将添加新的授权码配置项。
参数:
dataItemName - [IN] 数据项名称,名称最大长度为128字节。
dataItemValue - [IN] 数据项数据缓存区地址,数据最大长度为1024字节。
dataItemValueSize - [IN] 数据项长度。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

RemoveDataItem

public Function RemoveDataItem (
    ByVal dataItemName As String) As Long
删除指定的配置项。该操作无法删除通过控制台设置的产品配置项或模版配置项。
参数:
dataItemName - [IN] 数据项名称,名称最大长度为128字节。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetDataItem

public Function GetDataItem (
    ByVal dataItemName As String,
    ByRef dataItemValue As Byte,
    ByRef dataItemValueSize As Long) As Long
读取指定的配置项数据。
参数:
dataItemName - [IN] 数据项名称,名称最大长度为128字节。
dataItemValue - [OUT] 数据项数据缓存区地址,数据最大长度为1024字节。
dataItemValueSize - [IN/OUT] 数据项长度。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetDataItemNum

public Function GetDataItemNum (
    ByRef num As Long) As Long
此函数用于获取可访问配置项的数量,一般用于配置项的枚举操作。
参数:
num - [OUT] 可访问的数据项总数,包括了所有可以访问到的产品、模版及授权码的数据项。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetDataItemName

public Function GetDataItemName (
    ByVal index As Long,
    ByRef dataItemName As Byte,
    ByRef dataItemNameSize As Long) As Long
根据配置项索引获取其名称,一般用于配置项的枚举操作。
参数:
index - [IN] 数据项索引。
dataItemName - [OUT] 用于存储数据项名称的存储区地址。
dataItemNameSize - [IN/OUT] 数据项名称存储区大小。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetSessionInfo

public Function GetSessionInfo (
    ByVal inputType As SessionType,
    ByRef sessionInfo As Byte,
    ByRef sessionInfoSize As Long) As Long
获取当前会话信息,以字符串形式返回。根据获取的内容不同,返回结果可能是XML格式或非XML格式。 返回数据中的日期项已根据客户端的本地时区进行调整。如果Login时未指定SN,返回串为当前系统所有可用SN的综合结果。
参数:
inputType - [IN] 获取会话信息类型。 包含以下类型:
XML_TYPE_SN_INFO - 获取当前会话中授权码的授权信息,以XML结构表示。未作限制的授权项将不会返回
XML_TYPE_FEATURE_INFO - 获取当前会话中授权码的特征项信息,以XML结构表示
XML_TYPE_DATA_INFO - 获取当前会话中授权码的配置项信息,以XML结构表示
BIT_SERVER_ADDRESS - 授权服务器IP地址。只对云授权有意义,其它授权方式将返回:127.0.0.1
BIT_SERVER_TIME - 授权服务器系统时间。如果是本地授权,将返回本机系统时间
BIT_CONTROL_TYPE - 授权类型。是以逗号分隔的以下几种类型的组合:Group(集团授权),Smart(智能连接), Float(可浮动), Demo(演示授权), USB(U盘授权), Force(强制认证)
BIT_VOLUME_NUMBER - 允许使用的机器数量
BIT_START_DATE - 授权开始日期
BIT_END_DATE - 授权结束日期
BIT_EXPIRATION_DAYS - 授权有效期,单位为天。有效期从激活时间算起
BIT_USAGE_NUMBER - 最大使用次数
BIT_CONSUMED_USAGE_NUMBER - 对于设定最大使用次数的授权码,返回当前使用次数
BIT_ACTIVATE_DATE - 授权码激活时间
BIT_USER_LIMIT - 集团授权用户数。对其它方式的授权返回0
BIT_LAST_UPDATE_DATE - 最后与服务器连接时间
BIT_MAX_OFFLINE_MINUTES - 强制认证最大离线时间(分钟)
sessionInfo - [OUT] 会话信息存储区地址。可以为NULL,此时仅用于获取存储区大小。
sessionInfoSize - [IN/OUT] 会话存储区大小。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetBorrowRequest

public Function GetBorrowRequest (
    ByVal sn As String,
    ByVal durationDay As Long,
    ByRef requestInfo As Byte,
    ByRef requestInfoSize As Long) As Long
获取授权在当前环境的借出请求码,用于发起授权的借出请求。
参数:
sn - [IN] 授权码(SN)字符串。使用账号进行借出则传空串或NULL。
durationDay - [IN] 借出天数。借出时间不能超过授权码的有效期。
requestInfo - [OUT] 用于存储借出请求串的存储区地址。
requestInfoSize - [IN/OUT] 输入时为借出请求码存储区大小,输出时为借出请求码长度。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

ApplyBorrowInfo

public Function ApplyBorrowInfo (
    ByVal borrowInfo As String) As Long
应用借出升级码完成本地授权应用。本函数必须在获取借出请求码的同一环境下执行。
参数:
borrowInfo - [IN] 由授权服务器获得的借出升级串。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

UpdateOnline

public Function UpdateOnline (
    ByVal url As String,
    ByVal sn As String) As Long
此函数用于与授权服务器在线连接,自动完成本地授权的升级操作。本函数需要进行网络连接。
参数:
url - [IN] 自定义授权服务器地址,包括端口。如未使用自定义授权服务器则为NULL。
sn - [IN] 授权码(SN)字符串。如果为空(空串或NULL)则尝试寻找所有当前本机可用的SN
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

CheckOutSn

public Function CheckOutSn (
    ByVal url As String,
    ByVal featureId As Long) As Long
从集团授权服务器借出一个完整的授权码,以允许客户端脱离集团服务器单独使用。被借出的集团授权码必须具有可借出属性,并在客户端成功借出后减少一个可用用户数。被借出的用户数在到期后将自动返还给集团服务器。
参数:
url - [IN] 集团授权服务器地址,包括端口。如输入NULL,则使用配置文件地址;如输入 * 号,则使用广播查找地址。
featureId - [IN] 指定借出授权码需要包含的特征项ID,为 0 则寻找第一个可借出授权码。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

CheckOutSnEx

public Function CheckOutSnEx (
    ByVal url As String,
    ByVal featureId As Long,
    ByVal xmlScope As String) As Long
从授权服务器借出一个完整的授权码,以允许客户端服务器单独使用。被借出的授权码必须具有可借出属性,并在客户端成功借出后减少一个可用用户数。被借出的用户数在到期后将自动返还给服务器。
参数:
url - [IN] 集团授权服务器地址,包括端口。如输入NULL,则使用配置文件地址;如输入 * 号,则使用广播查找地址。
featureId - [IN] 指定借出授权码需要包含的特征项ID,为 0 则寻找第一个可借出授权码。
xmlScope - [IN] 用于指定借出的参数,格式:<scope><type>ws</type><sn>xxxx</sn></scope>,type设定为ws时表示从云授权服务器借出和归还。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

CheckOutFeatures

public Function CheckOutFeatures (
    ByVal url As String) As Long
从集团授权服务器借出一组特征项,这些特征项必须包含在同一个授权码中。被借出的集团授权码必须具有可借出属性,并在客户端成功借出后减少一个可用用户数。被借出的用户数在到期后将自动返还给集团服务器。
参数:
url - [IN] 集团授权服务器地址,包括端口。如输入NULL,则使用配置文件地址;如输入 * 号,则使用广播查找地址。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

CheckIn

public Function CheckIn (
    ByVal url As String,
    ByVal featureId As Long) As Long
提前返还从集团授权服务器借出的授权。要提前返还授权,该授权码必须具有允许提前返还属性。
参数:
url - [IN] 集团授权服务器地址,包括端口。如输入NULL,则使用配置文件地址;如输入 * 号,则使用广播查找地址。
featureId - [IN] 指定要返还授权码需要包含的特征项ID,为 0 则寻找第一个可返还授权码。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

CheckInEx

public Function CheckInEx (
    ByVal url As String,
    ByVal featureId As Long,
    ByVal xmlScope As String) As Long
提前返还从授权服务器借出的授权。要提前返还授权,该授权码必须具有允许提前返还属性。
参数:
url - [IN] 集团授权服务器地址,包括端口。如输入NULL,则使用配置文件地址;如输入 * 号,则使用广播查找地址。
featureId - [IN] 指定要返还授权码需要包含的特征项ID,为 0 则寻找第一个可返还授权码。
xmlScope - [IN] 用于指定借出的参数,格式:<scope><type>ws</type><sn>xxxx</sn></scope>,type设定为ws时表示从云授权服务器借出和归还。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetInfo

public Function GetInfo (
    ByVal sn As String,
    ByVal inputType As InfoType,
    ByRef info As Byte,
    ByRef infoSize As Long) As Long
获取授权信息及使用环境信息,数据以XML格式返回。调用此函数前客户端不需要执行登录操作。
参数:
sn - [IN] 授权码(SN)字符串
inputType - [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列表信息
BIT_INFO_LICENSE_ERROR - 获取上一次接口调用产生的的详细错误信息(目前仅支持1921错误和网络错误)
info - [OUT] 用于存储返回XML信息数据的存储区地址。
infoSize - [IN/OUT] 输入的存储区长度。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

RemoveSn

public Function RemoveSn (
    ByVal sn As String) As Long
删除指定授权码在本机的授权数据,可用于测试或当授权数据出现问题而不能通过升级解决时的故障处理。
参数:
sn - [IN] 授权码(SN)字符串
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetVersion

public Function GetVersion (
    ByRef version As Long) As Long
获取客户端安全库版本号。
参数:
version - [OUT] 客户端安全库版本号。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetTicketInfo

public Function GetTicketInfo (
    ByVal ticket As Byte,
    ByVal type As Long,
    ByRef pXmlInfo As Byte,
    ByRef pSize As Long) As Long
查看指定ticket的相关信息。
参数:
ticket - [IN] 通过QueryFeatureEx2函数返回的上下文句柄。
type - [IN] 获取ticket的信息类型。 包含以下类型:
BIT_TICKET_TYPR_USERS - 获取当前 ticket 占用的用户数
pXmlInfo - [OUT] ticket信息存储区地址。
pSize - [IN/OUT] 输入时为存储区长度,输出时为返回信息的长度。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

SetAttr

public Function SetAttr (
    ByVal type As Long,
    ByVal pValue As Byte) As Long
设置回调函数、阻塞队列超时时间、心跳重试次数、心跳重试间隔等。
参数:
type - [IN] 设置函数功能类型。 包含以下类型:
ATTR_HB_RETRY_FAILED_CALLBACK - 心跳回调函数
ATTR_WAIT_TIMEOUT - 阻塞队列超时时间,最小16秒,最大24小时,默认是一直等待
ATTR_RETRY_COUNT - 心跳连接的重试次数。最小0次,最大1024次。默认是0次
ATTR_RETRY_INTERVAL - 心跳连接的重试间隔,最小是10秒,最大是4小时,默认是20秒
ATTR_CONNECT_TIMEOUT - 网络连接超时时间,最小是1秒,最大是32秒,默认是3秒
ATTR_CONNECT_RETRY_COUNT - 网络连接重试次数,最小是0次,最大是10次,默认是3次
ATTR_HB_STOPED_CALLBACK - 心跳停止回调函数,只会调用一次
ATTR_HB_INTERVAL - 设置心跳间隔,最小是30s,最大是1/2个timeout时间
ATTR_HB_AUTO_ENABLE - 是否启用自动心跳,传0表示禁止,非0表示启用
ATTR_HB_TIMEOUT - 客户端设置timeout时间,最小60秒,最大2592000秒,0代表清空客户端配置的timeout
ATTR_HB_RETRY_FAILED_CALLBACK_DATA - 传入心跳失败回调函数的data数据
ATTR_HB_STOPED_CALLBACK_DATA - 传入心跳停止回调函数的data数据
ATTR_HB_STOPED_CALLBACK_EX - 特征项的心跳失败回调
ATTR_HB_STOPED_CALLBACK_EX_DATA - 传入特征项的心跳失败回调函数的data数据
ATTR_HB_RETRY_CALLBACK_EX - 特征项的心跳停止回调函数
ATTR_HB_RETRY_CALLBACK_EX_DATA - 传入特征项的心跳停止回调函数的data数据
pValue - [IN] 阻塞队列超时时间或者是回调函数地址等。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetFeatureInfo2

public Function GetFeatureInfo2 (
    ByVal featureName As String,
    ByVal xmlScope As String,
    ByRef pExpired As Long) As Long
检查特征项是否存在,不会占用授权码或特征项的用户数,获取特征项的剩余有效期。
参数:
featureName - [IN] 产品的特征项名称。
xmlScope - [IN] 特征项的版本,可以通过xml格式传入版本,也可以直接传入版本的字符串。
pExpired - [OUT] 返回该特征项的剩余有效期,正数代表剩余有效期,负数代表过期天数,36500代表永久有效。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetLastError

public Function GetLastError () As Long
获取上一次接口返回的错误码。
参数:
返回:
可以根据返回值,从错误码表中查看具体的错误原因。

SetSessionState

public Function SetSessionState (
    ByVal state As Long,
    ByVal pReserved As Byte) As Long
设置客户端的状态为空闲状态或繁忙状态或激活状态。
参数:
state - [IN] 设置客户端的状态选项。 包含以下类型:
SESSION_STATE_UNSET - 表示不设置客户端的状态
SESSION_STATE_IDLE - 表示设置客户端为空闲态
SESSION_STATE_BUSY - 表示设置客户端为繁忙态
SESSION_STATE_ACTIVE - 表示设置客户端为激活态
pReserved - [IN] 目前保留必须传NULL。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

SetLocalServer

public Function SetLocalServer (
    ByVal szHostName As String,
    ByVal nPort As Long,
    ByVal nTimeoutSecondes As Long) As Long
设置集团服务的地址和端口。
参数:
szHostName - [IN] 集团服务所安装机器的IP地址。
nPort - [IN] 客户端应用程序的通讯端口,默认为 8273。
nTimeoutSecondes - [IN] 客户端超时秒数。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

TestBitService

public Function TestBitService (
    ByVal url As String,
    ByVal sn As String,
    ByVal featureId As Long) As Long
测试集团授权的特征项是否可用,不会占用授权码或特征项的用户数。
参数:
url - [IN] 自定义授权服务器地址,包括端口。如未使用自定义授权服务器则为NULL。
sn - [IN] 授权码(SN)字符串。如果为空(空串或NULL)则尝试寻找所有当前本机可用的SN
featureId - [IN] 登录授权所需要包含的特征项ID
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

SetRootPath

public Function SetRootPath (
    ByVal szPath As String) As Long
设置授权文件的存储路径。
参数:
szPath - [IN] 数据缓存区地址,用于存储授权文件的路径。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetProductPath

public Function GetProductPath (
    ByRef pBuf As Byte,
    ByVal lenBuf As Long) As Long
获取授权存储目录。
参数:
pBuf - [OUT] 数据缓存区地址,用于存储授权目录。
lenBuf - [IN] 授权目录数据长度。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

SetProxy

public Function SetProxy (
    ByVal szHostName As String,
    ByVal nPort As Long,
    ByVal szUserID As String,
    ByVal szPassword As String) As Long
设置代理服务的地址和端口。
参数:
szHostName - [IN] 代理服务所在机器的IP地址。
nPort - [IN] 客户端应用程序的通讯端口,默认为 8273。
szUserID - [IN] 代理服务所在机器的用户名。
szPassword - [IN] 代理服务所在机器的密码。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。