Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

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

0.00/5 (No votes)
30 Jun 2003 1  
Connect, query and terminate connections on a Windows 2000 RRAS Server

Introduction

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("192.168.0.1"). (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.

Conclusion

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

History

  • 1st July, 2003: Initial version

License

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.

License

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