Adding Support for Simultaneous Data Connections to the RIL Driver

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

9/17/2008

The sample RIL driver supports simultaneous PPP-based GPRS connections. See Configuring Simultaneous Data Connections for more information about the registry settings to use to enable this support.

If you want to use simultaneous data connections using a customized RIL driver, you must implement the functionality in the driver.

Each PPP-based connection must be associated with a COM port handle. The association with a COM port must be performed within the RIL driver.

The RIL proxy makes the following IOCTL call to the RIL driver to retrieve the COM port description:

IOCTL_RIL_GETSERIALPORTHANDLEFROMCONTEXTID

The RIL driver must implement a synchronous RIL driver function with the following prototype:

HRESULT RILDrv_GetSerialPortHandleFromContextID(DWORD dwContextID, TCHAR *tszDataPortName, DWORD dwSize, DWORD *pdwSizeOut)

An example of the RIL driver implementation is located in the RIL Sample Driver code. The RILDrv_GetSerialPortHandleFromContextID function is defined in Data.cpp and called in Rilmain.cpp.

The RIL proxy initializes the port handle (using a CreateFile call) and returns the handle for use in the PPP-based connection for the specific context ID (GPRS connection).

See Also

Concepts

Configuring Simultaneous Data Connections

Other Resources

RIL OS Design Development