|
|
|
|
|
#ifndef _HVDEVICEUTILS_H_
|
|
|
|
|
|
#define _HVDEVICEUTILS_H_
|
|
|
|
|
|
|
|
|
|
|
|
#include "tinyxml.h"
|
|
|
|
|
|
#include "HvDeviceEx.h"
|
|
|
|
|
|
#include "HvCameraType.h"
|
|
|
|
|
|
#include "HVAPI_HANDLE_CONTEXT_EX.h"
|
|
|
|
|
|
#include<sys/types.h>
|
|
|
|
|
|
#include<sys/socket.h>
|
|
|
|
|
|
#include<unistd.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define PROTOCOL_MERCURY 1
|
|
|
|
|
|
#define PROTOCOL_EARTH 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef SAFE_DELETE
|
|
|
|
|
|
#define SAFE_DELETE(p) if (p) {delete p; p = NULL ; }
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#define IVN_MAX_SIZE 128
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef SAFE_DELETE_ARG
|
|
|
|
|
|
#define SAFE_DELETE_ARG(p) if ( p ) {delete[] p; p = NULL; }
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>Ϣ<EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
|
typedef struct _RECORD_IMAGE_INFO_EX
|
|
|
|
|
|
{
|
|
|
|
|
|
RECT rcPlate;
|
|
|
|
|
|
RECT rcFacePos[20];
|
|
|
|
|
|
int nFaceCount;
|
|
|
|
|
|
DWORD32 dwCarID;
|
|
|
|
|
|
DWORD32 dwWidth;
|
|
|
|
|
|
DWORD32 dwHeight;
|
|
|
|
|
|
DWORD64 dw64TimeMs;
|
|
|
|
|
|
}_RECORD_IMAGE_INFO_EX;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ͼƬ<CDBC>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
|
typedef struct _RECORD_IMAGE_EX
|
|
|
|
|
|
{
|
|
|
|
|
|
_RECORD_IMAGE_INFO_EX cImgInfo;
|
|
|
|
|
|
PBYTE pbImgInfo;
|
|
|
|
|
|
PBYTE pbImgData;
|
|
|
|
|
|
DWORD dwImgInfoLen;
|
|
|
|
|
|
DWORD dwImgDataLen;
|
|
|
|
|
|
}RECORD_IMAGE_EX;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>Ƶ<EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
|
typedef struct _RECORD_VIDEO_ILLEGAL
|
|
|
|
|
|
{
|
|
|
|
|
|
PBYTE pbVideoInfo;
|
|
|
|
|
|
PBYTE pbVideoData;
|
|
|
|
|
|
DWORD dwVideoInfoLen;
|
|
|
|
|
|
DWORD dwVideoDataLen;
|
|
|
|
|
|
DWORD dwCarID;
|
|
|
|
|
|
DWORD dwWidth;
|
|
|
|
|
|
DWORD dwHeight;
|
|
|
|
|
|
DWORD64 dw64TimeMS;
|
|
|
|
|
|
}RECORD_VIDEO_ILLEGAL;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
|
typedef struct _RECORD_IMAGE_GROUP_EX
|
|
|
|
|
|
{
|
|
|
|
|
|
RECORD_IMAGE_EX cBestSnapshot;
|
|
|
|
|
|
RECORD_IMAGE_EX cLastSnapshot;
|
|
|
|
|
|
RECORD_IMAGE_EX cBeginCapture;
|
|
|
|
|
|
RECORD_IMAGE_EX cBestCapture;
|
|
|
|
|
|
RECORD_IMAGE_EX cLastCapture;
|
|
|
|
|
|
RECORD_IMAGE_EX cPlatePicture;
|
|
|
|
|
|
RECORD_IMAGE_EX cPlateBinary;
|
|
|
|
|
|
RECORD_VIDEO_ILLEGAL cIllegalVideo;
|
|
|
|
|
|
}RECORD_IMAGE_GROUP_EX;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ˮ<><CBAE>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
typedef enum {
|
|
|
|
|
|
XML_CMD_TYPE_NULL, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><DEB3><EFBFBD>
|
|
|
|
|
|
XML_CMD_TYPE_CUSTOM, // <20>ɴ<EFBFBD><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|
|
|
|
|
XML_CMD_TYPE_INT,
|
|
|
|
|
|
XML_CMD_TYPE_DOUBLE,
|
|
|
|
|
|
XML_CMD_TYPE_FLOAT,
|
|
|
|
|
|
XML_CMD_TYPE_BOOL,
|
|
|
|
|
|
XML_CMD_TYPE_DWORD,
|
|
|
|
|
|
XML_CMD_TYPE_STRING,
|
|
|
|
|
|
XML_CMD_TYPE_BIN,
|
|
|
|
|
|
XML_CMD_TYPE_INTARRAY1D,
|
|
|
|
|
|
XML_CMD_TYPE_INTARRAY2D
|
|
|
|
|
|
} XML_CMD_TYPE;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýṹ<C3BD><E1B9B9>
|
|
|
|
|
|
typedef struct _CXmlParseInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
CHAR szKeyName[128];
|
|
|
|
|
|
CHAR szKeyValue[128];
|
|
|
|
|
|
INT nKeyValueLen;
|
|
|
|
|
|
XML_CMD_TYPE eKeyType;
|
|
|
|
|
|
_CXmlParseInfo()
|
|
|
|
|
|
{
|
|
|
|
|
|
szKeyName[0]='\0';
|
|
|
|
|
|
szKeyValue[0]='\0';
|
|
|
|
|
|
nKeyValueLen = 128;
|
|
|
|
|
|
eKeyType = XML_CMD_TYPE_NULL;
|
|
|
|
|
|
}
|
|
|
|
|
|
}CXmlParseInfo;
|
|
|
|
|
|
|
|
|
|
|
|
//XMLЭ<4C><D0AD><EFBFBD>ؼ<EFBFBD><D8BC>ֺ<EFBFBD>
|
|
|
|
|
|
#define HX_TYPE "TYPE"
|
|
|
|
|
|
#define HX_TYPE_INT "INT"
|
|
|
|
|
|
#define HX_TYPE_STRING "STRING"
|
|
|
|
|
|
#define HX_TYPE_BIN "BIN"
|
|
|
|
|
|
#define HX_TYPE_FLOAT "FLOAT"
|
|
|
|
|
|
#define HX_CMDNAME "CmdName"
|
|
|
|
|
|
#define HX_VALUE "Value"
|
|
|
|
|
|
#define HX_RECODE "Value"
|
|
|
|
|
|
#define HX_RETMSG "RetMsg"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* sock<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>TRUE ʧ<EFBFBD>ܣ<EFBFBD>FALSE]
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool InitWSA();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* sock<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>TRUE ʧ<EFBFBD>ܣ<EFBFBD>FALSE]
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool UnInitWSA();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SOCKET
|
|
|
|
|
|
* @param[in] af <EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* @param[in] type sock<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* @param[in] protocol <EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>Э<EFBFBD><EFBFBD>
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL ]
|
|
|
|
|
|
*/
|
|
|
|
|
|
SOCKET HvCreateSocket(int af=AF_INET, int type=SOCK_STREAM, int protocol=0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvSetRecvTimeOut <EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD>ճ<EFBFBD>ʱ]
|
|
|
|
|
|
* @param hSocket [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iMS [<EFBFBD><EFBFBD>ʱ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvSetRecvTimeOut(const SOCKET& hSocket, int iMS);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvSetSendTimeOut <EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD>ͳ<EFBFBD>ʱ]
|
|
|
|
|
|
* @param hSocket [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iMS [<EFBFBD><EFBFBD>ʱ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvSetSendTimeOut(const SOCKET& hSocket, int iMS);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvListen <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param hSocket [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nPort [<EFBFBD>˿<EFBFBD>]
|
|
|
|
|
|
* @param backlog [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvListen(const SOCKET& hSocket, int nPort, int backlog);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvAccept <EFBFBD>ȴ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param hSocket [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param hNewSocket [Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iTimeout [<EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvAccept(const SOCKET& hSocket, SOCKET& hNewSocket, int iTimeout/*=-1*/);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|
|
|
|
|
* @param pszLog [<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
*/
|
|
|
|
|
|
void WriteLog(const char *pszLog);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [RecvAll <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>socket<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param socket [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pBuffer [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iRecvLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [ʵ<EFBFBD>ʽ<EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
*/
|
|
|
|
|
|
int RecvAll( int socket, char *pBuffer, int iRecvLen );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [RecvAll <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>socket<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param socket [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pBuffer [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iRecvLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iRealRecvLen [ʵ<EFBFBD>ʽ<EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [ʵ<EFBFBD>ʽ<EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
*/
|
|
|
|
|
|
int RecvAll(int socket, char *pBuffer, int iRecvLen , int& iRealRecvLen) ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [ExecXmlExtCmd <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>xmlЭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szIP [<EFBFBD>豸IP]
|
|
|
|
|
|
* @param szXmlCmd [<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szRetBuf [<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nBufLen [<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>TRUE ʧ<EFBFBD>ܣ<EFBFBD>FALSE]
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool ExecXmlExtCmd(char* szIP, char* szXmlCmd, char* szRetBuf, int& nBufLen);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [ExecXmlExtCmd <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>xmlЭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szXmlCmd [<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szRetBuf [<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iBufLen [<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param sktSend [<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>TRUE ʧ<EFBFBD>ܣ<EFBFBD>FALSE]
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool ExecXmlExtCmd(char* szXmlCmd, char* szRetBuf,
|
|
|
|
|
|
int& iBufLen, SOCKET sktSend);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [IsNewProtocol <EFBFBD>Ƿ<EFBFBD>Ϊ֧<EFBFBD>ֵ<EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szIP [<EFBFBD>豸IP]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>TRUE ʧ<EFBFBD>ܣ<EFBFBD>FALSE]
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool IsNewProtocol(char *szIP);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [SearchHVDeviceCount <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pdwCount [<EFBFBD>豸<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT SearchHVDeviceCount(DWORD32 *pdwCount);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [GetHVDeviceAddr <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iIndex [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pdw64MacAddr [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ]
|
|
|
|
|
|
* @param pdwIP [<EFBFBD>豸IP]
|
|
|
|
|
|
* @param pdwMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pdwGateway [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT GetHVDeviceAddr(int iIndex,
|
|
|
|
|
|
DWORD64 *pdw64MacAddr,
|
|
|
|
|
|
DWORD32 *pdwIP,
|
|
|
|
|
|
DWORD32 *pdwMask,
|
|
|
|
|
|
DWORD32 *pdwGateway);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [SetIPFromMac ͨ<EFBFBD><EFBFBD>MAC<EFBFBD><EFBFBD>IP]
|
|
|
|
|
|
* @param dw64MacAddr [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ]
|
|
|
|
|
|
* @param dwIP [<EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>IP]
|
|
|
|
|
|
* @param dwMask [<EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param dwGateway [<EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT SetIPFromMac(DWORD64 dw64MacAddr, DWORD dwIP,DWORD dwMask, DWORD dwGateway);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [BuildHvCmdXml <EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pXmlBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD>ݵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ]
|
|
|
|
|
|
* @param pCmdName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iArgCount [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param rgszName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param rgszValue [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
*/
|
|
|
|
|
|
int BuildHvCmdXml(
|
|
|
|
|
|
char* pXmlBuf,
|
|
|
|
|
|
char* pCmdName,
|
|
|
|
|
|
int iArgCount,
|
|
|
|
|
|
const char rgszName[][IVN_MAX_SIZE],
|
|
|
|
|
|
const char rgszValue[][IVN_MAX_SIZE]
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [GetParamStringFromXml <EFBFBD><EFBFBD>HvXmlЭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vaule(String)]
|
|
|
|
|
|
* @param pCmdArgElement [xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pszParamName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pszParamValue [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ]
|
|
|
|
|
|
* @param nParamValueSize [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT GetParamStringFromXml(
|
|
|
|
|
|
const TiXmlElement* pCmdArgElement,
|
|
|
|
|
|
const char *pszParamName,
|
|
|
|
|
|
char *pszParamValue,
|
|
|
|
|
|
int nParamValueSize
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [GetParamIntFromXml <EFBFBD><EFBFBD>HvXmlЭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vaule(int)]
|
|
|
|
|
|
* @param pCmdArgElement [xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pszParamName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pnParamValue [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT GetParamIntFromXml(
|
|
|
|
|
|
const TiXmlElement* pCmdArgElement,
|
|
|
|
|
|
const char *pszParamName,
|
|
|
|
|
|
int *pnParamValue
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvGetDeviceExteInfo <EFBFBD><EFBFBD>ȡ<EFBFBD>豸<EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD>Ϣ]
|
|
|
|
|
|
* @param iIndex [<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param lpExtInfo [<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD>Ϣ]
|
|
|
|
|
|
* @param iBufLen [<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvGetDeviceExteInfo(int iIndex, LPSTR lpExtInfo, int iBufLen);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvGetXmlProtocolVersion <EFBFBD><EFBFBD>ȡЭ<EFBFBD><EFBFBD><EFBFBD>汾]
|
|
|
|
|
|
* @param szIP [<EFBFBD>豸IP]
|
|
|
|
|
|
* @param pdwVersionType [<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvGetXmlProtocolVersion(char* szIP, DWORD *pdwVersionType);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [ConnectCamera <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸]
|
|
|
|
|
|
* @param szIp [<EFBFBD>豸IP]
|
|
|
|
|
|
* @param wPort [<EFBFBD>˿<EFBFBD>]
|
|
|
|
|
|
* @param hSocket [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iTryTimes [<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iReceiveTimeOutMs [<EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD>ʱ <EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool ConnectCamera( char *szIp, WORD wPort, int &hSocket, int iTryTimes=0, int iReceiveTimeOutMs = 20000);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvGetRecordImage <EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pbRecordData [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param dwRecordDataLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pRecordImag [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvGetRecordImage(PBYTE pbRecordData, DWORD dwRecordDataLen, RECORD_IMAGE_GROUP_EX* pRecordImag);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvGetRecordImage_Mercury <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szAppendInfo [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ]
|
|
|
|
|
|
* @param pbRecordData [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param dwRecordDataLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pcRecordImage [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvGetRecordImage_Mercury(const char* szAppendInfo, PBYTE pbRecordData, DWORD dwRecordDataLen, RECORD_IMAGE_GROUP_EX* pcRecordImage);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvMakeXmlInfoByString <EFBFBD>жϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Xml<EFBFBD><EFBFBD>Xml<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param fNewProtocol [<EFBFBD>Ƿ<EFBFBD><EFBFBD>µ<EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param inXmlOrStrBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>xml]
|
|
|
|
|
|
* @param nInlen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szOutXmlBuf [xml<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nOutlen [xml<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvMakeXmlInfoByString(bool fNewProtocol, const char*inXmlOrStrBuf, int nInlen,
|
|
|
|
|
|
char* szOutXmlBuf, int &nOutlen);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvMakeXmlCmdByString <EFBFBD>жϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Xml<EFBFBD><EFBFBD>Xml<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param fNewProtocol [<EFBFBD>Ƿ<EFBFBD><EFBFBD>µ<EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param inXmlOrStrBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>xml]
|
|
|
|
|
|
* @param nInlen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szOutXmlBuf [xml<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nOutlen [xml<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvMakeXmlCmdByString(bool fNewProtocol, const char* inXmlOrStrBuf, int nInlen, char *szOutXmlBuf, int &nOutlen);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvMakeXmlCmdByString <EFBFBD>жϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Xml<EFBFBD><EFBFBD>Xml<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param inXmlOrStrBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>xml]
|
|
|
|
|
|
* @param nInlen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szOutXmlBuf [xml<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nOutlen [xml<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvMakeXmlCmdByString( const char* inXmlOrStrBuf, int nInlen, char *szOutXmlBuf, int &nOutlen);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvParseXmlCmdRespRetcode2 <EFBFBD><EFBFBD>XML2.0Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>з<EFBFBD><EFBFBD>صĽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ]
|
|
|
|
|
|
* @param szXmlBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>˷<EFBFBD><EFBFBD>ص<EFBFBD>xml]
|
|
|
|
|
|
* @param szCmdName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nInfoValueName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szInfoValueText [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvParseXmlCmdRespRetcode2(char*szXmlBuf, char* szCmdName,
|
|
|
|
|
|
char* nInfoValueName, char* szInfoValueText);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvParseXmlCmdRespRetcode <EFBFBD><EFBFBD>HvXmlЭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>з<EFBFBD><EFBFBD>صĽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szXmlBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>˷<EFBFBD><EFBFBD>ص<EFBFBD>xml]
|
|
|
|
|
|
* @param szCommand [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvParseXmlCmdRespRetcode(char* szXmlBuf, char* szCommand);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvParseXmlInfoRespValue <EFBFBD><EFBFBD>HvXmlЭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ȡִ<EFBFBD>з<EFBFBD><EFBFBD>صĽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ]
|
|
|
|
|
|
* @param szXmlBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>˷<EFBFBD><EFBFBD>ص<EFBFBD>xml]
|
|
|
|
|
|
* @param szInfoName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nCmdValueName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szCmdValueText [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvParseXmlInfoRespValue(char*szXmlBuf, char* szInfoName,
|
|
|
|
|
|
char* nCmdValueName, char* szCmdValueText);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvSendXmlCmd <EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szIP [<EFBFBD>豸IP]
|
|
|
|
|
|
* @param szCmd [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml]
|
|
|
|
|
|
* @param szRetBuf [<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iBufLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param piRetLen [ʵ<EFBFBD>ʷ<EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param sktSend [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvSendXmlCmd(char *szIP, LPCSTR szCmd, LPSTR szRetBuf, INT iBufLen, INT *piRetLen, int sktSend);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvSendXmlCmd <EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szCmd [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml]
|
|
|
|
|
|
* @param szRetBuf [<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iBufLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param piRetLen [ʵ<EFBFBD>ʷ<EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param dwXmlVersion [xmlЭ<EFBFBD><EFBFBD><EFBFBD>汾 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param sktSend [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvSendXmlCmd(LPCSTR szCmd, LPSTR szRetBuf, INT iBufLen, INT* piRetLen, DWORD dwXmlVersion, SOCKET sktSend);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [ExecXmlExtCmdEx <EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szIP [<EFBFBD>豸IP]
|
|
|
|
|
|
* @param szXmlCmd [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml]
|
|
|
|
|
|
* @param szRetBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iBufLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param sktSend [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD>: TRUE ʧ<EFBFBD><EFBFBD>: FALSE]
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool ExecXmlExtCmdEx(char *szIP, char *szXmlCmd, char *szRetBuf, int &iBufLen, int sktSend);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [ExecXmlExtCmdMercury <EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szIP [<EFBFBD>豸IP]
|
|
|
|
|
|
* @param szXmlCmd [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml]
|
|
|
|
|
|
* @param szRetBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iBufLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param sktSend [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD>: TRUE ʧ<EFBFBD><EFBFBD>: FALSE]
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool ExecXmlExtCmdMercury(char* szIP, char* szXmlCmd, char* szRetBuf, int& iBufLen, int sktSend);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [ExecXmlExtCmd ͨ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>SOCKETִ<EFBFBD><EFBFBD>Xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szXmlCmd [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml]
|
|
|
|
|
|
* @param szRetBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iBufLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param sktSend [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD>: TRUE ʧ<EFBFBD><EFBFBD>: FALSE]
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool ExecXmlExtCmd(char* szXmlCmd, char* szRetBuf,
|
|
|
|
|
|
int& iBufLen, SOCKET sktSend);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvSafeCloseThread <EFBFBD><EFBFBD>ȫ<EFBFBD>ر<EFBFBD><EFBFBD>߳<EFBFBD>]
|
|
|
|
|
|
* @param pthreadHandle [<EFBFBD>߳̾<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
*/
|
|
|
|
|
|
void HvSafeCloseThread(pthread_t &pthreadHandle);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [ForceCloseSocket ǿ<EFBFBD>ƹر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iNetSocket [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD> 0 ʧ<EFBFBD><EFBFBD> SOCKET_ERROR]
|
|
|
|
|
|
*/
|
|
|
|
|
|
int ForceCloseSocket(int &iNetSocket);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [Yuv2BMP Yuv<EFBFBD><EFBFBD><EFBFBD><EFBFBD>תΪbmp<EFBFBD><EFBFBD>ʽ]
|
|
|
|
|
|
* @param pbDest [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>BMP<EFBFBD><EFBFBD><EFBFBD>ݵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iDestBufLen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С]
|
|
|
|
|
|
* @param piDestLen [ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С]
|
|
|
|
|
|
* @param pbSrc [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>YUV<EFBFBD><EFBFBD><EFBFBD>ݵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iSrcWidth [ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iSrcHeight [ͼ<EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>;]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT Yuv2BMP(
|
|
|
|
|
|
BYTE *pbDest,
|
|
|
|
|
|
int iDestBufLen,
|
|
|
|
|
|
int *piDestLen,
|
|
|
|
|
|
BYTE *pbSrc,
|
|
|
|
|
|
int iSrcWidth,
|
|
|
|
|
|
int iSrcHeight
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [Bin2BMP <EFBFBD><EFBFBD>ֵͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ΪBMP<EFBFBD><EFBFBD>ʽ]
|
|
|
|
|
|
* @param pbBinData [<EFBFBD><EFBFBD>ֵͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pbBmpData [bmp<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nBmpLen [bmpʵ<EFBFBD>ʳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
*/
|
|
|
|
|
|
void Bin2BMP(PBYTE pbBinData, PBYTE pbBmpData, INT& nBmpLen);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvEnhanceTrafficLight <EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD>ƼӺ<EFBFBD>]
|
|
|
|
|
|
* @param pbSrcImg [ԴͼƬ]
|
|
|
|
|
|
* @param dwiSrcImgDataLen [ԴͼƬ<EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iRedLightCount [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pbRedLightPos [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param pbDestImgBuf [Ŀ<EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param dwDestImgBufLen [Ŀ<EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param iBrightness [ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ]
|
|
|
|
|
|
* @param iHueThreshold [<EFBFBD><EFBFBD><EFBFBD>ƼӺ<EFBFBD>ɫ<EFBFBD>ȷ<EFBFBD>ֵ]
|
|
|
|
|
|
* @param iCompressRate [<EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD>ͼƬѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [description]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvEnhanceTrafficLight(PBYTE pbSrcImg, DWORD dwiSrcImgDataLen, int iRedLightCount,
|
|
|
|
|
|
PBYTE pbRedLightPos, PBYTE pbDestImgBuf, DWORD& dwDestImgBufLen,
|
|
|
|
|
|
INT iBrightness, INT iHueThreshold, INT iCompressRate);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvMakeXmlCmdByString1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>xml]
|
|
|
|
|
|
* @param inXmlOrStrBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nInlen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szOutXmlBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nOutlen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD>峤<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvMakeXmlCmdByString1(const char* inXmlOrStrBuf, int nInlen,
|
|
|
|
|
|
char* szOutXmlBuf, int& nOutlen);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvMakeXmlCmdByString2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>2<EFBFBD><EFBFBD>xml]
|
|
|
|
|
|
* @param inXmlOrStrBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nInlen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szOutXmlBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nOutlen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD>峤<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvMakeXmlCmdByString2(const char* inXmlOrStrBuf, int nInlen,
|
|
|
|
|
|
char* szOutXmlBuf, int& nOutlen);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [HvMakeXmlCmdByString3 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>3<EFBFBD><EFBFBD>xml]
|
|
|
|
|
|
* @param inXmlOrStrBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nInlen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szOutXmlBuf [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param nOutlen [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD>峤<EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @return [<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>S_OK<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>E_FAIL]
|
|
|
|
|
|
*/
|
|
|
|
|
|
HRESULT HvMakeXmlCmdByString3(const char* inXmlOrStrBuf, int nInlen,
|
|
|
|
|
|
char* szOutXmlBuf, int& nOutlen);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* [GetProtocolVersion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<EFBFBD><EFBFBD>ȡ<EFBFBD>豸Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
|
|
|
|
|
* @param szIP [<EFBFBD>豸IP]
|
|
|
|
|
|
* @return [Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>]
|
|
|
|
|
|
*/
|
|
|
|
|
|
PROTOCOL_VERSION GetProtocolVersion(char* szIP);
|
|
|
|
|
|
|
|
|
|
|
|
HRESULT HvGetDeviceType(LPCSTR szDeviceIp, WORD wAddPort, PROTOCOL_VERSION sProtocol, CHAR* szDeviceType);
|
|
|
|
|
|
|
|
|
|
|
|
#endif // _HVDEVICEUTILS_H_
|
|
|
|
|
|
|