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.
|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_IOControl in the RIL driver. When an application calls a RIL function, for example, RIL_Dial, the RIL proxy calls the DeviceIoControl function with a specific IOCTL to specify an operation to perform. Device.exe, in turn, invokes the XXX_IOControl function, 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, RILNDISTRANSMITCALLBACK and RILNDISSTATUSCALLBACK.
|RAS and PPP-based GPRS connections still use RIL proxy notifications for events.|