RASberry - A demonstation of the RAS API set.
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (C) 1993-1995 Microsoft Corporation. All Rights Reserved.
PURPOSE:
To demonstrate the Remote Access Service (RAS) API set. RASberry
allows the user to enumerate current RAS connections, display the
status of a selected connection, dial entries from the default
phone book, and hang up a active connection.
RAS APIs USED:
RasDial
RasEnumConnections
RasEnumEntries
RasGetConnectStatus
RasGetErrorString
RasHangUp
COMMENTS:
This sample may be built as a 16 or 32 bit application. The default
is 32 bits. To build a 16 bit version, define MAK16 on the build
command line.
32 BIT SPECIFICS:
- Before the application exits, it should insure that the RAS state
machine has been reset if there has been a hang up. This may be
done by calling Sleep(3000). See documentation on RasHangUp for
more information.
- The 32 bit RasDial API can either function syncronously or
asyncronously. This sample demonstrates the asyncronous ability.
The asyncronous RasDial call requires a callback function to
receive a notification of a change of state in the connection
process. The function is not associated with a window or message
queue. To provide a single source for both Win32 and Win16
applications, the RasDialFunc in RASbeery, just posts a message
to a window, and the window's message handle takes the
appropriate action.
16 BIT SPECIFICS:
- The RasDial API is only asyncronous for Win16. RasDial sends
a WM_RASDIALEVENT message to the window specified in the call to
RasDial. An application may perform any tasks during the handling
of this message, but it should not call EndDialog(). If it is
desired that the window be closed, a shut down message should be
posted to the window as in this sample.
MODULE MAP:
RASberry- Implements message handlers for the main window. Maintains
the list of current RAS connections.
StatDlg - Displays the status of a connection selected from the main
application window.
PhbkDlg - Displays contents of default phone book and allow the user
to dail an entry.
AuthDlg - Obtains authentication information from user before making
a connection.
DialDlg - Displays the states of the RAS connection during the initial
connection phase.
RasUtil - Utilities used by modules listed above.
Dispatch- Message dispatching routines
WinMain - Calls initialization functions and processes the message loop
Init - Performs application and instance specific initialization
About - Defines a standard about dialog box.
Misc - Defines the applications specific commands not related to
a specific module.