📄 hcnetsdk.h
字号:
char sFileName[100]; //picture name
NET_DVR_TIME struTime;//picture time
DWORD dwFileSize;//picture size
char sCardNum[32]; //card No.
}NET_DVR_FIND_PICTURE,*LPNET_DVR_FIND_PICTURE;
/* Serial port capture picture */
typedef struct
{
BYTE byStrFlag; /*Serial port data start flag*/
BYTE byEndFlag; /*End flag*/
WORD wCardIdx; /*Credit card No. comparative start position*/
DWORD dwCardLen; /*Crdit card No. Length */
DWORD dwTriggerPicChans; /*Trigger camera No.: Start from bit1, 0x2 means camera1*/
}NET_DVR_SERIAL_CATCHPIC_PARA, *LPNET_DVR_SERIAL_CATCHPIC_PARA;
typedef struct tagJPEGCFG
{
DWORD dwSize;
NET_DVR_JPEGPARA struJpegPara[MAX_CHANNUM];
WORD wBurstMode; /*Capture trigger mode:0x1=sensor alarm, 0x2=motion alarm, 0x4=RS232, 0x8=RS485, 0x10=network*/
WORD wUploadInterval; /*Picture upload time interval: among 0S~65535S*/
NET_DVR_PICTURE_NAME struPicNameRule; /* Picture name definition */
BYTE bySaveToHD; /*Save picture in HDD*/
BYTE res1;
WORD wCatchInterval; /*Capture pic time interval: among 0S~65535S*/
BYTE res2[12];
NET_DVR_SERIAL_CATCHPIC_PARA struRs232Cfg;
NET_DVR_SERIAL_CATCHPIC_PARA struRs485Cfg;
DWORD dwTriggerPicTimes[MAX_CHANNUM]; /* Capture picuture times*/
DWORD dwAlarmInPicChanTriggered[MAX_ALARMIN];
}NET_DVR_JPEGCFG, *LPNET_DVR_JPEGCFG;
typedef struct tagGetJpeg
{
DWORD dwReturn;
DWORD dwUploadFtp;
DWORD dwSaveHd;
char sImageName[PATHNAME_LEN];
char sOsdStr[16];
WORD wOsdLen;
}NET_DVR_GETJPEG, *LPNET_DVR_GETJPEG;
typedef struct tagAUXOUT{
DWORD dwSize;
DWORD dwAlarmOutChan;
DWORD dwAlarmChanSwitchTime;
DWORD dwAuxSwitchTime[MAX_AUXOUT];
BYTE byAuxOrder[MAX_AUXOUT][MAX_WINDOW];
}NET_DVR_AUXOUTCFG, *LPNET_DVR_AUXOUTCFG;
typedef struct tagCRUISE_RET{
struct{
BYTE PresetNum;
BYTE Dwell;
BYTE Speed;
BYTE Reserve;
}struCruisePoint[32];
}NET_DVR_CRUISE_RET, *LPNET_DVR_CRUISE_RET;
typedef struct tagNETCFG_OTHER{
DWORD dwSize;
char sFirstDNSIP[16];
char sSecondDNSIP[16];
char sRes[32];
}NET_DVR_NETCFG_OTHER,*LPNET_DVR_NETCFG_OTHER;
//channel info.
typedef struct tagDVRCHANINFO
{
char sDVRIP[16]; /* DVR IP */
WORD wDVRPort; /* DVR Port */
BYTE byChannel; /* channel */
BYTE byTransProtocol; /* transfer protocol */
BYTE byTransMode; /* transfer mode 0-major 1-minor*/
BYTE byRes[3];
BYTE sUserName[NAME_LEN]; /* DVR Account */
BYTE sPassword[PASSWD_LEN]; /* Account Password */
}NET_DVR_MATRIX_DECINFO,*LPNET_DVR_MATRIX_DECINFO;
//dynamic decode
typedef struct tagDYNAMIC_TEST
{
DWORD dwSize;
NET_DVR_MATRIX_DECINFO struDecChanInfo; /* dynamic decode channel info. */
}NET_DVR_MATRIX_DYNAMIC_DEC,*LPNET_DVR_MATRIX_DYNAMIC_DEC;
typedef struct tagMATRIX_DEC_CHAN_STATUS
{
DWORD dwSize;
DWORD dwIsLinked; /* decode channel state 0-sleep 1-linking 2-linked 3--decoding */
DWORD dwStreamCpRate; /* stream copy rate, X kbits/second */
char cRes[64]; /* reserved */
}NET_DVR_MATRIX_DEC_CHAN_STATUS,*LPNET_DVR_MATRIX_DEC_CHAN_STATUS;
typedef struct tagDEC_MATRIX_CHAN_INFO
{
DWORD dwSize;
NET_DVR_MATRIX_DECINFO struDecChanInfo; /* decode channel info. */
DWORD dwDecState; /* 0--dynamic decode 1-cycle link 2-play back by time 3-play back by name 4--passive mode */
NET_DVR_TIME StartTime; /* start time when play back by time */
NET_DVR_TIME StopTime; /* stop time when play back by time */
char sFileName[128]; /* file name when play back by name */
}NET_DVR_MATRIX_DEC_CHAN_INFO,*LPNET_DVR_MATRIX_DEC_CHAN_INFO;
typedef struct tagMATRIXDECCHANINFO
{
DWORD dwEnable; /* enable tag 0-No 1-Yes */
NET_DVR_MATRIX_DECINFO struDecChanInfo; /* cycle link channel info. */
}NET_DVR_MATRIX_DECCHANINFO, *LPNET_DVR_MATRIX_DECCHANINFO;
typedef struct tagLOOPDECINFO
{
DWORD dwSize;
DWORD dwPoolTime; /* cycle link pool time */
NET_DVR_MATRIX_DECCHANINFO struchanConInfo[MAX_CYCLE_CHAN];
}NET_DVR_MATRIX_LOOP_DECINFO, *LPNET_DVR_MATRIX_LOOP_DECINFO;
typedef struct tagEMAILCFG
{ /* 12 bytes */
DWORD dwSize;
char sUserName[32];
char sPassWord[32];
char sFromName[32]; /* Sender */
char sFromAddr[48]; /* Sender address */
char sToName1[32]; /* Receiver1 */
char sToName2[32]; /* Receiver2 */
char sToAddr1[48]; /* Receiver address1 */
char sToAddr2[48]; /* Receiver address2 */
char sEmailServer[32]; /* Email server address */
BYTE byServerType; /* Email server type: 0-SMTP, 1-POP, 2-IMTP…*/
BYTE byUseAuthen; /* Email server authentication method: 1-enable, 0-disable */
BYTE byAttachment; /* enable attachment */
BYTE byMailinterval; /* mail interval 0-2s, 1-3s, 2-4s. 3-5s*/
} NET_DVR_EMAILCFG, *LPNET_DVR_EMAILCFG;
typedef struct tagNTPPARA{
BYTE sNTPServer[64]; /* Domain Name or IP addr of NTP server */
WORD wInterval; /* adjust time interval(hours) */
BYTE byEnableNTP; /* enable NPT client 0-no,1-yes*/
signed char cTimeDifferenceH; /* -12 ... +13 */
signed char cTimeDifferenceM;
BYTE res[11];
}NET_DVR_NTPPARA, *LPNET_DVR_NTPPARA;
typedef struct tagDDNSPARA{
BYTE sUsername[NAME_LEN];
BYTE sPassword[PASSWD_LEN];
BYTE sDomainName[64];
BYTE byEnableDDNS;
BYTE res[15];
}NET_DVR_DDNSPARA, *LPNET_DVR_DDNSPARA;
typedef struct tagNETAPPCFG{
DWORD dwSize;
char sDNSIp[16];
NET_DVR_NTPPARA struNtpClientParam;
NET_DVR_DDNSPARA struDDNSClientParam;
BYTE res[464];
}NET_DVR_NETAPPCFG, *LPNET_DVR_NETAPPCFG;
typedef struct tag_NFSCFG{
DWORD dwSize;
struct{
char sNfsHostIPAddr[16];
BYTE sNfsDirectory[PATHNAME_LEN]; // PATHNAME_LEN = 128
}struNfsDiskParam[MAX_NFS_DISK];
}NET_DVR_NFSCFG, *LPNET_DVR_NFSCFG;
typedef struct tagNET_DDNSPARA_EX
{
BYTE byHostIndex; /* 0-reserved 1-Dyndns 2-PeanutHull */
BYTE byEnableDDNS; /* whether to use DDNS: 0-No,1-Yes*/
WORD wDDNSPort; /* DDNS port */
BYTE sUsername[NAME_LEN]; /* DDNS user*/
BYTE sPassword[PASSWD_LEN]; /* DDNS password */
BYTE sDomainName[MAX_DOMAIN_NAME]; /* domain address set to device */
BYTE sServerName[MAX_DOMAIN_NAME]; /* DDNS address,IP or domain address */
BYTE byRes[16];
}NET_DVR_DDNSPARA_EX, *LPNET_DVR_DDNSPARA_EX;
NET_DVR_API BOOL __stdcall NET_DVR_Init();
NET_DVR_API BOOL __stdcall NET_DVR_Cleanup();
NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessage(UINT nMessage,HWND hWnd);
NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack(BOOL (CALLBACK *fMessCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen));
NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_EX(BOOL (CALLBACK *fMessCallBack_EX)(LONG lCommand,LONG lUserID,char *pBuf,DWORD dwBufLen));
NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_NEW(BOOL (CALLBACK *fMessCallBack_NEW)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, WORD dwLinkDVRPort));
NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack(BOOL (CALLBACK *fMessageCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, DWORD dwUser), DWORD dwUser);
NET_DVR_API BOOL __stdcall NET_DVR_SetConnectTime(DWORD dwWaitTime,DWORD dwTryTimes);
NET_DVR_API DWORD __stdcall NET_DVR_GetSDKVersion();
NET_DVR_API DWORD __stdcall NET_DVR_GetSDKBuildVersion();
NET_DVR_API int __stdcall NET_DVR_IsSupport();
NET_DVR_API BOOL __stdcall NET_DVR_GetDVRIPByResolveSvr(char *sServerIP, WORD wServerPort, BYTE *sDVRName,WORD wDVRNameLen,BYTE *sDVRSerialNumber,WORD wDVRSerialLen,char* sGetIP);
NET_DVR_API BOOL __stdcall NET_DVR_SetShowMode(DWORD dwShowType,COLORREF colorKey);
NET_DVR_API BOOL __stdcall NET_DVR_StartListen(char *sLocalIP,WORD wLocalPort);
NET_DVR_API BOOL __stdcall NET_DVR_StopListen();
NET_DVR_API DWORD __stdcall NET_DVR_GetLastError();
NET_DVR_API LONG __stdcall NET_DVR_Login(char *sDVRIP,WORD wDVRPort,char *sUserName,char *sPassword,LPNET_DVR_DEVICEINFO lpDeviceInfo);
NET_DVR_API BOOL __stdcall NET_DVR_Logout(LONG lUserID);
//Preview
NET_DVR_API LONG __stdcall NET_DVR_RealPlay(LONG lUserID, LPNET_DVR_CLIENTINFO lpClientInfo);
NET_DVR_API BOOL __stdcall NET_DVR_StopRealPlay(LONG lRealHandle);
NET_DVR_API int __stdcall NET_DVR_GetRealPlayerIndex(LONG lRealHandle);
//video parameter: 1-10
NET_DVR_API BOOL __stdcall NET_DVR_ClientSetVideoEffect(LONG lRealHandle,DWORD dwBrightValue,DWORD dwContrastValue, DWORD dwSaturationValue,DWORD dwHueValue);
NET_DVR_API BOOL __stdcall NET_DVR_ClientGetVideoEffect(LONG lRealHandle,DWORD *pBrightValue,DWORD *pContrastValue, DWORD *pSaturationValue,DWORD *pHueValue);
NET_DVR_API BOOL __stdcall NET_DVR_RigisterDrawFun(LONG lRealHandle,void (CALLBACK* fDrawFun)(LONG lRealHandle,HDC hDc,DWORD dwUser),DWORD dwUser);
NET_DVR_API BOOL __stdcall NET_DVR_SetPlayerBufNumber(LONG lRealHandle,DWORD dwBufNum);
NET_DVR_API BOOL __stdcall NET_DVR_ThrowBFrame(LONG lRealHandle,DWORD dwNum);
NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrame(LONG lUserID, LONG lChannel);
NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrameSub(LONG lUserID, LONG lChannel);
NET_DVR_API BOOL __stdcall NET_DVR_SetAudioMode(DWORD dwMode);
NET_DVR_API BOOL __stdcall NET_DVR_OpenSound(LONG lRealHandle);
NET_DVR_API BOOL __stdcall NET_DVR_CloseSound();
NET_DVR_API BOOL __stdcall NET_DVR_OpenSoundShare(LONG lRealHandle);
NET_DVR_API BOOL __stdcall NET_DVR_CloseSoundShare(LONG lRealHandle);
NET_DVR_API BOOL __stdcall NET_DVR_Volume(LONG lRealHandle,WORD wVolume);
NET_DVR_API BOOL __stdcall NET_DVR_SetRealDataCallBack(LONG lRealHandle,void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);
NET_DVR_API BOOL __stdcall NET_DVR_SaveRealData(LONG lRealHandle,char *sFileName);
NET_DVR_API BOOL __stdcall NET_DVR_StopSaveRealData(LONG lRealHandle);
NET_DVR_API BOOL __stdcall NET_DVR_RefreshPlay(LONG lPlayHandle);
NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture(LONG lRealHandle,char *sPicFileName);
//PTZ control
NET_DVR_API BOOL __stdcall NET_DVR_PTZControl(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop);
NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCommand,DWORD dwStop);
NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ(LONG lRealHandle,char *pPTZCodeBuf,DWORD dwBufSize);
NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ_Other(LONG lUserID,LONG lChannel,char *pPTZCodeBuf,DWORD dwBufSize);
NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);
NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_Other(LONG lUserID,LONG lChannel,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);
NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_EX(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop);
NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_EX(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);
NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);
NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);
NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_EX(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);
NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack(LONG lRealHandle,DWORD dwPTZTrackCmd);
NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_Other(LONG lUserID,LONG lChannel,DWORD dwPTZTrackCmd);
NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_EX(LONG lRealHandle,DWORD dwPTZTrackCmd);
NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);
NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed_Other(LONG lUserID, LONG lChannel, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);
NET_DVR_API BOOL __stdcall NET_DVR_GetPTZCruise(LONG lUserID,LONG lChannel,LONG lCruiseRoute, LPNET_DVR_CRUISE_RET lpCruiseRet);
NET_DVR_API BOOL __stdcall NET_DVR_PTZSelZoomIn(LONG lRealHandle, LPNET_DVR_POINT_FRAME pStruPointFrame);
//File playback
NET_DVR_API LONG __stdcall NET_DVR_FindFile(LONG lUserID,LONG lChannel,DWORD dwFileType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
NET_DVR_API LONG __stdcall NET_DVR_FindNextFile(LONG lFindHandle,LPNET_DVR_FIND_DATA lpFindData);
NET_DVR_API BOOL __stdcall NET_DVR_FindClose(LONG lFindHandle);
NET_DVR_API LONG __stdcall NET_DVR_FindFileByCard(LONG lUserID,LONG lChannel,DWORD dwFileType, BOOL bNeedCardNum, BYTE *sCardNumber, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
NET_DVR_API LONG __stdcall NET_DVR_PlayBackByName(LONG lUserID,char *sPlayBackFileName, HWND hWnd);
NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, HWND hWnd);
NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBack(LONG lPlayHandle);
NET_DVR_API int __stdcall NET_DVR_GetPlayBackPlayerIndex(LONG lPlayHandle);
NET_DVR_API BOOL __stdcall NET_DVR_PlayBackControl(LONG lPlayHandle,DWORD dwControlCode,DWORD dwInValue,DWORD *lpOutValue);
NET_DVR_API BOOL __stdcall NET_DVR_PlayBackSaveData(LONG lPlayHandle,char *sFileName);
NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBackSave(LONG lPlayHandle);
NET_DVR_API BOOL __stdcall NET_DVR_SetPlayDataCallBack(LONG lPlayHandle,void(CALLBACK *fPlayDataCallBack) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);
NET_DVR_API BOOL __stdcall NET_DVR_GetPlayBackOsdTime(LONG lPlayHandle, LPNET_DVR_TIME lpOsdTime);
NET_DVR_API BOOL __stdcall NET_DVR_PlayBackCaptureFile(LONG lPlayHandle,char *sFileName);
NET_DVR_API LONG __stdcall NET_DVR_GetFileByName(LONG lUserID,char *sDVRFileName,char *sSavedFileName);
NET_DVR_API LONG __stdcall NET_DVR_GetFileByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, char *sSavedFileName);
NET_DVR_API BOOL __stdcall NET_DVR_StopGetFile(LONG lFileHandle);
NET_DVR_API int __stdcall NET_DVR_GetDownloadPos(LONG lFileHandle);
//alarm
NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan(LONG lUserID);
NET_DVR_API BOOL __stdcall NET_DVR_CloseAlarmChan(LONG lAlarmHandle);
NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmOut(LONG lUserID, LPNET_DVR_ALARMOUTSTATUS lpAlarmOutState);
NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmOut(LONG lUserID, LONG lAlarmOutPort, LONG lAlarmOutStatic);
//voice dialogue
NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser), DWORD dwUser);
NET_DVR_API BOOL __stdcall NET_DVR_SetVoiceComClientVolume(LONG lVoiceComHandle, WORD wVolume);
NET_DVR_API BOOL __stdcall NET_DVR_StopVoiceCom(LONG lVoiceComHandle);
NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_MR(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser), DWORD dwUser);
NET_DVR_API BOOL __stdcall NET_DVR_VoiceComSendData(LONG lVoiceComHandle, char *pSendBuf, DWORD dwBufSize);
//voice broadcast
NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStart();
NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStop();
NET_DVR_API BOOL __stdcall NET_DVR_AddDVR(LONG lUserID);
NET_DVR_API BOOL __stdcall NET_DVR_DelDVR(LONG lUserID);
//setup transparent channel
NET_DVR_API LONG __stdcall NET_DVR_SerialStart(LONG lUserID, LONG lSerialPort, void(CALLBACK *fSerialDataCallBack)(LONG lSerialHandle, char *pRecvDataBuffer, DWORD dwBufSize, DWORD dwUser), DWORD dwUser);
NET_DVR_API BOOL __stdcall NET_DVR_SerialSend(LONG lSerialHandle, LONG lChannel, char *pSendBuf, DWORD dwBufSize);
NET_DVR_API BOOL __stdcall NET_DVR_SerialStop(LONG lSerialHandle);
NET_DVR_API BOOL __stdcall NET_DVR_SendTo232Port(LONG lUserID,char *pSendBuf,DWORD dwBufSize);
//decode
NET_DVR_API void* __stdcall NET_DVR_InitG722Decoder(int nBitrate);
NET_DVR_API void __stdcall NET_DVR_ReleaseG722Decoder(void *pDecHandle);
NET_DVR_API BOOL __stdcall NET_DVR_DecodeG722Frame(void *pDecHandle, unsigned char* pInBuffer, unsigned char* pOutBuffer);
//encode
NET_DVR_API void* __stdcall NET_DVR_InitG722Encoder();
NET_DVR_API BOOL __stdcall NET_DVR_EncodeG722Frame(void *pEncodeHandle,unsigned char* pInBuffer, unsigned char* pOutBuffer);
NET_DVR_API void __stdcall NET_DVR_ReleaseG722Encoder(void *pEncodeHandle);
//remote control local operation
NET_DVR_API BOOL __stdcall NET_DVR_ClickKey(LONG lUserID, LONG lKeyIndex)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -