我去面试,碰到一家公司,给我一个C++的动态链接态,是一个图片查询的。要我使用asp.net去调用重写它的方法,但是我看了半天还是一头雾水,求救
.h后缀文件里的内容如下 /*
*-----------------------------------------------------------------------------
*
* Name: HWQueryClientDef.h
*
* Purpose: Query data from server
*
* Author: Xing
*
* Date: 2008/12
*
* Version: 1.0.12.08
*
*-----------------------------------------------------------------------------
*/ #if !defined(HW_QUERY_CLIENT)
#define HW_QUERY_CLIENT #ifdef __cplusplus
extern "C" {
#endif typedef enum tagHWQueryClientRet
{
HWQUERYCLIENT_OK = 0, // 正常
HWQUERYCLIENT_HAS_BEGIN = 1, // 已开始查询端
HWQUERYCLIENT_INIT_SOCKET_ERR = 2, // 初始SOCKET失败
HWQUERYCLIENT_CONNECT_ERR = 3, // 连接服务器失败
HWQUERYCLIENT_ERR_OCCUR = 4, // 有错误发生,一般性错误
HWQUERYCLIENT_QUERY_SEND_ERR = 5, // 发送查询请求失败
HWQUERYCLIENT_QUERY_MSG_ERR = 6, // 查询报文出错
HWQUERYCLIENT_QUERY_OVERTIME = 7, // 查询超时
HWQUERYCLIENT_QUERY_FAIL = 8, // 查询失败
}HWQueryClientRet; //运行时返回事件类型 typedef struct tagHWQueryClientParam
{
unsigned long ip; // 服务器IP
unsigned short port; // 网络端口号 5335
unsigned long heartbeat; // 心跳间隔时长(单位:ms) 一般输入4000
unsigned long overtime; // 查询超时时长(单位:ms) 一般输入10000
}HWQueryClientParam; //查询端参数 typedef struct tagHWQueryResult
{
HWQueryClientRet ret; // 返回类型,正常,失败,超时
unsigned long jpgLen; // 图片数据长度,可能为0(当返回类型不为正常时)
unsigned char * jpg; // 图片数据,可能为0(当返回类型不为正常时)
}HWQueryResult; //查询结果结构 typedef struct tagHWQueryClientEvent
{
HWQueryClientRet ret; // 事件类型
char * szMsg; // 字符串消息,\0结尾
void * pUserParam; // 用户参数
}HWQueryClientEvent; // 运行时事件回调, event为事件结构,用于通知运行时错误或异步查询结果的返回
typedef void(__stdcall * HWQUERYCLIENTCALLBACK)(HWQueryClientEvent event);
/*****************************************************************************/
/* 打开与服务器的连接 */
/* 参数: param 查询端参数 */
/* pCallBack 回调函数, 类型:参看回调函数的定义.可以为0 */
/* pUserParam 用户参数,传递到回调函数中. 类型: 指针. 可以为0 */
/* */
/* 返回: HWQueryClientRet 类型 */
/*****************************************************************************/
HWQueryClientRet __stdcall HWQueryClientBegin(HWQueryClientParam param, HWQUERYCLIENTCALLBACK pCallBack, void * pUserParam); /*****************************************************************************/
/* 查询数据 */
/* 参数: szPath 要查询的图片路径,字符串 */
/* */
/* 返回: HWQueryResult 类型 */
/*****************************************************************************/
HWQueryResult __stdcall HWQueryDataSynch(char * szPath); /*****************************************************************************/
/* 关闭库,释放所有资源 */
/* 参数: 无 */
/* 返回: 无 */
/*****************************************************************************/
void __stdcall HWQueryClientClose(void); #ifdef __cplusplus
}
#endif #endif
.h后缀文件里的内容如下 /*
*-----------------------------------------------------------------------------
*
* Name: HWQueryClientDef.h
*
* Purpose: Query data from server
*
* Author: Xing
*
* Date: 2008/12
*
* Version: 1.0.12.08
*
*-----------------------------------------------------------------------------
*/ #if !defined(HW_QUERY_CLIENT)
#define HW_QUERY_CLIENT #ifdef __cplusplus
extern "C" {
#endif typedef enum tagHWQueryClientRet
{
HWQUERYCLIENT_OK = 0, // 正常
HWQUERYCLIENT_HAS_BEGIN = 1, // 已开始查询端
HWQUERYCLIENT_INIT_SOCKET_ERR = 2, // 初始SOCKET失败
HWQUERYCLIENT_CONNECT_ERR = 3, // 连接服务器失败
HWQUERYCLIENT_ERR_OCCUR = 4, // 有错误发生,一般性错误
HWQUERYCLIENT_QUERY_SEND_ERR = 5, // 发送查询请求失败
HWQUERYCLIENT_QUERY_MSG_ERR = 6, // 查询报文出错
HWQUERYCLIENT_QUERY_OVERTIME = 7, // 查询超时
HWQUERYCLIENT_QUERY_FAIL = 8, // 查询失败
}HWQueryClientRet; //运行时返回事件类型 typedef struct tagHWQueryClientParam
{
unsigned long ip; // 服务器IP
unsigned short port; // 网络端口号 5335
unsigned long heartbeat; // 心跳间隔时长(单位:ms) 一般输入4000
unsigned long overtime; // 查询超时时长(单位:ms) 一般输入10000
}HWQueryClientParam; //查询端参数 typedef struct tagHWQueryResult
{
HWQueryClientRet ret; // 返回类型,正常,失败,超时
unsigned long jpgLen; // 图片数据长度,可能为0(当返回类型不为正常时)
unsigned char * jpg; // 图片数据,可能为0(当返回类型不为正常时)
}HWQueryResult; //查询结果结构 typedef struct tagHWQueryClientEvent
{
HWQueryClientRet ret; // 事件类型
char * szMsg; // 字符串消息,\0结尾
void * pUserParam; // 用户参数
}HWQueryClientEvent; // 运行时事件回调, event为事件结构,用于通知运行时错误或异步查询结果的返回
typedef void(__stdcall * HWQUERYCLIENTCALLBACK)(HWQueryClientEvent event);
/*****************************************************************************/
/* 打开与服务器的连接 */
/* 参数: param 查询端参数 */
/* pCallBack 回调函数, 类型:参看回调函数的定义.可以为0 */
/* pUserParam 用户参数,传递到回调函数中. 类型: 指针. 可以为0 */
/* */
/* 返回: HWQueryClientRet 类型 */
/*****************************************************************************/
HWQueryClientRet __stdcall HWQueryClientBegin(HWQueryClientParam param, HWQUERYCLIENTCALLBACK pCallBack, void * pUserParam); /*****************************************************************************/
/* 查询数据 */
/* 参数: szPath 要查询的图片路径,字符串 */
/* */
/* 返回: HWQueryResult 类型 */
/*****************************************************************************/
HWQueryResult __stdcall HWQueryDataSynch(char * szPath); /*****************************************************************************/
/* 关闭库,释放所有资源 */
/* 参数: 无 */
/* 返回: 无 */
/*****************************************************************************/
void __stdcall HWQueryClientClose(void); #ifdef __cplusplus
}
#endif #endif
解决方案 »
- 关于dotnetcharting数据更新的问题
- 一个字节数组bytes={'1','6','3','5','0','0','0'},后面都是'0',怎样返回包含1,6,3,5的字节数组,也就是去掉后面的0,不借助字符串。。。
- 概念的问题
- c#中恢复数据库时说数据库正在使用的问题
- 如何调换主窗体与字窗体?
- 如何使用自制控件?有沒有實例....
- C#如何直接读取Excel指定单元格的值?很是着急,请帮忙。
- 关于异常的问题
- 求助:ADOX创建access数据库的问题,急!
- 大家帮忙看下,谢谢大家了,本人不吝分数
- 利用api函数FindWindowEx()和SetFous()获得窗口焦点的问题
- c#数据库连接字符串前的@
回调函数看看这个吧,类似