Platform SDK: RAS/Routing and RAS

RasAdminAcceptNewConnection

The RasAdminAcceptNewConnection function is an application-defined function that is exported by a third-party RAS server administration DLL. RAS calls this function when a user tries to establish a remote connection to a RAS server. The function decides whether the user is allowed to connect.

The RAS server calls RasAdminAcceptNewConnection once for each port in a multilink connection.

BOOL RasAdminAcceptNewConnection(
  RAS_PORT_1 *pRasPort1,      // pointer to information about the 
                              // connection
  RAS_PORT_STATISTICS *pRasStats,
                              // pointer to statistics about the port
  RAS_PARAMETERS *pRasParams  // pointer to an array of 
                              // media-specific parameters and values
);

Parameters

pRasPort1
Pointer to a RAS_PORT_1 structure that contains RAS data about the pending connection. This structure contains the relevant connection information that you need to make a decision about the connection.
pRasStats
Pointer to a RAS_PORT_STATISTICS structure that contains statistics about the port.
pRasParams
Pointer to an array of RAS_PARAMETERS structures. Each structure contains the name of a media-specific key, such as MAXCONNECTBPS, and its associated value.

Return Values

If the function returns TRUE, RAS accepts the new connection.

If the function returns FALSE, RAS does not accept the new connection. There is no extended error information for this function; do not call GetLastError.

Remarks

The RasAdminAcceptNewConnection function gives more control to a RAS server administration DLL to determine whether a specified remote user should be allowed to connect to a server.

An additional application of RasAdminAcceptNewConnection would be to send a popup message to newly connected clients. Use the NetMessageBufferSend function to send the message to the client computer.

The setup program for a third-party RAS administration DLL must register the DLL with RAS by providing information under the following key in the registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RAS\AdminDll

To register the DLL, set the following values under this key.

Value name Value data
DisplayName A REG_SZ string that contains the user-friendly display name of the DLL.
DLLPath A REG_SZ string that contains the full path of the DLL.

For example, the registry entry for a RAS administration DLL from a fictional company named ProElectron, Inc. might be:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RAS\AdminDll
DisplayName : REG_SZ : ProElectron RAS Admin DLL
DLLPath : REG_SZ : C:\nt\system32\ntwkadm.dll

The setup program for a RAS administration DLL should also provide remove/uninstall functionality. If a user removes the DLL, the setup program should delete the DLL's registry entries.

Requirements

  Windows NT/2000: Requires Windows NT 4.0 or later.
  Header: Declared in Rassapi.h.

See Also

Remote Access Service (RAS) Overview, RAS Server Administration Functions, RAS_PARAMETERS, RAS_PORT_1, RAS_PORT_STATISTICS