7,660
社区成员




//目前pszConnName的默认值是L"Internet"
HRESULT CConnection::CreateConnectionByConnName(LPCTSTR pszConnName)
{
HRESULT hRet = E_FAIL;
CONNMGR_DESTINATION_INFO networkDestInfo = {0};
// 得到网络列表
for ( DWORD dwEnumIndex=0; ; dwEnumIndex++ )
{
memset ( &networkDestInfo, 0, sizeof(CONNMGR_DESTINATION_INFO) );
if ( ConnMgrEnumDestinations ( dwEnumIndex, &networkDestInfo ) == E_FAIL )
{
break;
}
if (_tcsstr(networkDestInfo.szDescription, pszConnName) != NULL)
{
CONNMGR_CONNECTIONINFO ConnInfo;
memset(&ConnInfo, 0, sizeof(CONNMGR_CONNECTIONINFO));
ConnInfo.cbSize = sizeof(ConnInfo);
ConnInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
ConnInfo.dwFlags = 0;
ConnInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE ;
ConnInfo.guidDestNet = networkDestInfo.guid;
return ConnMgrEstablishConnection(&ConnInfo, &m_hConnection);
}
}
return hRet;
}