文档库 最新最全的文档下载
当前位置:文档库 › CAN应用接口函数

CAN应用接口函数

CAN应用接口函数
CAN应用接口函数

CAN应用接口函数库使用手册V1.0

目录

1.接口卡设备类型定义 (3)

2.错误码定义 (4)

3.函数库中的数据结构定义 (5)

3.1.VCI_BOARD_INFO (5)

3.2.VCI_CAN_OBJ (6)

3.3.VCI_CAN_STATUS (7)

3.4.VCI_ERR_INFO (8)

3.5.VCI_INIT_CONFIG (9)

3.6.VCI_RxAcptMask (10)

3.7.VCI_RxAcptFilter (11)

4.接口库函数说明 (12)

4.1.FD_OpenDevice (12)

4.2.FD_CloseDevice (13)

4.3.FD_InitCan (14)

4.4.FD_ReadBoardInfo (15)

4.5.FD_GetReceiveNum (16)

4.6.FD_ClearBuffer (17)

4.7.FD_StartCAN (18)

4.8.FD_ResetCAN (19)

4.9.FD_Transmit (20)

4.10.FD_Receive (21)

4.11.FD_RxAcptMaskInit (22)

4.12.FD_DisableRxAcptFilter (23)

4.13.FD_RxAcptFilterInit (24)

4.13.FD_SetOperationMode (25)

5.接口库函数使用方法 (26)

5.1.VC调用动态库的方法 (26)

5.2.VB调用动态库的方法 (26)

1.接口卡设备类型定义

各个接口卡的类型定义如下:

设备名称设备类型号备注

USBCAN11第一代USBCAN USBCAN22第二代USBCAN CAN2323待开发PCICAN4待开发

2.错误码定义

在USBCAN II设备中未启用该功能。

3.函数库中的数据结构定义

3.1.VCI_BOARD_INFO

描述

VCI_BOARD_INFO结构体包含USBCAN II调试器的设备信息。结构体将在FD_ReadBoardInfo函数中被填充。

typedef struct_VCI_BOARD_INFO{

CHAR hw_Type[20];//硬件型号

USHORT hw_Version;//硬件版本

USHORT fw_Version;//固件版本

CHAR BuildDate[20];//固件编译日期

CHAR SerialNumber[16];//序列号

USHORT Reserved[4];

}VCI_BOARD_INFO,*PVCI_BOARD_INFO;

成员

hw_Type

硬件型号,使用ASIIC码表示。比如USBCAN II。

hw_Version

硬件版本号,用16进制表示。比如0x0100表示V1.00。

fw_Version

固件版本号,用16进制表示。

BuildDate

固件编译日期,使用ASIIC码表示。比如Sep72009。

SerialNumber

该设备的序列号。

Reserved

系统保留。

3.2.VCI_CAN_OBJ

描述

VCI_CAN_OBJ结构体在FD_Transmit和FD_Receive函数中被用来传送CAN信息帧。typedef struct_VCI_CAN_OBJ{

UINT ID;

UINT TimeStamp;

BYTE TimeFlag;

BYTE SendType;

BYTE RemoteFlag;

BYTE ExternFlag;

BYTE DataLen;

BYTE Data[8];

BYTE Reserved[3];

}VCI_CAN_OBJ,*PVCI_CAN_OBJ;

成员

ID

报文ID。

TimeStamp

接收到信息帧时的时间标识,从CAN控制器初始化开始计时。

TimeFlag

是否使用时间标识,为1时TimeStamp有效,TimeFlag和TimeStamp只在此帧为接收帧时有意义。

SendType

发送帧类型,在USBCAN II设备中未启用该功能。

RemoteFlag

是否是远程帧。

ExternFlag

是否是扩展帧。

DataLen

数据长度(<=8),即Data的长度。

Data

报文的数据。

Reserved

系统保留。

3.3.VCI_CAN_STATUS

描述

VCI_CAN_STATUS结构体包含CAN控制器状态信息。结构体将在FD_ReadCanStatus函数中被填充。在USBCAN II设备中未启用该功能。

typedef struct_VCI_CAN_STATUS{

UCHAR ErrInterrupt;

UCHAR regMode;

UCHAR regStatus;

UCHAR regALCapture;

UCHAR regECCapture;

UCHAR regEWLimit;

UCHAR regRECounter;

UCHAR regTECounter;

DWORD Reserved;

}VCI_CAN_STATUS,*PVCI_CAN_STATUS;

成员

ErrInterrupt

中断记录,读操作会清除。

regMode

CAN控制器模式寄存器。

regStatus

CAN控制器状态寄存器。

regALCapture

CAN控制器仲裁丢失寄存器。

regECCapture

CAN控制器错误寄存器。

regEWLimit

CAN控制器错误警告限制寄存器。

regRECounter

CAN控制器接收错误寄存器。

regTECounter

CAN控制器发送错误寄存器。

Reserved

系统保留。

3.4.VCI_ERR_INFO

描述

VCI_ERR_INFO结构体用于装载VCI库运行时产生的错误信息。结构体将在FD_ReadErrInfo函数中被填充。在USBCAN II设备中未启用该功能。

typedef struct_ERR_INFO{

UINT ErrCode;

BYTE Passive_ErrData[3];

BYTE ArLost_ErrData;

}VCI_ERR_INFO,*PVCI_ERR_INFO;

成员

ErrCode

错误码。

Passive_ErrData

当产生的错误中有消极错误时表示为消极错误的错误标识数据。

ArLost_ErrData

当产生的错误中有仲裁丢失错误时表示为仲裁丢失错误的错误标识数据。

3.5.VCI_INIT_CONFIG

描述

VCI_INIT_CONFIG结构体定义了初始化CAN的配置。结构体将在FD_InitCan函数中被填充。

typedef struct_INIT_CONFIG{

DWORD AccCode;

DWORD AccMask;

DWORD Reserved;

UCHAR Filter;

UINT BaudRate;//波特率选择:10,20,50,125,250,500,800,1000kbps

UCHAR Mode;

}VCI_INIT_CONFIG,*PVCI_INIT_CONFIG;

成员

AccCode

验收码,在USBCAN II设备中未启用该功能。

AccMask

屏蔽码,在USBCAN II设备中未启用该功能。

Reserved

保留,在USBCAN II设备中未启用该功能。

Filter

滤波方式,在USBCAN II设备中未启用该功能。

BaudRate

CAN总线波特率。

Mode

模式。在USBCAN II设备中未启用该功能。

RxAcptMask

3.6.VCI_

VCI_RxAcptMask

描述

VCI_RxAcptMask结构体定义了接收掩码的配置。结构体将在FD_RxAcptMaskInit函数中被填充。

typedef struct VCI_RxAcptMask{

UINT ID;

UCHAR M;

UCHAR Mide;

UCHAR Exide;

}RX_MASK,*PRX_MASK;

成员

ID

识符位

1=过滤器比较操作包含SIDx位

0=过滤器比较操作与SIDx位无关

M

第几路掩码器

Mide

标识符接收模式位

1=只匹配与过滤器中EXIDE位对应的报文类型(标准或扩展地址);

0=如果过滤器匹配则与标准或扩展地址报文匹配(即,如果(过滤器SID)=(报文SID)或(过滤器SID/EID)=(报文SID/EID))

Exide

扩展标识符位

1=过滤器比较操作包含EIDx位

0=过滤器比较操作与EIDx位无关

_RxAcptFilter

VCI_RxAcptFilter

3.7.VCI

描述

VCI_RxAcptMask结构体定义了接收滤波器的配置。结构体将在FD_RxAcptFilterInit函数中被填充。

typedef struct VCI_RxAcptFilter{

UINT ID;

UCHAR N;

UCHAR Exide;

UCHAR MaskSel;

}RX_FILTER,*PRX_FILTER;

成员

ID

标识符位

1=报文地址位SIDx必须为1才能与过滤器匹配

0=报文地址位SIDx必须为0才能与过滤器匹配

N

第几路滤波器

Exide

扩展标识符使能位

如果MIDE=1:

1=只与带有扩展标识符地址的报文匹配

0=只与带有标准标识符地址的报文匹配

如果MIDE=0:

忽略EXIDE位。

MaskSel

掩码器选择位

3=无屏蔽

2=选择接收屏蔽寄存器2

1=选择接收屏蔽寄存器1

0=选择接收屏蔽寄存器0

4.接口库函数说明

_OpenDevice

4.1.FD

FD_OpenDevice

描述

此函数用以打开设备。

DWORD__stdcall FD_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);

参数

DevType

设备类型号。

DevIndex

设备索引号,比如当只有一个USBCAN II时,索引号为0,有两个时可以为0或1。(注:当为CAN232时,0表示要打开的是COM1,1表示要打开的是COM2。)

Reserved

当设备为CAN232时,此参数表示为用以打开串口的波特率,可以为2400,4800,9600,14400,19200,28800,57600。当设备为CANETE-E时,此参数表示要打开的本地端口号,建议在5000到40000范围内取值。当为其他设备时此参数无意义。

返回值

为1表示操作成功,0表示操作失败。

_CloseDevice

4.2.FD

FD_CloseDevice

描述

此函数用以关闭设备。

DWORD__stdcall FD_CloseDevice(DWORD DevType,DWORD DevIndex);

参数

DevType

设备类型号。

DevIndex

设备索引号,比如当只有一个USBCAN II时,索引号为0,有两个时可以为0或1。(注:当为CAN232时,0表示要打开的是COM1,1表示要打开的是COM2。)

返回值

为1表示操作成功,0表示操作失败。

_InitCan

FD_InitCan

4.3.FD

描述

此函数用以初始化指定的CAN。

DWORD__stdcall FD_InitCan(DWORD DevType,DWORD DevIndex,DWORD CANIndex, PVCI_INIT_CONFIG pInitConfig);

参数

DevType

设备类型号。

DevIndex

设备索引号,比如当只有一个USBCAN II时,索引号为0,有两个时可以为0或1。(注:当为CAN232时,0表示要打开的是COM1,1表示要打开的是COM2。)

CANIndex

第几路CAN。

pInitConfig

初始化参数结构

返回值

为1表示操作成功,0表示操作失败。

_ReadBoardInfo

FD_ReadBoardInfo

4.4.FD

描述

此函数用以获取设备信息。

DWORD__stdcall FD_ReadBoardInfo(DWORD DevType,DWORD DevIndex, PVCI_BOARD_INFO pInfo);

参数

DevType

设备类型号。

DevIndex

设备索引号,比如当只有一个USBCAN II时,索引号为0,有两个时可以为0或1。(注:当为CAN232时,0表示要打开的是COM1,1表示要打开的是COM2。)

pInfo

用来存储设备信息的VCI_BOARD_INFO结构指针。

返回值

为1表示操作成功,0表示操作失败。

_GetReceiveNum

FD_GetReceiveNum

4.4.5

5.FD

描述

此函数用以获取指定接收缓冲区中接收到但尚未被读取的帧数。

ULONG__stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);

参数

DevType

设备类型号。

DevIndex

设备索引号,比如当只有一个USBCAN II时,索引号为0,有两个时可以为0或1。(注:当为CAN232时,0表示要打开的是COM1,1表示要打开的是COM2。)

CANIndex

第几路CAN。

返回值

返回尚未被读取的帧数。

_ClearBuffer

FD_ClearBuffer

4.4.66.FD

描述

此函数用以清空指定缓冲区。

DWORD__stdcall FD_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);

参数

DevType

设备类型号。

DevIndex

设备索引号,比如当只有一个USBCAN II时,索引号为0,有两个时可以为0或1。(注:当为CAN232时,0表示要打开的是COM1,1表示要打开的是COM2。)

CANIndex

第几路CAN。

返回值

为1表示操作成功,0表示操作失败。

_StartCAN

FD_StartCAN

4.4.77.FD

描述

此函数用以启动CAN。

DWORD__stdcall FD_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);参数

DevType

设备类型号。

DevIndex

设备索引号,比如当只有一个USBCAN II时,索引号为0,有两个时可以为0或1。(注:当为CAN232时,0表示要打开的是COM1,1表示要打开的是COM2。)

CANIndex

第几路CAN。

返回值

为1表示操作成功,0表示操作失败。

_ResetCAN

FD_ResetCAN

4.4.88.FD

描述

此函数用以复位CAN。

DWORD__stdcall FD_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);

参数

DevType

设备类型号。

DevIndex

设备索引号,比如当只有一个USBCAN II时,索引号为0,有两个时可以为0或1。(注:当为CAN232时,0表示要打开的是COM1,1表示要打开的是COM2。)

CANIndex

第几路CAN。

返回值

为1表示操作成功,0表示操作失败。

_Transmit

FD_Transmit

4.4.99.FD

描述

返回实际发送的帧数。

ULONG__stdcall FD_Transmit(DWORD DevType,DWORD DevIndex,DWORD CANIndex, PVCI_CAN_OBJ pSend,

ULONG Len);

参数

DevType

设备类型号。

DevIndex

设备索引号,比如当只有一个USBCAN II时,索引号为0,有两个时可以为0或1。(注:当为CAN232时,0表示要打开的是COM1,1表示要打开的是COM2。)

CANIndex

第几路CAN。

pSend

要发送的数据帧数组的首指针。

Len

要发送的数据帧数组的长度。

返回值

返回实际发送的帧数。

MT明泰_读卡器_API接口函数库使用说明书

API接口函数库使用说明 部文件:V1.0.20 发布时间:2015-04-29

版本更新记录

目录 API接口函数库使用说明 (1) 1. 文档概述 (6) 1.1. 文档围 (6) 1.2. 面向对象 (6) 1.3. 参考资料 (6) 2. 函数库介绍 (6) 2.1. 功能 (6) 2.2. 性能 (7) 3. 运行环境 (7) 3.1. 硬设备 (7) 3.2. 软件的运行平台 (7) 3.3. 函数调用方法 (8) 3.3.1. Delphi调用32位动态库的方法 (8) 3.3.2. VB调用32位动态库的方法 (9) 3.3.3. VC调用32位动态库的方法 (11) 4. API介绍 (11) 4.1. 函数调用流程 (11) 4.1.1. 非接触式存储卡API调用流程 (11) 4.1.2. 非接触式CPU卡片API调用流程 (12) 4.1.3. 接触式CPU卡片API调用流程 (12) 4.1.4. 接触式存储卡片API调用流程 (12) 4.1.5. API调用流程 (12) 4.1.6. 函数操作结果信息表 (16) 4.2. 设备操作函数组 (19) 4.2.1 打开读写器device_open (19) 4.2.2 关闭读写器device_close (19) 4.2.3 判断设备通讯类型device_gettype (19) 4.2.4 设置通讯波特率device_setbaud (20) 4.2.5 获取读写器版本信息device_version (20)

4.2.6 读写器蜂鸣device_beep (21) 4.2.7 LED灯控制 device_ledctrl (21) 4.2.8 获取读写器生产序列号 device_readsnr (22) 4.2.9 获取设备状态 get_device_status (22) 4.2.10 读取读卡器的EEPROM (23) 4.2.11更新读卡器的EEPROM (23) 4.2.12 复位串口配置信息 ReSetupComm (24) 4.2.13 读卡器软复位 device_reset (24) 4.2.14 获取设备状态扩展 get_device_statusEx (25) 4.2.15 获取非接触式CPU卡卡片状态 dev_cardstate (25) 4.2.16 获取接触式CPU卡到位状态 ICC_GetStatus (26) 4.2.17 读EMID号Dev_GetEMID (26) 4.3 接触式卡片操作函数 (27) 4.3.1 判断接触式卡片状态sam_slt_getstate (27) 4.3.2 接触式卡片上电复位sam_slt_reset (28) 4.3.3 接触式卡设置复位波特率sam_slt_reset_baud (28) 4.3.4 接触式卡片下电sam_slt_powerdown (29) 4.4. 非接触 CPU 卡函数 (29) 4.4.1 激活非接触式卡open_card (29) 4.4.2 设置非接触式卡片为halt状态 rf_halt (30) 4.4.3 应用层传输命令card_APDU (31) 4.5 非接触式存储卡操作函数 (31) 4.5.1 激活非接触式存储卡rf_card (31) 4.5.2 非接触式存储卡认证扇区 rf_authentication (33) 4.5.3 非接触式存储卡读数据rf_read (33) 4.5.4 非接触式存储卡写数据rf_write (34) 4.5.5 非接触式存储卡读值块rf_readval (34) 4.5.6 非接触式存储卡写值块rf_initval (35) 4.5.7 非接触式存储卡加值rf_increment (35) 4.5.8 非接触式存储卡减值rf_decrement (36) 4.5.9 非接触式存储卡值传送 rf_transfer (36) 4.6 二代操作函数 (37) 4.6.1 卡操作指令-读卡IDCard_Read (37) 4.6.2 卡操作指令-读卡IDCard_ReadCard (39) 4.6.3卡操作指令根据索引获取数据IDCard_GetCardInfo (40) 4.6.4 获取二代证模块ID IDCard_GetModeID (40) 4.6.5 读卡模块扩展一IDCard_ReadCard_Extra (41) 4.6.6 设置二代证照片存储路径 IDCard_SetPhotoPath (41) 4.6.7 设置二代证照片名字 IDCard_SetPhotoName (42) 4.6.8 读二代证信息扩展二 IDCard_ReadCard_Ex (42) 4.6.9 删除所有二代证照片文件delete_all_photofile (44) 4.6.10 获取卡ID号IDCard_Read_IDNUM (44) 4.6.11 获取卡IDCard_Name (45) 4.6.12 获取卡性别IDCard_Sex (45)

ODBC的接口函数

ODBC的接口函数 1.连接到数据源 下面的函数用于连接到数据源: (1)SQLAllocHandle:分配环境、连接、语句或者描述符句柄。(2)SQLConnect:建立与驱动程序或者数据源的连接。访问数据源的连接句柄包含了包括状态、事务申明和错误信息的所有连接信息。(3)SQLDriverConnect:与SQLConnect相似,用来连接到驱动程序或者数据源。但它比SQLConnect支持数据源更多的连接信息,它提供了一个对话框来提示用户设置所有的连接信息以及系统信息表没有定义的数据源。 (4)SQLBrowseConnect:支持一种交互方法来检索或者列出连接数据源所需要的属性和属性值。每次调用函数可以获取一个连接属性字符串,当检索完所有的属性值,就建立起与数据源的连接,并且返回完整的连接字符串,否则提示缺少的连接属性信息,用户根据此信息重新输入连接属性值再次调用此函数进行连接。 2.获取驱动程序和数据源信息 下面的函数用来获取驱动程序和数据源信息: (1)SQLDataSources:能够被调用多次来获取应用程序使用的所有数据源的名字。 (2)SQLDrivers:返回所有安装过的驱动程序清单,包括对它们的描述以及属性关键字。 (3)SQLGetInfo:返回连接的驱动程序和数据源的元信息。

(4)SQLGetFunctions:返回指定的驱动程序是否支持某个特定函数的信息。 (5)SQLGetTypeInfo:返回指定的数据源支持的数据类型的信息。 3.设置或者获取驱动程序属性 下面的函数用来设置或者获取驱动程序属性: (1)SQLSetConnectAttr:设置连接属性值。 (2)SQLGetConnectAttr:返回连接属性值。 (3)SQLSetEnvAttr:设置环境属性值。 (4)SQLGetEnvAttr:返回环境属性值。 (5)SQLSetStmtAttr:设置语句属性值。 (6)SQLGetStmtAttr:返回语句属性值。 4.设置或者获取描述符字段 下面的函数用来设置或者获取描述符字段: (1)SQLGetDescField:返回单个描述符字段的值。 (2)SQLGetDescRec:返回当前描述符记录的多个字段的值。(3)SQLSetDescField:设置单个描述符字段的值。 (4)SQLSetDescRec:设置描述符记录的多个字段。 5.准备SQL语句 下面的函数用来准备SQL语句: (1)SQLPrepare:准备要执行的SQL语句。 (2)SQLBindParameter:在SQL语句中分配参数的缓冲区。 (3)SQLGetCursorName:返回与语句句柄相关的游标名称。

接口使用说明文档

中国移动短信网关 SP端接口使用手册 China Mobile Shot Message Gateway Interface for SP Manual 作者:沈岗 日期:2004年1月 版本:V1.2

一、CMSMIF.CMPPApp 简要说明: 该类采用CMPP协议(V2.0)实现了SP端与移动短信网关的连接处理。 本类中,采用长连接方式与ISMG通讯。通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交。当信道上没有数据传输时,通信双方应每隔时间C发送链路检测包以维持此连接,当链路检测包发出超过时间T后未收到响应,立即再发送链路检测包,再连续发送N-1次后仍未得到响应则断开此连接。参数C、T、N可通过属性配置。 消息发送时采用并发方式,即发送一条消息不等待网关回复确认,继续向网关发送短信,这样发送消息速度非常快,完全取决于网关的处理速度及网络速度。为避免消息丢失,同时采用了滑动窗口流量控制,窗口大小可通过属性设置。 消息接收、网络断开等采用事件触发方式,不需应用程序轮询,在此接口基础之上编程方便。 类中运用了多线程技术,如一条线程处理发送网络包,而另一条线程处理从网关上接收网络包,其他还有一些线程处理检测包、网络连接情况监测等,使程序思路明确、执行效率很高、运行非常稳定。 (一)属性 1.ActiveInterval 说明:检测包发送时间间隔,单位:毫秒。默认值为120000,即120秒。为上 述类说明中的C参数。 2.MaxNetworkPackSize 说明:与ISMG通讯时最大网络包大小,单位:字节。默认值为512Byte。 3.MaxRetryTimes 说明:网络超时最大重发次数,单位:次。默认值为3次。为类说明中的N。 4.OverTime 说明:网络包发送超时时间,单位:毫秒,超过此值还未收到回复则重发。默认值 为60000,即60秒。为类说明中的T。 5.QueueLength 说明:网络队列大小,单位:个,默认值为20。为类说明中的滑动窗口大小, 以控制发送流量。 (二)方法 1.ConnectToIsmg 方法说明: 连接到远程短信网关ISMG上,只有连接到远程短信网关上,才可进行短信收发操作。 在本操作中,自动初始化本地Socket,以连接到指定IP服务器的指定端口上。 声明原型:int ConnectToIsmg(string ServerIP,int Port,string SP_ID,string Secret,string SN) 参数说明: ServerIP:远程短信网关服务器的IP地址,如211.138.200.51 Port:远程短信网关服务器的端口号,如7890 SP_ID:企业服务代码

输入法接口函数说明

输入法编程(转贴)(快看) IME输入法编程 第一章Windows9x系统下汉字输入法的基本原理 Windows系统下汉字输入法实际上是将输入的标准ascii字符串按照一定的编码规则转换为汉字或汉字串,进入到目的地。由于应用程序各不相同,用户不可能自己去设计转换程序,因此,汉字输入自然而然落到WINDOWS系统管理中。 一、输入法与系统的关系 键盘事件应用程序 || Windows的USER.EXE | 输入法管理器 | 输入法 系统的键盘事件有windows的user.exe软件接收后,user.exe在将键盘事件传导输入法管理器(Input Method Manager,简称IMM)中,管理器再将键盘事件传到输入法中,输入法根据用户编码字典,翻译键盘事件为对应的汉字(或汉字串),然后再反传到user.exe 中,user.exe再将翻译后的键盘事件传给当前正运行的应用程序,从而完成汉字的输入。 二、汉字输入法的组成 微软Windows9x系统中汉字输入法的名称是"Input Method Editor " ,简称IME,输入法的程序名称为:*.ime,数据文件名称为*.MB,即通常说的输入法编码表(字典). 实际上IME文件是一个动态连接库程序(DLL),它与dll文件没有区别,只是名称不同而已。 一般汉字输入法都由三个窗口组成: 状态窗口(Status Windows)-显示当前的输入法状态(中文还是英文等站环信息); 编码输入窗口(Composition Windows)-显示当前击键情况; 汉字选择窗口(Candidates Windows)-列出当前编码的全部汉字(串),供用户选择或查询。 上述三个窗口由基本的用户接口(User Interface )函数管理着。 现在我们用Dumpbin.exe打开微软提供的拼音输入法(WINDOWS\SYSTEM\WINPY.IME)看看它有什么组成(这里一WINDOWS98为例,并假定windows系统安装在c:盘下):

DLL函数接口说明

typedef void __stdcall (*fun_AddResult)(char pDataStr[10][255],double pDataDouble[100]); extern "C" void __declspec(dllimport) __stdcall SetBackColor(TColor pBkColor); extern "C" void __declspec(dllimport) __stdcall FanSelect( void *pSeriesNames,//系列名称YLDStr * (typedef struct{char Data[255];} YLDStr;) const int pSeriesNameCount,//系列名称个数,-1时表示全部选择 void *pSubSeriesNames,//系列名称YLDStr * (typedef struct{char Data[255];} YLDStr;) const int pSubSeriesNameCount,//子系列名称个数,-1时表示全部选择 const double &pFlow, //风量 const int &pFlowUnitType, //风量单位类型0-m^3/h 1-m^3/s 2-l/s 3-cfm const double &pPres, //风压 const int &pPresUnitType, //风压单位类型0-Pa 1-mmH2O 2-kgf/cm^2 3-inH2O const int &pPresType, //风压类型0-全压1-静压 const int &pOutFanType,//出风方式0-管道出风1-自由出风 const double &pAirDensity,//空气密度 const double &pMotorSafeCoff,//电机容量安全系数(%) const bool &pUserSetMotorSafeCoff,//用户设定了电机容量安全系数 double &rFlow_STDUnit,//标准单位下的风量 fun_AddResult pAddResult//函数指针,用于回传数据 ); extern "C" void __declspec(dllimport) __stdcall Belt_Selection( const char *pSeriesName, const char *pSubTypeName, const char *pModelName, const int &pSped_DataType,//电机转速类型0-标准数据1-用户数据默认为0(界面选择) const int &pHz_DataType,//频率选择0-50HZ 1-60HZ(界面选择) const int &pRotation,//出风旋转角度R0,R90,R180,R270(参考常量定义) const double &pFanSped,//风机转速(第一步计算得到) const double &pMotorPow,//电机功率(第一步计算得到) const double &pFlow_STDUnit,//标准单位下的风量 const double &pTPres,//全压(第一步计算得到) const double &pSPres,//静压(第一步计算得到) const double &pFTEff,//全压内效率(第一步计算得到) const double &pSdbA,//噪声(第一步计算得到) const int &pV olt,//用户选择的电压(参考电压常量声明V380 V400) , bool pPole[4],//用户选择的极数2,4,6,8 bool pBeltType[4],//用户选择的皮带类型SPZ SPA SPB SPC const bool &pBeSetFanSped,//用户设定了风机转速 const double &pFanSpedRt_User,//用户设定的风机转速差 const bool &pBeSetBeltMoveSped,//用户设定最大皮带运动速度 const double &pBeltMoveSped_User,//用户设定的最大皮带运动速度

LWIP接口函数的文档

Lwip 协议栈的设计与实现 (中文版) Swedish Institute of Computer Science February 20, 2001 作者:Adam Dunkels adam@sics.se 翻译:果农(QQ:10205001) 核桃(QQ:329147) 佳旭(QQ:3232253) 整理:佳旭(QQ:3232253) 本文为QQ群ARM TCPIP LCD(群号:10988210)版权所有未经作者许可不得用于商业用途 摘要

LWIP是TCP/IP协议栈的一种实现。LWIP的主要目的是减少存储器利用量和代码尺寸,使LWIP适合应用于小的、资源有限的处理器如嵌入式系统。为了减少处理器和存储器要求,lwIP 可以通过不需任何数据拷贝的API进行裁减。 本文叙述了lwIP的设计与实现。叙述了协议实现及子系统中所使用的算法和数据结构如存储和缓冲管理系统。还包括LWIP API的参考手册和使用LWIP 的一些代码例子。 目录 1 Introduction (1) 2 Protocol layering (1) 3 Overview (2) 4 Process model (2) 5 The operating system emulation layer (3) 6 Buffer and memory management...................................................................... (3) 6.1 Packet buffers -pbufs (3) 6.2 Memory management (5) 7 Network interfaces........................................................................................ .. (5) 8 IP processing (7) 8.1 Receiving packets (7) 8.2 Sending packets (7) 8.3 Forwarding packets (8) 8.4 ICMP processing (8) 9 UDP processing............................................................................................ (8) 10 TCP processing.......................................................................................... (9) 10.1 Overview (9) 10.2 Data structures (10)

API函数手册

POSTEK PPLⅠAPI函数手册 G Series 条码标签打印机 Version 2.00 深圳市博思得通信发展有限公司 二○○四年

API函数库文件说明 名称:CDFPSK.dll 中文版本编号:1.X.X.X 英文版本编号:2.X.X.X 版权所有:?2004深圳市博思得通信发展有限公司。保留所有权利。 用途 本API函数库为深圳市博思得通信发展有限公司条码标签打印机的用户提供一组命令,为他们编写基于Windows9X,NT,2000,XP等操作系统的应用程序提供便利。 本API函数库仅支持本公司产品。 缩略语对照 PPLⅠ:深圳市博思得通信发展有限公司的第一套打印机编程语言(Printer Porgram Language Ⅰ)。 API:应用程序编程接口(Application Program Interface)。 Dots:像素(pixel)是一种计算机科学技术尺寸单位,原指电视图像成像的最小单位,在打印机领域表示打印机的最小打印成像单位:1dot等于一英寸除以打印机的最大分辨率。 - 对于203DPI的打印机来说, 1dot = 25.4mm/203 = 0.125mm(1dot = 1000 / 203 = 5mil); - 对于300DPI的打印机来说, 1dot = 25.4mm/300 = 0.085mm(1dot = 1000 / 300 = 3mil)。 TrueType Font:是基于Windows操作系统使用,可装卸的字体。 - 已经安装的TrueType Font,都可以被本函数使用。 使用前须知 字符串 * 字符串以双引号(“)作为起始和结束标记; *

CAN应用接口函数

CAN应用接口函数库使用手册V1.0

目录 1.接口卡设备类型定义 (3) 2.错误码定义 (4) 3.函数库中的数据结构定义 (5) 3.1.VCI_BOARD_INFO (5) 3.2.VCI_CAN_OBJ (6) 3.3.VCI_CAN_STATUS (7) 3.4.VCI_ERR_INFO (8) 3.5.VCI_INIT_CONFIG (9) 3.6.VCI_RxAcptMask (10) 3.7.VCI_RxAcptFilter (11) 4.接口库函数说明 (12) 4.1.FD_OpenDevice (12) 4.2.FD_CloseDevice (13) 4.3.FD_InitCan (14) 4.4.FD_ReadBoardInfo (15) 4.5.FD_GetReceiveNum (16) 4.6.FD_ClearBuffer (17) 4.7.FD_StartCAN (18) 4.8.FD_ResetCAN (19) 4.9.FD_Transmit (20) 4.10.FD_Receive (21) 4.11.FD_RxAcptMaskInit (22) 4.12.FD_DisableRxAcptFilter (23) 4.13.FD_RxAcptFilterInit (24) 4.13.FD_SetOperationMode (25) 5.接口库函数使用方法 (26) 5.1.VC调用动态库的方法 (26) 5.2.VB调用动态库的方法 (26)

1.接口卡设备类型定义 各个接口卡的类型定义如下: 设备名称设备类型号备注 USBCAN11第一代USBCAN USBCAN22第二代USBCAN CAN2323待开发PCICAN4待开发

OCX接口说明V4

1.概述 精伦电子股份有限公司开发的二代身份证读卡系列机具适用于相关行业的联机型应用。产品提供了完善的二次软件开发接口(API)。本手册针对提供的ActiveX控件,对开发接口的文件组成、方法定义格式、调用方法及返回值等进行了详细的说明。 2.接口文件说明 接口文件包括: IdrControl.ocx Dewlt.dll Savephoto.dll Wltrs.dll 适用开发语言: 网络脚本开发 第一次使用时,需要以管理员身份运行SetupOCX.exe对控件进行安装注册。 更新说明: V4.0.1.0增加对编码设备支持,可设置日志文件。 V4.0.0.6增加RepeatRead 方法,可设置后进行连续读身份证。 V4.0.0.0增加对210-P的支持。 V3.4.1.4解决和13002相关在20130726的读卡体管理号问题。 V3.4.1.3解决一个潜在导致内存泄漏的问题。 V3.4.1.2增加GetCardPhotobuf方法,用于获取身份证正反面图片JPG格式Base64编码信息。 V3.4.1.0增加ExportPhoto方法,可在读卡结束后生成指定照片和卡图片文件名。

3.接口方法说明 3.1. 身份证方法 3.1.1.读身份证方法 原型:short ReadCard(long iPort,BSTR PhotoPath) 说明:本方法将打开端口、找卡、读卡等功能进行了集成,可用于打开串口或USB口并读取二代证卡内信息。 参数: 1、iPort:设置串口、USB或iDR210免驱动USB-HID。 普通串口 1 – 16(十进制) 例如: 1:串口1(COM1) 2:串口2(COM2) USB USB-HID (iDR210) 1001 例如: 1001:USB 2、PhotoPath:生成图片文件的绝对路径,包括生成的照片文件photo.bmp,photo.jpg和指定文件名的照片文件,和身份证正反面图片card.jpg。该参数为""时,默认将照片文件保存到Windows系统临时文件目录(GetTempPath())。也可自行设置保存的路径,比如:"d:\\photos\\photo.bmp",注意文件参数必须设置正确,才能正确地将相片文件放在指定位置(相片文件夹若不存在,将会自动生成新文件夹)。 返回值: 值说明 1 正确 -1 端口初始化失败 -2 卡认证失败(请重新将 卡放到读卡器) -3 读取数据失败 -4 生成照片文件失败(请 检查设定路径和磁盘空

API应用程序编程接口详解

API应用程序编程接口 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。另外,也是美国石油协会、空气污染指数、医药、空中位置指示器的英文简称。 Windows API是一套用来控制Windows的各个部件(从桌面的外观到为一个新进程分配的内存)的外观和行为的一套预先定义的Windows函数.用户的每个动作都会引发一个或几个函数的运行以告 诉Windows发生了什么.

这在某种程度上很象Windows的天然代码.其他的语言只是提供一种能自动而且更容易的访问API的方法.VB在这方面作了很多工作.它完全隐藏了API并且提供了在Windows环境下编程的一种完全不同的方法. 这也就是说,你用VB写出的每行代码都会被VB转换为API函数传递给Windows.例如,Form1.Print...VB 将会以一定的参数(你的代码中提供的,或是默认参数)调用TextOut 这个API函数。同样,当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体(这对于你来说是隐藏的),VB获取这个调用并经过分析后生成一个 特定事件(Button_Click). API函数包含在Windows系统目录下的动态连接库文件中(如User32.dll,GDI32.dll,Shell32.dll...). 更易理解地说:Windows 这个多作业系统除了协调应用程式的执行、分配内存、管理系统资源…之外,她同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由於这些函数服务的对象是应用程式(Application),所以便称之为Application Programming Interface,简称API 函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。 凡是在Windows 工作环境底下执行的应用程式,都可以 调用Windows API。 API的历史与现状

api接口文档

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。 API:应用程序接口(API:Application Program Interface) 应用程序接口(是一组定义、程序及协议的集合,通过API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过调用API 函数对应用程序进行开发,可以减轻编程任务。API 同时也是一种中间件,为各种不同平台提供数据共享。 根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将API 分为四种类型: 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过数据库实现应用程序间的数据共享。 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。

信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。 当前应用于API 的标准包括ANSI 标准SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API 可以应用于所有计算机平台和操作系统。这些API 以不同的格式连接数据(如共享数据缓存器、数据库结构、文件框架)。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种API 只处理一种信息格式,所以该情形下的信息交付API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API 类型是比较理想的选择。 API 与图形用户接口(GUI)或命令接口有着鲜明的差别:API 接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。 有时公司会将API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。

ORACLE数据库API接口函数设计说明

ORACLE数据库API接口函数设计说明 API接口函数使用示例: 参见程序OCIDEMO.DSW //工程中不用在连接ociw32.lib只用xjoci.lib就行了。 假定: 工程文件为newocidemo,所在目录为c:\newocidemo,newocidemo.exe 位于c:\newocidemo\debug下面 使用步骤: 1、将MyConnection.h;oratypes.h;ocidem.h;ocidfn.h;xioci.lib复制到c:\newocidemo下面 2、将xioci.dll复制到c:\newocidemo\debug下面 3、设置project 下的settings 下面的link 中的object/library modules: 为xjoci.lib 4、在file中添加MyConnection.h,从而在class中会出现connection,cursor两个新类 API接口函数类设计: CONNECTION类 class connection { friend class cursor; public: BOOL IsConnected(); connection();

~connection(); BOOL connect(char *username, char *password,char *sername); BOOL disconnect(); void display_error() const; private: Lda_Def lda; ub1 hda[HDA_SIZE]; enum conn_state { not_connected, connected }; conn_state state; }; BOOL connect(char *username, char *password,char *sername); 函数用途:connect函数建立OCI程序与ORACLE数据库的连接参数说明:char *username,--用户名 char *password,--口令 char *sername—主机字符串(数据库别名)。 返回值:连接成功返回TRUE,不成功返回FALSE BOOL disconnect(); 函数用途:disconnect函数断开与数据库的连接 参数说明:

API函数详解

API函数详解 摘要:什么是API 你不学API,你大概将停留在初级水平,无法往上攀登 API文本游览器 什么时候使用什么函数,什么时候使用什么结构类型,什么时候使用什么常数 一些API函数集 正文: API函数详解(转载自红尘如烟) 标签: 首先,有必要向大家讲一讲,什么是API。所谓API本来是为C和C++程序员写的。API说来说去,就是一种函数,他们包含在一个附加名为DLL的动态连接库文件中。用标准的定义来讲,API就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,它使编程人员可以用不同类型的编程语言编制出的运行在Windows95和Wi ndows NT操作系统上的应用程序。可以说,如果你曾经学过VC,那么API对你来说不是什么问题。但是如果你没有学过VC,或者你对Windows95的结构体系不熟悉,那么可以说,学习API将是一件很辛苦的事情。 如果你打开WINDOWS的SYSTEM文件夹,你可以发现其中有很多附加名为DLL的文件。一个DLL中包含的API函数并不只是一个,数十个,甚至是数百个。我们能都掌握它嘛?回答是否定的∶不可能掌握。但实际上,我们真的没必要都掌握,只要重点掌握Wi ndos系统本身自带的API函数就可以了。但,在其中还应当抛开掉同VB本身自有的函数重复的函数。如,VB的etAttr命令可以获得文件属性,SetAttr可以设置文件属性。对A PI来讲也有对应的函数GetFileAttributes和SetFileAttributes,性能都差不多。如此地一算,剩下来的也就5、600个。是的,也不少。但,我可以敢跟你说,只要你熟悉地掌握100个,那么你的编程水平比现在高出至少要两倍。尽管人们说VB和WINDOWS具有密切的关系,但我认为,API更接近WINDOWS。如果你学会了API,首要的收获便是对W INDOWS体系结构的认识。这个收获是来自不易的。 如果你不依靠API会怎么样?我可以跟你说,绝大多是高级编程书本(当然这不是书的名程叫高级而高级的,而是在一开始的《本书内容》中指明《本书的阅读对象是具有一定V B基础的读者》的那些书),首先提的问题一般大都是从API开始。因此可以说,你不学A PI,你大概将停留在初级水平,无法往上攀登。唯一的途径也许就是向别人求救∶我快死了,

C++接口使用说明

NetCDF C++接口使用说明 作者:杜鸿飞 完成时间:2004年4月

目录 一、NetCDF文件介绍 (2) 二、NetCDF C++类函数详解 (3) 1. NcFile类公有成员函数 (3) 文件操作 (3) 维数操作 (4) 变量操作 (4) 属性操作 (6) 2. NcDim类公有成员函数 (7) 3. NcVar类公有成员函数 (7) 4. NcAtt类公有成员函数 (9) 三、NetCDF C++使用举例 (10)

//***************** function about dimension ****************************** int num_dims(); 返回文件所含dim数目 int unlimdimid(); 返回unlimited dimension的ID void def_dim(NcDim &dim); 将参数dim定义到文件中 NcDim inq_dim(int dimid); 返回文件中ID号为dimid的dim维数 NcDim inq_dim(const string dimname); 返回文件中名字为dimname的dim维数 void rename_dim(int dimid, string name); 将文件中ID号为dimid的维数重命名为name //***************** function about variable ****************************** int num_vars(); 返回文件所含var数目 void def_var(NcVar &var); 将参数var定义到文件中 NcVar inq_var(int varid); 返回文件中ID号为varid的var变量 NcVar inq_var(const string varname); 返回文件中名字为varname的var变量 void rename_var(int varid, string name); 将文件中ID号为varid的变量重命名为name template void put_var_single(int varid, int index[], Type value); 给文件中ID号为 varid的var变量写入一个值 varid:欲写入值的变量的ID号 index: 欲写入值在变量中位置的索引,用数组存储,如对于一个3维变量,对其任一元素写值,index为一含3个元素的数组(0,0,0)到(2,2,2); value: 将要写入的值,为摸板参数类型,其类型由函数自动解析。 template void put_var_entire(int varid, Type block[]); 给文件中ID号为 varid的var变量整体写入值 varid:欲写入值的变量的ID号 block: 存储将要写入值的数组地址,该数组大小应不小于变量实际元素个数。block为摸板参数类型,其类型由函数自动解析。 template void put_var_array(int varid, int start[], int count[], Type *block); 给文件中ID号为 varid的var变量部分写入值 varid:欲写入值的变量的ID号 start:欲写入值的其始位置索引,格式同put_var_single函数中的index参数

Openssl函数接口介绍

Openssl有关大数运算函数接口介绍 主要介绍Openssl中的有关大数运算函数,这个对于以后的RSA研究和实现比较有价值 1.初始化函数 BIGNUM *BN_new(void); 新生成一个BIGNUM结构 void BN_free(BIGNUM *a); 释放一个BIGNUM结构,释放完后a=NULL; void BN_init(BIGNUM *); 初始化所有项均为0,一般为BN_ init(&c) void BN_clear(BIGNUM *a); 将a中所有项均赋值为0,但是内存并没有释放void BN_clear_free(BIGNUM *a); 相当与将BN_free和BN_clear综合,要不就赋值0,要不就释放空间。 2.上下文情景函数,存储计算中的中间过程 BN_CTX *BN_CTX_new(void);申请一个新的上下文结构 void BN_CTX_init(BN_CTX *c);将所有的项赋值为0,一般BN_CTX_init(&c) void BN_CTX_free(BN_CTX *c);释放上下文结构,释放完后c=NULL; 3.复制以及交换函数 BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b);将b复制给a,正确返回a,错误返回NULL BIGNUM *BN_dup(const BIGNUM *a);新建一个BIGNUM结构,将a复制给新建结构返回,错误返回NULL BIGNUM *BN_swap(BIGNUM *a, BIGNUM *b);交换a,b

4.取位函数 int BN_num_bytes(const BIGNUM *a);返回a的位数,大量使用 int BN_num_bits(const BIGNUM *a); int BN_num_bits_word(BN_ULONG w);他返回有意义比特的位数,例如0x00000432 为11。 5.基本计算函数 int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);r=a+b int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);r=a-b int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx);r=a*b int BN_sqr(BIGNUM *r, BIGNUM *a, BN_CTX *ctx);r=a*a,效率高于 bn_mul(r,a,a) int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *a, const BIGNUM *d, BN_CTX *ctx);d=a/b,r=a%b int BN_mod(BIGNUM *rem, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx);r=a%b int BN_nnmod(BIGNUM *rem, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx);r=abs(a%b) int BN_mod_add(BIGNUM *ret, BIGNUM *a, BIGNUM *b, const BIGNUM *m, BN_CTX *ctx);r=abs((a+b)%m)) int BN_mod_sub(BIGNUM *ret, BIGNUM *a, BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); r=abs((a-b)%m)) int BN_mod_mul(BIGNUM *ret, BIGNUM *a, BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); r=abs((a*b)%m)) int BN_mod_sqr(BIGNUM *ret, BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); r=abs((a*a)%m)) int BN_exp(BIGNUM *r, BIGNUM *a, BIGNUM *p, BN_CTX *ctx);r=pow(a,p) int BN_mod_exp(BIGNUM *r, BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx); r=pow(a,p)%M int BN_gcd(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx);r=a,b最大公约数 int BN_add_word(BIGNUM *a, BN_ULONG w); int BN_sub_word(BIGNUM *a, BN_ULONG w); int BN_mul_word(BIGNUM *a, BN_ULONG w);

相关文档