以下是camer_def.h的内容:
#ifndef CAMERDEF_H
#define CAMERDEF_H
//消息类型
typedef enum
{
CAMERDLG_MESS_SHOT = 1,
CAMERDLG_MESS_CONFIG, //配置
CAMERDLG_MESS_GETCFG, //获取配置
}CAMERDLG_MESS_TYPE;
//回调函数结构体
typedef struct
{
char user_id[32];
char desc[256];
BYTE state;
}CamerCbParam_t;
//时间段结构体
typedef struct
{
UCHAR StartHour; /* 起始小时 /
UCHAR StartMinute; / 起始分钟 /
UCHAR EndHour; / 结束小时 /
UCHAR EndMinute; / 结束分钟 /
UCHAR Week; / 星期,每个位代表一天 */
UCHAR resv3;
}PERIOD_STRUCT;
//Camer系统配置(32字节)
typedef struct
{
//4字节
BYTE CamerType; /* Camer类型CAMER_TYPE_ENUM /
BYTE ImageSize; / 图像大小,见CAMER_IMAGE_SIZE_ENUM定义 /
USHORT SampleTime; / 采集周期(单位分钟) */
//4字节
BYTE ImageCompress; /* 压缩率(0~255) */
BYTE CamerId; /* Camer编号(0~255) */
BYTE Port:4; /* 串口号(仅读取配置时使用) */
BYTE Baudrate:4; /* 波特率(仅读取配置时使用) */
BYTE resv; /* 保留 */
//4字节
USHORT PowerUpTime; /* 上电延时(单位毫秒) */
BYTE PowerChannel; /* 电源控制IO通道 */
BYTE resv2; /* 保留 */
//时间段1(6字节)
PERIOD_STRUCT Period1;
//时间段2(6字节)
PERIOD_STRUCT Period2;
//8个字节
BYTE bNeedReply:1; /* 发送数据需要应答 */
BYTE bFatfs:1; /* 使用文件系统 */
BYTE bOfflineSample:1; /* 通讯不在线时也采集数据 */
BYTE bSendLog:1; /* 发送日志 */
BYTE bPowerControl:1; /* 电源控制 */
BYTE bTimeAsFileName:1; /* 使用时间作为文件名 */
BYTE bResv:2;
BYTE resvarray[7]; /* 保留7个字节 */
}CAMER_CFG_STRUCT;
//摄像头配置
typedef struct
{
CAMER_CFG_STRUCT DevCfg;
//电源控制使能
BYTE PwrCtrl;
//时段使能
UCHAR Period1EN;
UCHAR Period2EN;
//发送模式
UCHAR SendMode;
UCHAR Resv;
//密码
char Password[32];
//重试次数
INT32 RetryCnt;
INT32 Timeout;
//发送索引
UINT32 SendIndex;
UINT32 ExecuteIndex;
UINT32 StateIndex;
//回调函数
void* (__stdcall *callback)(HWND hWnd,void* buffer,void* parameter);
//窗口句柄
HWND hWnd;
}CamerCfg_t;
#endif
以下是拍照相关的函数:
//CAMER拍照指令
//参数:userid 设备编码
TCMDLLAPI int TCMCALL do_send_camer_shot(char* userid, //设备编码
CamerCfg_t* CamerCfg, //参数
char *mess);
该函数已封装在 tcm_dll.dll 中了,但以上是VC的代码,看不懂,也不知道怎么转换,请高手帮忙转成 vb.net 的代码,谢谢了!!