// NetRequestDialog.cpp : 实现文件 // #include "stdafx.h" #include "GeoMative.h" #include "NetRequestDialog.h" #include "afxdialogex.h" extern CGeoMativeApp theApp; // CNetRequestDialog 对话框 IMPLEMENT_DYNAMIC(CNetRequestDialog, CDialog) CNetRequestDialog::CNetRequestDialog(UINT nIDTemplate,CWnd* pParent /*=NULL*/) : CDialog(nIDTemplate, pParent) { } CNetRequestDialog::~CNetRequestDialog() { } void CNetRequestDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CNetRequestDialog, CDialog) ON_MESSAGE(WM_NET_RESPONSE, OnNetResponse) END_MESSAGE_MAP() // CNetRequestDialog 消息处理程序 LRESULT CNetRequestDialog::OnNetResponse(WPARAM wParam, LPARAM lParam) { PreNetResponse(wParam, lParam); return 0; } void CNetRequestDialog::PostNetRequest(BYTE cmd, HWND hwnd, char* pData, WORD dataLen, int maxRecvLen/* = MAX_RECV_MEASURE*/, DWORD msgID /*= WM_NET_RESPONSE*/, UINT32 deviceID /*= 0xFFFFFFFF*/, BYTE deviceType/* = EN_DEV_CLOUND*/, int timeout/* = 5000*/) { ST_REQUEST_PACKET stRequest; stRequest.clsPacketBase.ucCmd = cmd; stRequest.clsPacketBase.uiDevID = deviceID; stRequest.clsPacketBase.ucDevType = deviceType; stRequest.hWnd = hwnd; stRequest.dwMsgID = msgID; stRequest.iMaxRecvLen = maxRecvLen; stRequest.iTimeout = timeout; stRequest.wDataLen = dataLen; stRequest.pData = new char[stRequest.wDataLen]; memcpy(stRequest.pData, pData, stRequest.wDataLen); theApp.m_NetWorkOper.PutRequestPacket(stRequest); if (stRequest.pData != NULL) { delete[] stRequest.pData; stRequest.pData = NULL; } }