The RasSecurityDialogEnd function is a third-party RAS security DLL entry point that the Windows NT RAS server calls to terminate an authentication transaction.
DWORD WINAPI RasSecurityDialogEnd(
HPORT hPort |
// RAS handle to the port |
); |
If the security DLL returns NO_ERROR, the RAS server does not terminate the authentication transaction. In this case, the security DLL must later call the RasSecurityDialogComplete function when it is ready to terminate.
If the security DLL returns a nonzero error code, the RAS server terminates the authentication transaction. In this case, the security DLL does not need to make another RasSecurityDialogComplete call. You should return an error code defined in WINERROR.H or RASERROR.H, such as ERROR_PORT_DISCONNECTED.
When a security DLL has finished authenticating the remote user, it calls the RasSecurityDialogComplete function. The RAS server then performs a cleanup sequence that includes a call to the DLL’s RasSecurityDialogEnd function. This gives the security DLL an opportunity to perform any necessary cleanup. To terminate the authentication transaction, RasSecurityDialogEnd must return a nonzero error code.
The RAS server may also call RasSecurityDialogEnd if it needs to abnormally terminate the authentication transaction before the security DLL calls RasSecurityDialogComplete. In this case, the security DLL should terminate the worker thread associated with the hPort port handle, and perform any other necessary cleanup. If RasSecurityDialogEnd returns a nonzero value, the security DLL does not need to call RasSecurityDialogComplete.
For either a normal or abnormal termination, your RasSecurityDialogEnd function can return NO_ERROR to delay the termination. If it does so, it must later call RasSecurityDialogComplete when it is ready to terminate.