bool CSockManager::addNewPeerName(SOCKET s,DWORD dwIP, WORD wPort)
{
__try
{
m_lock.Lock();
pn_Iter = m_peerName.find(s);
if (pn_Iter != m_peerName.end())
{
m_peerName.erase(pn_Iter);
}
SOCKCONNECTNAME scn;
ZeroMemory(&scn,sizeof(scn));
scn.s = s;
scn.sa_family = AF_INET;
scn.sin_addr.s_addr = dwIP;
scn.sin_port = wPort;
m_peerName.insert(Init_pair(s,(SOCKCONNECTNAME)scn));
}
__finally
{
m_lock.Unlock();
}
return true;
}
这段代码编译提示 :error C2712: 无法在要求对象展开的函数中使用 __try c:\documents and settings\luckystar\桌面\中国战网对战平台\udpclient\client\hook_game\sockmanager.cpp 83 hook_game请教各位大虾如何解决,google了,百度,都没有一个明确的答案,我是小白,谢谢了。
{
__try
{
m_lock.Lock();
pn_Iter = m_peerName.find(s);
if (pn_Iter != m_peerName.end())
{
m_peerName.erase(pn_Iter);
}
SOCKCONNECTNAME scn;
ZeroMemory(&scn,sizeof(scn));
scn.s = s;
scn.sa_family = AF_INET;
scn.sin_addr.s_addr = dwIP;
scn.sin_port = wPort;
m_peerName.insert(Init_pair(s,(SOCKCONNECTNAME)scn));
}
__finally
{
m_lock.Unlock();
}
return true;
}
这段代码编译提示 :error C2712: 无法在要求对象展开的函数中使用 __try c:\documents and settings\luckystar\桌面\中国战网对战平台\udpclient\client\hook_game\sockmanager.cpp 83 hook_game请教各位大虾如何解决,google了,百度,都没有一个明确的答案,我是小白,谢谢了。
{
POVERLAPPED_RECORDER pr = NULL;
EnterCriticalSection(&m_CriticalSection);
__try
{
if (m_ltAvailable.size() > 0)
{
c_Iter = m_ltAvailable.end();
int i = (*c_Iter);
if(i<0)
{
DbPrint1("i<0");
}
m_ltAvailable.pop_back();
if (i >= 0 && i < OVERLAPPED_MAX)
{
pr = (m_pOverlappedRecorder + i);
m_OtoI.insert(Init_Pair((DWORD) lpOverlapped ,i));
}
}
}
__finally
{
LeaveCriticalSection(&m_CriticalSection);
}
return pr;
}