方法摘要

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

方法详细信息

Login

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

LoginEx

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

LoginByToken

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

LoginByTokenEx

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

Logout

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

ReadFeature

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

WriteFeature

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

ConvertFeature

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

EncryptFeature

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

DecryptFeature

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

QueryFeature

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

QueryFeatureEx

function QueryFeatureEx (
    featureId: longint;
    mode: longint;
    required: longint;
    var pCapacity: longint;
    xmlScope: Pointer) : longint
集团授权,通过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

function QueryFeatureEx2 (
    featureName: Pointer;
    mode: longint;
    required: longint;
    xmlScope: Pointer;
    pTicket: Pointer) : longint
集团授权,通过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

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

ReleaseFeatureEx

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

ReleaseFeatureEx2

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

SetDataItem

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

RemoveDataItem

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

GetDataItem

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

GetDataItemNum

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

GetDataItemName

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

GetSessionInfo

function GetSessionInfo (
    sessionType: SESSION_TYPE_ENUM;
    sessionInfo: Pointer;
    var sessionInfoSize: longint) : longint
获取当前会话信息,以字符串形式返回。根据获取的内容不同,返回结果可能是XML格式或非XML格式。 返回数据中的日期项已根据客户端的本地时区进行调整。如果Login时未指定SN,返回串为当前系统所有可用SN的综合结果。
参数:
sessionType - [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] 会话存储区大小。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetRequestInfo

function GetRequestInfo (
    sn: Pointer;
    bindingType: BINDING_TYPE_ENUM;
    requestInfo: Pointer;
    var requestInfoSize: longint) : longint
获取当前运行环境的升级请求码,用于发起本地授权激活及升级请求。
参数:
sn - [IN] 授权码(SN)字符串。如果为空(空串或NULL)则尝试寻找所有当前本机可用的SN
bindingType - [IN] 本地授权绑定类型。 包含以下类型:
BINDING_EXISTING - 使用当前绑定类型,对已激活授权码进行升级时使用。
BINDING_LOCAL - 使用本机指纹进行绑定
BINDING_USB_STORAGE - 使用USB存储器进行绑定
requestInfo - [OUT] 用于存储请求码的存储区地址。
requestInfoSize - [IN/OUT] 输入时为请求码存储区大小,输出时为请求码长度。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetUpdateInfo

function GetUpdateInfo (
    url: Pointer;
    sn: Pointer;
    requestInfo: Pointer;
    updateInfo: Pointer;
    var updateInfoSize: longint) : longint
使用请求码与授权服务器进行连接,获取升级码。本函数需要进行网络连接。
参数:
url - [IN] 自定义授权服务器地址,包括端口。如未使用自定义授权服务器则为NULL。
sn - [IN] 授权码(SN)字符串
requestInfo - [IN] 由获取请求码函数得到的请求码。
updateInfo - [OUT] 由授权服务器获得的本地授权升级码。
updateInfoSize - [IN/OUT] 输入时为存储区大小,输出时为升级码长度。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

ApplyUpdateInfo

function ApplyUpdateInfo (
    updateInfo: Pointer;
    receiptInfo: Pointer;
    var receiptInfoSize: longint) : longint
应用升级码完成本地授权激活或升级。本函数必须在获取请求码的同一环境下执行。
参数:
updateInfo - [IN] 由授权服务器获得的本地授权升级码。
receiptInfo - [OUT] 确认码,记录升级状态,可在控制台上解析。
receiptInfoSize - [IN/OUT] 输入时为存储区大小,输出时为确认码长度。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

GetBorrowRequest

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

ApplyBorrowInfo

longint ApplyBorrowInfo (
    borrowInfo: Pointer)
应用借出升级码完成本地授权应用。本函数必须在获取借出请求码的同一环境下执行。
参数:
pApplicationData - [IN] 产品识别码。记录在接口定义文件中,与产品一一对应。
borrowInfo - [IN] 由授权服务器获得的借出升级串。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

UpdateOnline

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

Revoke

function Revoke (
    url: Pointer;
    sn: Pointer;
    revocationInfo: Pointer;
    var revocationInfoSize: longint) : longint
从客户端迁出已激活的浮动授权码。授权码迁出后,可以用于其它的客户端。根据输入参数的不同,本函数可用于在线或离线迁出。
参数:
url - [IN] 自定义授权服务器地址,包括端口。如未使用自定义授权服务器则为NULL。
sn - [IN] 授权码(SN)字符串
revocationInfo - [OUT] 迁出请求码的存储区地址。为NULL表示进行在线迁出,否则API将执行手工离线迁出,请求码应发给服务器进行确认。
revocationInfoSize - [IN/OUT] 输入时为请求码存储区大小,输出时为请求码长度。如此参数为NULL,函数将选择在线迁出。
返回:
如果返回值为零,表示此函数调用成功。如果非零,可以根据返回值,从错误码表中查看具体的错误原因。

CheckOutSn

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

CheckOutSnEx

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

CheckOutFeatures

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

CheckIn

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

CheckInEx

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

GetInfo

function GetInfo (
    sn: Pointer;
    infoType: INFO_TYPE_ENUM;
    info: Pointer;
    var infoSize: longint) : longint
获取授权信息及使用环境信息,数据以XML格式返回。调用此函数前客户端不需要执行登录操作。
参数:
sn - [IN] 授权码(SN)字符串
infoType - [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

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

GetVersion

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

GetTicketInfo

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

SetAttr

function SetAttr (
    type: longint;
    pValue: Pointer) : longint
设置回调函数、阻塞队列超时时间、心跳重试次数、心跳重试间隔等。
参数:
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

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

SetSessionState

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

GetLastError

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

SetLocalServer

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

TestBitService

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

SetRootPath

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

GetProductPath

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

SetProxy

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