コード例 #1
0
ファイル: IOCPBuffer.cpp プロジェクト: jeppeter/IOCP
// Gets the package Type return 255 if error. 
BYTE CIOCPBuffer::GetPackageType()
{
	BYTE Type= 255;
	UINT nSize=GetPackageSize();
	if ( nSize>=1 && nSize <=MAXIMUMPAYLOADSIZE) 
	{
	 memmove(&Type,GetBuffer()+MINIMUMPACKAGESIZE,1);
	} 
	return Type;
}
コード例 #2
0
ファイル: IOCPBuffer.cpp プロジェクト: jeppeter/IOCP
// Reads the info from a package created with CreatePackage(CString stxt);
BOOL CIOCPBuffer::GetPackageInfo(CString &stxt)
{
	int nSize=GetPackageSize();
	if ( nSize>0 && nSize <= MAXIMUMPAYLOADSIZE)
	{
		PBYTE pData=GetBuffer()+MINIMUMPACKAGESIZE;
		// Assumes that we already have a null termination. 
		stxt=pData;
		return TRUE;		
	}
	return FALSE;
}
コード例 #3
0
// Reads the info from a package created with CreatePackage(BYTE Type,CString stxt);
BOOL CIOCPBuffer::GetPackageInfo(BYTE& Type, CString &stxt)
{
	int nSize=GetPackageSize();
	if ( nSize>=1 && nSize<=MAXIMUMPAYLOADSIZE )
	{
		memmove(&Type,GetBuffer()+MINIMUMPACKAGESIZE,1);
		
		PBYTE pData=GetBuffer()+MINIMUMPACKAGESIZE+1;
		// Assumes that we already have a null termination. 
		stxt=pData;//去除前几位的空格和后面的结束符后的字符串
		return TRUE;		
	}
	return FALSE;
}
コード例 #4
0
ファイル: IOCPBuffer.cpp プロジェクト: jeppeter/IOCP
BOOL CIOCPBuffer::GetPackageInfo(BYTE &Type, BYTE &key, CString &stxt)
{
	int nSize=GetPackageSize();
	if ( nSize>=1 && nSize<=MAXIMUMPAYLOADSIZE )
	{
		// Get the Type
		memmove(&Type,GetBuffer()+MINIMUMPACKAGESIZE,1);
		// Get the keys
		memmove(&key,GetBuffer()+MINIMUMPACKAGESIZE+1,1);
		// Get The text
		PBYTE pData=GetBuffer()+MINIMUMPACKAGESIZE+2;
		// Assumes that we already have a null termination. 
		stxt=pData;
		return TRUE;	
	}
	return FALSE;
}