Click here to Skip to main content
15,607,633 members
Articles / Desktop Programming / MFC
Posted 6 Apr 2002


14 bookmarked

CRRAS v.1.1 for Routing and RAS (RRAS) Server under Windows 2000

Rate me:
Please Sign up or sign in to vote.
4.20/5 (2 votes)
30 Jun 2003CPOL2 min read
Connect, query and terminate connections on a Windows 2000 RRAS Server


This simple class for VC++ allows you to connection to Routing and Remote Access server running on Windows 2000. A connection can be made from the server locally, or using a remote Windows 2000 Client. It is possible to query when connected, the remote computers, users and their type of connections. This class also incorporates the ability to disconnect any of the remote connections individually.

Please note: This class requires the MPRAPI.H and MPRAPI.LIB found on Microsoft's latest SDK. This must be linked into compiler in the options of VC++. This class was only designed for Windows 2000. It may function at all under Windows XP but not under NT 4.0.

For more information on the code, see MSDN:RRAS - RASADMIN.

How It Works

Firstly, create the class object, CRRAS RRasServer. Next use RRasServer.Connect("MYSERVER") or RRasServer.Connect(""). (Use NULL if it's to query the local server.) This will return TRUE for a good connection.

Secondly, enumerate the connections usingRRasServer.list(). This fills the array, RRasServer.client[n] with the username, computer name, remote ip address, port name, media type and how many seconds the client has been connected. In the array is the 'porthandle' value. This can be passed to the RRasServer.terminate(client(n).porthandle) and the connection 'n' will be terminated.

Also the RRasServer.connectedclients() value returns the total number of current connections. Finally, the RRasServer.disconnect() releases the connection to the RRAS server.

Updates in Version 1.1

  • The Class returns CStrings instead of chars
  • Continues to enumerate from the RRAS server after ERROR_MORE_DATA error until it completes.
  • Improved Casting of variables when passed or returned from the MPR API.


This is my first attempt for my years in writing C++ from my days in college using good ol' Turbo C.


  • 1st July, 2003: Initial version


This article has no explicit license attached to it, but may contain usage terms in the article text or the download files themselves. If in doubt, please contact the author via the discussion board below. A list of licenses authors might use can be found here.


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

Written By
Software Developer (Senior)
Austria Austria
Programmer, Cook, Photographer I guess that's me.

Comments and Discussions

QuestionHow to setup RAS Server in XP Pro Pin
captainc/c++30-Jun-08 19:40
captainc/c++30-Jun-08 19:40 
AnswerRe: How to setup RAS Server in XP Pro Pin
i386.com30-Jun-08 20:41
i386.com30-Jun-08 20:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.