RasDialFunc1
A RasDialFunc1
function is an application-defined or library-defined callback function that the
RasDial
VOID WINAPI RasDialFunc1(
HRASCONN hrasconn, |
// handle to RAS
connection |
UINT unMsg, |
// type of event
that has occurred |
RASCONNSTATE rascs, |
// connection state
about to be entered |
DWORD dwError, |
// error that may
have occurred |
DWORD dwExtendedError |
// extended error
information for some errors |
); |
|
Parameters
hrasconn
Provides a
handle to the RAS connection, as returned by RasDial.
unMsg
Specifies the
type of event that has occurred. Currently, the only event defined is
WM_RASDIALEVENT.
rascs
Specifies a RASCONNSTATE
dwError
Specifies the
error that has occurred. If no error has occurred, dwError is zero.
RasDial calls RasDialFunc1 with dwError set to
zero upon entry to each connection state. If an error occurs within a state, RasDial
calls RasDialFunc1 again with a nonzero dwError value.
In some error
cases, the dwExtendedError parameter contains extended error
information.
dwExtendedError
Specifies
extended error information for certain nonzero values of dwError. For
all other values of dwError, dwExtendedError is zero.
The contents
of dwExtendedError are defined for values of dwError as follows:
dwError |
dwExtendedError |
ERROR_SERVER_NOT_RESPONDING |
Specifies
the NetBIOS error that occurred. |
ERROR_NETBIOS_ERROR |
Specifies
the NetBIOS error that occurred. |
ERROR_AUTH_INTERNAL |
Specifies
an internal diagnostics code. |
ERROR_CANNOT_GET_LANA |
Specifies a
routing error code, which is a RAS error. |
Return Values
None.
Remarks
A RasDial
connection operation is suspended during a call to a RasDialFunc1
callback function. For that reason, your RasDialFunc1 implementation
should generally return as quickly as possible. There are two exceptions to
that rule. Asynchronous (slow) devices such as modems often have time-out
periods measured in seconds rather than milliseconds; a less-than-prompt return
from a RasDialFunc1 function is generally not a problem. The prompt
return requirement also does not apply when dwError is nonzero,
indicating that an error has occurred. It is safe, for example, to put up an
error dialog box and wait for user input.
Your RasDialFunc1
implementation should not depend on the order or occurrence of particular RASCONNSTATE
connection states, because this may vary between platforms.
Do not call
the RasDial function from within a RasDialFunc1 callback
function. You can call the RasGetConnectStatus11EWQ3O, RasEnumEntries , RasEnumConnections , RasGetErrorString , and RasHangUp functions from within the
callback function. For example, calling RasGetConnectStatus from within
a callback function would be useful for determining the name and type of the connecting
device.
Note that,
for convenience, RasHangUp can be called from within a RasDialFunc1
callback function. However, much of the hang-up processing occurs after the RasDialFunc1
callback function has returned.
RasDialFunc1 is a placeholder for the application-defined or
library-defined function name.
See Also