亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wmsgsent.cpp

?? 手機發送短信的Activex控件
?? CPP
字號:
// WMsgSent.cpp: implementation of the CWMsgSent class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
//tts #include "WSMModule.h"
#include "WMsgSent.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

enum CWMsgSent::MsgMatchType CWMsgSent::s_matchType = CWMsgSent::MatchTypeNotDefined;			 

CWMsgSent::CWMsgSent()
{

}

CWMsgSent::~CWMsgSent()
{

}

void CWMsgSent::SetFrameNo(BYTE toSet)
{
	ASSERT(CWMsgPacket::IsValidFrameNo(toSet));
	m_frameNo = toSet;
}

void CWMsgSent::SetMessage(BYTE msgType, const BYTE* lpMsgData, DWORD dwMsgSize)
{
	ASSERT(CWMsgPacket::IsValidMsgType(msgType));
	ASSERT(dwMsgSize <= MAX_BIN_MSG_LEN_PER_FRAME);
	
	m_msgType = msgType;
	memcpy(m_binMsgData, lpMsgData, dwMsgSize);
	m_dataSize = dwMsgSize;
}

void CWMsgSent::SetPhoneNumber(LPCSTR lpcszPhoneNumber)
{
	strcpy(m_szPhoneNumber, lpcszPhoneNumber);
}

BYTE CWMsgSent::GetFrameNo() const
{
	return m_frameNo;
}

BYTE& CWMsgSent::GetFrameNoRef()
{
	return m_frameNo;
}

int CWMsgSent::GetPacketCount(int& lastPacketSize) const
{
	int packetCount;
	
	if( m_dataSize == 0 )
	{
		lastPacketSize = 0;
		packetCount = 1;
	}
	else
	{
		lastPacketSize = m_dataSize % MAX_BIN_MSG_BODY_LEN_PER_PACKET;
		packetCount = m_dataSize / MAX_BIN_MSG_BODY_LEN_PER_PACKET ;
	
		if(lastPacketSize == 0)	lastPacketSize = MAX_BIN_MSG_BODY_LEN_PER_PACKET;
		else  packetCount ++;
	}

	return packetCount;
}

int CWMsgSent::GetPacketCount() const
{
	BOOL bUseAdditional;
	return GetPacketCountForSent(bUseAdditional);
}

int CWMsgSent::GetPacketCountForSent(BOOL& bUseAdditional) const
{
	int lastPacketSize;
	int packetCount = GetPacketCount(lastPacketSize);

	bUseAdditional = lastPacketSize > MAX_BIN_MSG_BODY_LEN_OF_LASTPACKET;
	if(bUseAdditional) 	packetCount ++;
	
	return packetCount;
}

void CWMsgSent::GetMsgPacket(int packetIndex, CWMsgPacket& msgPacket) const
{
	BOOL bUseAdditional;
	int packetCount = GetPacketCountForSent(bUseAdditional);

	BOOL bLastPacket = packetIndex == packetCount - 1;
	
	if(bUseAdditional)
	{
		if(bLastPacket) GenAdditionalEndPacket(msgPacket);
		else GenMidPacket(packetIndex, msgPacket);
	}
	else
	{
		if(bLastPacket)	GenEndPacket(msgPacket);
		else GenMidPacket(packetIndex, msgPacket);
	}
}

void CWMsgSent::GenMidPacket(int packetIndex, CWMsgPacket& msgPacket) const
{
	const BYTE* lpDataBegin = m_binMsgData + packetIndex * MAX_BIN_MSG_BODY_LEN_PER_PACKET;
	int dataSize = MAX_BIN_MSG_BODY_LEN_PER_PACKET;

	BYTE packetNo = CWMsgPacket::PacketIndex2PacketNo(packetIndex);
	msgPacket.GenerateMsgPacket(m_szPhoneNumber, m_msgType, m_frameNo, packetNo, lpDataBegin, dataSize, FALSE);
}


void CWMsgSent::GenAdditionalEndPacket(CWMsgPacket& msgPacket) const
{
	BOOL bUseAdditional;
	int packetCount = GetPacketCountForSent(bUseAdditional);
	ASSERT(bUseAdditional);

	int packetIndex = packetCount - 1;
	BYTE packetNo = CWMsgPacket::PacketIndex2PacketNo(packetIndex);
	msgPacket.GenerateMsgPacket(m_szPhoneNumber, m_msgType, m_frameNo, packetNo, NULL, 0, TRUE);
}


void CWMsgSent::GenEndPacket(CWMsgPacket& msgPacket)const
{
	int lastPacketSize;
	int packetCount = GetPacketCount(lastPacketSize);

	int packetIndex = packetCount - 1;
	const BYTE* lpDataBegin = m_binMsgData + packetIndex*MAX_BIN_MSG_BODY_LEN_PER_PACKET;
	
	BYTE packetNo = CWMsgPacket::PacketIndex2PacketNo(packetIndex);
	msgPacket.GenerateMsgPacket(m_szPhoneNumber, m_msgType, m_frameNo, packetNo, lpDataBegin, lastPacketSize, TRUE);
}

enum CWMsgSent::MsgMatchType CWMsgSent::SetMatchType(enum MsgMatchType matchType)
{
	enum CWMsgSent::MsgMatchType toRet = s_matchType;
	s_matchType = matchType;

	return toRet;
}

enum CWMsgSent::MsgMatchType CWMsgSent::GetMatchType() 
{
	return s_matchType;
}

int CWMsgSent::operator == (const CWMsgSent& toCmp) const
{
	return Compare(toCmp) == 0;
}

int CWMsgSent::operator > ( const CWMsgSent& toCmp) const
{
	return Compare(toCmp) > 0;
}

int CWMsgSent::operator < ( const CWMsgSent& toCmp) const
{
	return Compare(toCmp) < 0;
}

int CWMsgSent::Compare(const CWMsgSent& toCmp) const
{
	int result = strcmp(m_szPhoneNumber, toCmp.m_szPhoneNumber);

	if ( 0 != result ) return result;

	switch(s_matchType)
	{

    default:
	case MatchTypeNotDefined:
		ASSERT(FALSE);
	case PhoneNumberOnly:
		break;

	case PhoneNumberAndFrameNo:
		{
			int currNo = m_frameNo;
			int toCmpNo = toCmp.m_frameNo;
			result = currNo - toCmpNo;
		}
		break;

	case PhoneNumberAndSaveTime:
		if( m_saveTime > toCmp.m_saveTime) result = 1;
		else if (m_saveTime == toCmp.m_saveTime) result = 0;
		else result = -1 ;
		break;

	}
	
	return result;
}

void CWMsgSent::SetSaveTime(const MsgSaveTimeType& toSet)
{
	m_saveTime = toSet;
}

MsgSaveTimeType CWMsgSent::GetSaveTime() const
{
	return m_saveTime;
}



LPCSTR CWMsgSent::GetPhoneNumber() const
{
	return m_szPhoneNumber;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费不卡电影| 一区二区三区在线视频观看| 日韩毛片视频在线看| 日韩国产欧美在线视频| 92国产精品观看| 久久精品亚洲精品国产欧美kt∨| 亚洲国产精品影院| 97久久久精品综合88久久| 久久久久免费观看| 麻豆精品一二三| 91激情五月电影| 最新国产の精品合集bt伙计| 国产精品1区2区| 日韩一区二区三区电影| 五月婷婷色综合| 色8久久精品久久久久久蜜| 国产精品久久夜| 国产一区二区美女诱惑| 欧美一区二区国产| 日韩黄色小视频| 欧美日韩精品一二三区| 亚洲午夜国产一区99re久久| 91九色02白丝porn| 亚洲精品国产精品乱码不99| 一本色道亚洲精品aⅴ| 国产精品天美传媒沈樵| 成人小视频在线| 日本一区二区三区dvd视频在线| 国产一区二区三区四区在线观看 | 91浏览器在线视频| 国产欧美日韩在线| 丁香激情综合五月| 国产精品欧美精品| 成人av动漫在线| 亚洲私人黄色宅男| 欧美专区日韩专区| 丝袜诱惑制服诱惑色一区在线观看| 欧美三片在线视频观看| 日韩综合在线视频| 日韩欧美国产精品| 国产高清一区日本| 国产精品久久福利| 欧美系列亚洲系列| 日本网站在线观看一区二区三区| 日韩三级视频在线看| 极品美女销魂一区二区三区 | 91麻豆精品国产91久久久久久 | 奇米亚洲午夜久久精品| 精品理论电影在线| 国产成人亚洲综合a∨婷婷图片 | 国产亚洲自拍一区| 懂色av一区二区三区蜜臀| 国产精品美女一区二区三区| 91麻豆文化传媒在线观看| 亚洲成人自拍一区| 久久久蜜桃精品| 99精品视频在线播放观看| 性久久久久久久| 欧美激情一区二区三区| 欧洲国产伦久久久久久久| 久久国产尿小便嘘嘘| 国产精品乱码人人做人人爱 | 欧美丝袜丝交足nylons| 老汉av免费一区二区三区| 久久九九全国免费| 欧美在线观看视频一区二区| 久久99精品久久只有精品| 亚洲欧洲韩国日本视频| 欧美一区二区女人| 91影视在线播放| 狠狠色丁香婷综合久久| 中文字幕日韩欧美一区二区三区| 91.xcao| 国产suv精品一区二区6| 日韩av电影免费观看高清完整版 | 欧美成人艳星乳罩| 在线欧美小视频| 福利电影一区二区三区| 青草av.久久免费一区| 国产精品二区一区二区aⅴ污介绍| 7777精品伊人久久久大香线蕉超级流畅 | 欧美日韩中文另类| 成人精品鲁一区一区二区| 日本亚洲一区二区| 亚洲综合免费观看高清在线观看| 精品国产91乱码一区二区三区| 色8久久精品久久久久久蜜 | 18成人在线观看| 亚洲精品一区在线观看| 欧美美女激情18p| 色综合网色综合| 丰满岳乱妇一区二区三区| 日本免费新一区视频| 亚洲美女免费视频| 中文字幕av免费专区久久| 欧美三级欧美一级| 在线欧美日韩国产| 色呦呦日韩精品| 91在线视频免费观看| 成人深夜在线观看| 国产一区二区精品久久91| 男女激情视频一区| 日韩精品一卡二卡三卡四卡无卡| 亚洲图片欧美色图| 亚洲国产你懂的| 亚洲精品久久久蜜桃| 亚洲乱码日产精品bd| 国产精品美女久久福利网站| 国产欧美一区二区在线观看| 国产亚洲精品aa| 久久综合久久鬼色中文字| 欧美大片一区二区三区| 91精品国产乱码| 日韩一区二区三区电影| 精品国产伦一区二区三区观看方式 | 国产69精品一区二区亚洲孕妇 | 欧美中文字幕一区二区三区亚洲| 91在线国产福利| 日本道精品一区二区三区| 91伊人久久大香线蕉| 欧洲精品视频在线观看| 欧美日韩一区精品| 91精品在线免费| 欧美成人一区二区三区| 国产欧美日本一区二区三区| 国产精品你懂的| 亚洲网友自拍偷拍| 日本中文字幕一区二区有限公司| 免费国产亚洲视频| 国产精品69久久久久水密桃 | 国产成人在线观看免费网站| 国产+成+人+亚洲欧洲自线| 不卡av在线免费观看| 色视频欧美一区二区三区| 欧美理论在线播放| www国产成人| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲精品亚洲人成人网在线播放| 亚洲成人三级小说| 国产一区久久久| 91麻豆国产精品久久| 91精品欧美福利在线观看| 久久久亚洲精品石原莉奈 | 欧美在线你懂的| 精品精品国产高清a毛片牛牛 | 日韩电影在线免费看| 国产麻豆视频一区二区| 一本色道久久加勒比精品| 欧美丰满美乳xxx高潮www| 久久久www成人免费无遮挡大片| 亚洲天堂久久久久久久| 青青草一区二区三区| 成人av动漫网站| 日韩欧美一区二区视频| 国产精品色婷婷久久58| 日日夜夜精品视频天天综合网| 国产成人免费视| 91精品国产手机| 亚洲理论在线观看| 国产一区在线观看视频| 欧美性色黄大片| 国产精品理伦片| 精品一二三四区| 欧美日韩亚州综合| 亚洲欧洲成人av每日更新| 激情国产一区二区 | 一本色道久久综合亚洲精品按摩| 精品国产成人系列| 视频一区免费在线观看| 91色婷婷久久久久合中文| 久久综合国产精品| 视频一区视频二区中文| 色国产综合视频| 欧美国产精品中文字幕| 美女看a上一区| 欧美剧情电影在线观看完整版免费励志电影 | 久久久久久久综合色一本| 日韩中文字幕区一区有砖一区 | 色av综合在线| 国产欧美久久久精品影院| 久久超级碰视频| 欧美猛男男办公室激情| 亚洲最大成人网4388xx| 成人动漫一区二区| 国产视频911| 国产剧情一区二区三区| www国产亚洲精品久久麻豆| 免费观看在线色综合| 欧美伦理视频网站| 日韩制服丝袜av| 在线91免费看| 性久久久久久久久| 91.麻豆视频| 美女爽到高潮91| 日韩欧美成人激情| 麻豆精品新av中文字幕| 精品国产sm最大网站免费看| 老司机午夜精品| 欧美精品一区二区三区蜜臀| 九一九一国产精品|