#include
#include
#include
#include"dhnetsdk.h"
using namespace std;
#pragmacomment( lib, "dhnetsdk.lib")
//////////////////////////////////////////////////////////////////////////
void __stdcall DisConnectFunc(LLONG lLoginID, char *pchDVRIP, LONG nDVRPort, LDWORD dwUser)
{
printf("Device disconn, IP=%s+++++++++++++++++++++++\n", pchDVRIP);
}
BOOL __stdcall MessCallBack(LONG lCommand, LLONG lLoginID, char *pBuf, DWORD dwBufLen, char *pchDVRIP, LONG nDVRPort, LDWORD dwUser)
{
switch(lCommand)
{
switch(lCommand)
{
case DH_ALARM_ALARM_EX: //0x2101 //External alarm
{
alarmAlarm.m_AlarmCommand = DH_ALARM_ALARMEX;
memcpy(&alarmAlarm.m_dwAlarm,pBuf,min(dwBufLen, sizeof(alarmAlarm.m_dwAlarm)));
bRet = TRUE;
}
break;
case DH_MOTION_ALARM_EX: // 0x2102 //Motion detection alarm
{
alarmAlarm.m_AlarmCommand = DH_MOTIONDETECT_ALARMEX;
memcpy(&alarmAlarm.m_dwAlarm,pBuf,min(dwBufLen, sizeof(alarmAlarm.m_dwAlarm)));
bRet = TRUE;
}
break;
case DH_VIDEOLOST_ALARM_EX: //0x2103 //Video loss alarm
{
alarmAlarm.m_AlarmCommand = DH_VEDIOSHELTER_ALARMEX;
memcpy(&alarmAlarm.m_dwAlarm,pBuf,min(dwBufLen, sizeof(alarmAlarm.m_dwAlarm)));
bRet = TRUE;
}
break;
case DH_SHELTER_ALARM_EX: // 0x2104 //Camera masking alarm
{
alarmAlarm.m_AlarmCommand = DH_SHELTER_ALARMEX;
memcpy(&alarmAlarm.m_dwAlarm,pBuf,min(dwBufLen, sizeof(alarmAlarm.m_dwAlarm)));
bRet = TRUE;
}
break;
case DH_SOUND_DETECT_ALARM_EX: //0x2105 //Audio detection alarm
{
alarmAlarm.m_AlarmCommand = DH_SOUNDDETECT_ALARMEX;
memcpy(&alarmAlarm.m_stuNewSound,pBuf,min(dwBufLen, sizeof(alarmAlarm.m_stuNewSound)));
bRet = TRUE;
}
break;
default:
break;
}
}
if (bRet)
{
m_ListAlarmInfoEx.AddTail(alarmAlarm);
}
return TRUE;
}
int main(int argc, char* argv[])
{
CLIENT_Init(DisConnectFunc, 0);
cout<<"Initialize client SDK done;"<<endl;
//设置报警回调函数
CLIENT_SetDVRMessCallBack(MessCallBack, (DWORD)0);
char szDevIp[64] = {0};
NET_DEVICEINFO stDevInfo = {0};
int nError = 0;
LLONG lLoginHandle = 0;
int nPort = 37777;
int nChannelID = 0; // 通道号
cout<<endl<<"IP:";
cin>>szDevIp;
cout<<endl<<"Port:";
cin>>nPort;
lLoginHandle = CLIENT_Login(szDevIp, nPort, "admin", "admin", &stDevInfo, &nError);
if (lLoginHandle != 0)
{
BOOL bRet = FALSE;
bRet = CLIENT_StartListenEx(lLoginHandle);
if (bRet == FALSE)
{
printf("StartListenEx failed, error, %d\n", CLIENT_GetLastError());
goto_out;
}
Sleep(5000);
// 停止侦听
CLIENT_StopListen(lLoginHandle);
}
else
{
printf("CLIENT_LoginEx: %s failed! error = %d\n", szDevIp, nError);
}
_out:
//注销用户
CLIENT_Logout(lLoginHandle);
//释放SDK资源
CLIENT_Cleanup();
return 0;
}
求大神帮我转换成C#代码可以吗? 谢谢。
网上找个免费的转换工具试试。