Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Mobile

Network Connection Manager - Select Network Connections from many Networks Available

1.00/5 (25 votes)
3 Oct 2006CPOL 1  
How to select network connections from many Networks available like BlueTooth, Active Sync, 3G, Wireless Lan

Introduction

The primary purpose of the article is to centralize and automate the establishment and management of the network connections on a device. Applications on the device use the Connection Manager to establish or schedule a network connection. The Connection Manager handles the details of the connection; the application simply informs the Connection Manager of the network type to use for the connection (the Internet, for example).

When an application requests a network connection, the Connection Manager first retrieves all of the possible connections from a set of Connection Service Providers (CSPs). The Connection Manager then associates a set of costs with these routes and ultimately determines the optimal connection based on cost, latency, bandwidth, and other factors. Finally, the Connection Manager queues the requested connection and uses the CSPs to establish the connection at the appropriate time.

Connection Manager takes care of everything, i.e., all connections are made to networks:

  • "The Internet"
  • "My Corporate Network"

ADD Header file

C++
#include <objbase.h>
#include <initguid.h>
#include <connmgr.h>

In Editor, go to Project>Settings:

Go to Link tab

Object/Library modules: cellcore.lib

Adding Lib

Code

Make the connection

C++
CONNMGR_CONNECTIONINFO connInfo;
HANDLE hConnection;
connInfo.cbSize = sizeof(connInfo);
connInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
connInfo.dwFlags = 0;
connInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
connInfo.bExclusive = false;
connInfo.bDisabled = false;
connInfo.guidDestNet = IID_DestNetInternet;
connInfo.hWnd = NULL;
//connInfo.uMsg = WM_APP_CONNMGR;
connInfo.lParam = (LPARAM)0;
// Make the connection
ConnMgrEstablishConnection(&connInfo , &hConnection);

Close the connection

C++
ConnMgrReleaseConnection(hConnection, 1);

History

  • 3rd October, 2006: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)