There are approximately 55 RAS functions detailed in the Win32 SDK documentation. Several of these are actually callback functions, used to allow RAS to send status information asynchronously to an application or to allow third-party vendors to provide custom functionality, as with RasCustomHangUp . In addition, several of these functions are enumeration functions that allow an application to discover devices and connections. Finally, there is a class of RAS functions that involve the RAS user interface. With the notable exception of the callback functions used for dialing up connections, I will not be covering many of these functions here. In most server situations, the connection information is already known, not discovered during a session. Furthermore, the goal of a service application is to operate unattended, so there is no need to employ the RAS user interface.