Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

The RIL proxy consists of a DLL that manages callback notifications and inter-process function calls into the driver layer. CellCore modules or applications need to link to this DLL to use the RIL API. The RIL Proxy is loaded separately by each RIL client and maintains handles to the RIL driver for each client.

Note:
This topic contains references to Device Manager as well as the stream interface driver functions that are supported in Windows Embedded CE. NET. For more information about these features, see the topic "Stream Interface Drivers" and "Device Manager" at this Microsoft Web site .

The following list shows what the RIL proxy is responsible for:

  • Translating all RIL_ XXX functions to RIL_IOCTL_ XXX calls into RIL_IOControlin the RIL driver. When an application calls a RIL function, for example, RIL_Dial, the RIL proxy calls the DeviceIoControlfunction with a specific IOCTL to specify an operation to perform. Device.exe, in turn, invokes the XXX_IOControlfunction, which in the case of RIL, is implemented as RIL_IOControl.

  • Calling back into client processes for notifications and asynchronous RIL function results.

  • Filtering out notifications in which the client is not interested.

RIL clients register with the proxy to be notified of certain classes of notifications. The RIL driver generates notifications and sets a notification event for each client. The RIL proxy uses IOCTL_RIL_GETNEXTNOTIFICATION to obtain the next notification. It then calls the client's notify or result callback function with the new notification data.

The RIL packet interface architecture has changed. The original design relied upon the RIL proxy to deliver all events, including packet transmission, packet reception and IP configuration events, from the RIL driver. The new design requires the RIL driver to use callback functions instead of RIL proxy notifications. The callback functions are named RILNDISRECEIVECALLBACK, RILNDISTRANSMITCALLBACKand RILNDISSTATUSCALLBACK.

Note:
RAS and PPP-based GPRS connections still use RIL proxy notifications for events.

See Also

Concepts

RIL Architecture