📄 gps.cpp
字号:
// GPS.cpp : Implementation of CGPS
#include "stdafx.h"
#include "CXGPS.h"
#include "GPS.h"
/////////////////////////////////////////////////////////////////////////////
// CGPS
#define IPADDRESS L"127.0.0.1"
_ATL_FUNC_INFO OnGPSDataInfo={CC_STDCALL, VT_EMPTY, 2, {VT_I4, VT_I4} };
_ATL_FUNC_INFO OnGPSErrorInfo={CC_STDCALL, VT_EMPTY, 1, {VT_BSTR} };
STDMETHODIMP CGPS::get_config(VARIANT *pVal)
{
VariantCopy( pVal,&m_config);
return S_OK;
}
STDMETHODIMP CGPS::put_config(VARIANT newVal)
{
m_config=newVal;
return S_OK;
}
STDMETHODIMP CGPS::get_Run(BOOL *pVal)
{
*pVal = m_bRun;
return S_OK;
}
STDMETHODIMP CGPS::put_Run(BOOL newVal)
{
if(m_pDevicePoint.GetInterfacePtr() == NULL)
{
try{
m_pDevicePoint.CreateInstance(__uuidof(CX803));
if(m_pDevicePoint.GetInterfacePtr())
DispEventAdvise(m_pDevicePoint);
}
catch(_com_error&)
{
if(m_pDevicePoint.GetInterfacePtr()) m_pDevicePoint.Release();
ATLTRACE(_T("川新设备创建不成功\n"));
return S_FALSE;
}
if(m_pDevicePoint.GetInterfacePtr() == NULL)
return S_FALSE;
}
if(newVal)
{
VARIANT_BOOL succ;
succ=m_pDevicePoint->StartGPS(IPADDRESS);
if(succ==VARIANT_FALSE)
{
OnGPSError(L"发送GPS命令错误");
m_bRun=FALSE;
return S_OK;
}
}
else
{
VARIANT_BOOL succ;
succ=m_pDevicePoint->StopGPS();
if(succ==VARIANT_FALSE)
{
OnGPSError(L"发送GPS命令错误");
m_bRun=FALSE;
return S_OK;
}
}
m_bRun=newVal;
return S_OK;
}
STDMETHODIMP CGPS::get_dfLong(double *pVal)
{
// *pVal = dataLongLat.dfLong;
return S_OK;
}
STDMETHODIMP CGPS::get_dfLat(double *pVal)
{
return S_OK;
}
STDMETHODIMP CGPS::ShowConfigDlg()
{
return S_OK;
}
STDMETHODIMP CGPS::get_clsid(GUID *pVal)
{
memcpy(pVal,&CLSID_GPS,sizeof(GUID));
return S_OK;
}
STDMETHODIMP CGPS::get_Name(BSTR *pVal)
{
*pVal=SysAllocString(L"川新GPS");
return S_OK;
}
STDMETHODIMP CGPS::get_ServerClsid(GUID *pVal)
{
memcpy(pVal,&CLSID_GPS,sizeof(GUID));
return S_OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -