1。模拟器
int iNetwork;
HRESULT hResult = E_FAIL;
DWORD dwStatus = 0;
// cleanup the old connection
DestroyConnection(lpConnection);
// get the right network to connect to
//if(LB_ERR != iNetwork)
CONNMGR_DESTINATION_INFO DestInfo;
TInt i = 0;
for(i = 0; SUCCEEDED(ConnMgrEnumDestinations(i, &DestInfo)); i++)//枚举接入点
{
// actually try to establish the connection
CONNMGR_CONNECTIONINFO ConnInfo;
ZeroMemory(&ConnInfo, sizeof(ConnInfo));
ConnInfo.cbSize = sizeof(ConnInfo);
ConnInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
ConnInfo.dwPriority = CONNMGR_PRIORITY_USERBACKGROUND;
ConnInfo.guidDestNet = DestInfo.guid;
ConnInfo.hWnd = hDlg;
ConnInfo.uMsg = lpConnection->WM_CMEVENT;
hResult = ConnMgrEstablishConnectionSync(&ConnInfo, &lpConnection->hConnection,60000, &dwStatus);
// check to see if the attempt failed
if(SUCCEEDED(hResult))
{
break;
}
}
return hResult;
2。手机
HANDLE hConection;
DWORD dwStatus;
CONNMGR_CONNECTIONINFO sConInfo;
memset(&sConInfo, 0 ,sizeof(CONNMGR_CONNECTIONINFO));
CONNMGR_DESTINATION_INFO DestInfo;
TInt i = 0;
for(i = 0; SUCCEEDED(ConnMgrEnumDestinations(i, &DestInfo)); i++)
{
sConInfo.cbSize = sizeof(CONNMGR_CONNECTIONINFO);
sConInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
sConInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
sConInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP
|CONNMGR_FLAG_PROXY_WAP
|CONNMGR_FLAG_PROXY_SOCKS4
|CONNMGR_FLAG_PROXY_SOCKS5;
sConInfo.bExclusive = FALSE;
sConInfo.bDisabled = FALSE;
sConInfo.guidDestNet = DestInfo.guid;//IID_DestNetInternet
if (SUCCEEDED(ConnMgrEstablishConnectionSync(&sConInfo, &hConection, 60000, &dwStatus)))
{
return TRUE;
}
}
return FALSE;
本文提供了使用连接管理器API在模拟器及手机上建立网络连接的两个示例代码。通过枚举接入点并尝试建立连接,示例展示了如何配置CONNMGR_CONNECTIONINFO结构体,并调用ConnMgrEstablishConnectionSync函数来同步创建网络连接。

被折叠的 条评论
为什么被折叠?



