D:\stock\Tskingfromgoogle\src\NetTS\TW.cpp
Convert struct to bytes
//Convert struct to bytes 2019/05/20 by freeman int ConstructLoginBuffer(BYTE* buffer, size_t maxlen, LPCTSTR lpszUser, LPCTSTR lpszPasswd) { int nLen = 0; int nLenUser = strlen(lpszUser); int nLenPasswd = strlen(lpszPasswd); TW_LOGIN packet; memset(&packet,0,sizeof(packet)); packet.m_header.m_magic = TW_MAGIC; if(maxlen < (int)(5 + sizeof(TW_HEADER) + nLenUser + nLenPasswd)) { nLen = 5 + sizeof(TW_HEADER); return -1; } packet.m_name_len = (WORD)nLenUser; memcpy(packet.m_data, lpszUser, nLenUser); *(WORD*)(packet.m_data + nLenUser) = (WORD)nLenPasswd; memcpy(packet.m_data + nLenUser + sizeof(WORD), lpszPasswd, nLenPasswd); nLen = 5 + sizeof(TW_HEADER) + nLenUser + nLenPasswd; ConstructLength(packet.m_header, nLen - sizeof(packet.m_header)); if(buffer) memcpy(buffer, &packet, nLen); return nLen; }
原文链接: https://www.cnblogs.com/freeboygirl/p/10959685.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/295992
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!