// GetOnVifDeviceInfo.cpp : 定义 DLL 的初始化例程。
#include "stdafx.h"
#include "GetOnVifDeviceInfo.h"
#include <iostream >
//#include "OnVifAPI/wsdd.nsmap"
#include "OnVifAPI/soapH.h"
//#include "OnVifAPI/wsseapi.h"
//#include "OnVifAPI/wsaapi.h"
#include "OnVifAPI/DeviceBinding.nsmap"
#include "OnVifAPI/wsseapi.h"
#include "OnVifAPI/wsaapi.h"
#include "OnVifAPI/soapDeviceBindingProxy.h"
#include "OnVifAPI/soapMediaBindingProxy.h"
//#include "OnVifAPI/soapRemoteDiscoveryBindingProxy.h"
//#include "OnVifAPI/soapPTZBindingProxy.h"
//#include "OnVifAPI/soapEventBindingProxy.h"
//#include "OnVifAPI/soapNotificationProducerBindingProxy.h"
//#include "OnVifAPI/soapDiscoveryLookupBindingProxy.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
BEGIN_MESSAGE_MAP (CGetOnVifDeviceInfoApp , CWinApp )
END_MESSAGE_MAP ()
CGetOnVifDeviceInfoApp ::CGetOnVifDeviceInfoApp (){}
CGetOnVifDeviceInfoApp theApp ;
BOOL CGetOnVifDeviceInfoApp ::InitInstance ()
{
CWinApp ::InitInstance ();
return TRUE ;
}
////////////////////////////////////////////////////////////////////////////
typedef struct stVideoEncoderPara stVideoEncoderPara ;
struct stVideoEncoderPara
{
char strRTSPURL [ 200] ; //RTSP URL
int iWidth ; //视频宽度
int iHeight ; //视频高度
int iFrameRateLimit ;
int iIFrameInterval ;
int iBiterateLimit ;
};
typedef struct stDeviceInfo stDeviceInfo ;
struct stDeviceInfo
{
char strDeviceIP [ 50] ;
char strDeviceMac [ 50] ;
char strModel [ 50] ;
char strSerialNumber [ 50] ;
char strManuFature [ 50] ;
//编码参数
stVideoEncoderPara stVideoEncoderParaInfo [ 2] ;
};
//获取系统时间,精确到毫秒
void getCurrentTime ( char *outStrTime )
{
SYSTEMTIME sys ;
GetLocalTime ( &sys );
sprintf (outStrTime , "%d-%d-%d %d:%d:%d.%d" ,
sys.wYear ,sys.wMonth ,sys.wDay ,
sys.wHour ,sys.wMinute , sys.wSecond ,
sys.wMilliseconds ); //毫秒
}
//获取设备详细信息
extern "C" __declspec (dllexport ) int getDeviceInfo ( const char *DEV_USERNAME , //登录账号
const char *DEV_PASSWORD , //登录密码
const char *strWebServerURL , //http://192.168.1.100/onvif/device_service
stDeviceInfo & mystDeviceInfo
#include "stdafx.h"
#include "GetOnVifDeviceInfo.h"
#include <iostream >
//#include "OnVifAPI/wsdd.nsmap"
#include "OnVifAPI/soapH.h"
//#include "OnVifAPI/wsseapi.h"
//#include "OnVifAPI/wsaapi.h"
#include "OnVifAPI/DeviceBinding.nsmap"
#include "OnVifAPI/wsseapi.h"
#include "OnVifAPI/wsaapi.h"
#include "OnVifAPI/soapDeviceBindingProxy.h"
#include "OnVifAPI/soapMediaBindingProxy.h"
//#include "OnVifAPI/soapRemoteDiscoveryBindingProxy.h"
//#include "OnVifAPI/soapPTZBindingProxy.h"
//#include "OnVifAPI/soapEventBindingProxy.h"
//#include "OnVifAPI/soapNotificationProducerBindingProxy.h"
//#include "OnVifAPI/soapDiscoveryLookupBindingProxy.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
BEGIN_MESSAGE_MAP (CGetOnVifDeviceInfoApp , CWinApp )
END_MESSAGE_MAP ()
CGetOnVifDeviceInfoApp ::CGetOnVifDeviceInfoApp (){}
CGetOnVifDeviceInfoApp theApp ;
BOOL CGetOnVifDeviceInfoApp ::InitInstance ()
{
CWinApp ::InitInstance ();
return TRUE ;
}
////////////////////////////////////////////////////////////////////////////
typedef struct stVideoEncoderPara stVideoEncoderPara ;
struct stVideoEncoderPara
{
char strRTSPURL [ 200] ; //RTSP URL
int iWidth ; //视频宽度
int iHeight ; //视频高度
int iFrameRateLimit ;
int iIFrameInterval ;
int iBiterateLimit ;
};
typedef struct stDeviceInfo stDeviceInfo ;
struct stDeviceInfo
{
char strDeviceIP [ 50] ;
char strDeviceMac [ 50] ;
char strModel [ 50] ;
char strSerialNumber [ 50] ;
char strManuFature [ 50] ;
//编码参数
stVideoEncoderPara stVideoEncoderParaInfo [ 2] ;
};
//获取系统时间,精确到毫秒
void getCurrentTime ( char *outStrTime )
{
SYSTEMTIME sys ;
GetLocalTime ( &sys );
sprintf (outStrTime , "%d-%d-%d %d:%d:%d.%d" ,
sys.wYear ,sys.wMonth ,sys.wDay ,
sys.wHour ,sys.wMinute , sys.wSecond ,
sys.wMilliseconds ); //毫秒
}
//获取设备详细信息
extern "C" __declspec (dllexport ) int getDeviceInfo ( const char *DEV_USERNAME , //登录账号
const char *DEV_PASSWORD , //登录密码
const char *strWebServerURL , //http://192.168.1.100/onvif/device_service
stDeviceInfo & mystDeviceInfo

本文探讨了在使用gSoap库生成接口并访问IPC属性时遇到的内存泄漏问题,每次调用导致约20KB的内存损失。文章可能涉及gSoap的工作原理、接口调用细节以及如何排查和解决此类内存泄漏问题。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



