Platform SDK: RAS/Routing and RAS |
The RASENTRY structure describes a phone-book entry. The RasSetEntryProperties and RasGetEntryProperties functions use this structure to set and retrieve the properties of a phone-book entry.
typedef struct tagRASENTRY { DWORD dwSize; DWORD dwfOptions; // // Location/phone number. // DWORD dwCountryID; DWORD dwCountryCode; TCHAR szAreaCode[ RAS_MaxAreaCode + 1 ]; TCHAR szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ]; DWORD dwAlternateOffset; // // PPP/Ip // RASIPADDR ipaddr; RASIPADDR ipaddrDns; RASIPADDR ipaddrDnsAlt; RASIPADDR ipaddrWins; RASIPADDR ipaddrWinsAlt; // // Framing // DWORD dwFrameSize; DWORD dwfNetProtocols; DWORD dwFramingProtocol; // // Scripting // TCHAR szScript[ MAX_PATH ]; // // AutoDial // TCHAR szAutodialDll[ MAX_PATH ]; TCHAR szAutodialFunc[ MAX_PATH ]; // // Device // TCHAR szDeviceType[ RAS_MaxDeviceType + 1 ]; TCHAR szDeviceName[ RAS_MaxDeviceName + 1 ]; // // X.25 // TCHAR szX25PadType[ RAS_MaxPadType + 1 ]; TCHAR szX25Address[ RAS_MaxX25Address + 1 ]; TCHAR szX25Facilities[ RAS_MaxFacilities + 1 ]; TCHAR szX25UserData[ RAS_MaxUserData + 1 ]; DWORD dwChannels; // // Reserved // DWORD dwReserved1; DWORD dwReserved2; #if (WINVER >= 0x401) // // Multilink and BAP // DWORD dwSubEntries; DWORD dwDialMode; DWORD dwDialExtraPercent; DWORD dwDialExtraSampleSeconds; DWORD dwHangUpExtraPercent; DWORD dwHangUpExtraSampleSeconds; // // Idle time out // DWORD dwIdleDisconnectSeconds; #endif #if (WINVER >= 0x500) DWORD dwType; // entry type DWORD dwEncryptionType; // type of encryption to use DWORD dwCustomAuthKey; // authentication key for EAP GUID guidId; // guid that represents // the phone-book entry TCHAR szCustomDialDll[MAX_PATH]; // DLL for custom dialing DWORD dwVpnStrategy; // specifies type of VPN protocol #endif } RASENTRY;
sizeof(RASENTRY)
to identify the version of the structure.Flag | Description |
---|---|
RASEO_UseCountryAndAreaCodes | If this flag is set, the dwCountryID, dwCountryCode, and szAreaCode members are used to construct the phone number. If this flag is not set, these members are ignored.
This flag corresponds to the Use Country and Area Codes check boxes in the Phone dialog box. |
RASEO_SpecificIpAddr | If this flag is set, RAS tries to use the IP address specified by ipaddr as the IP address for the dial-up connection. If this flag is not set, the value of the ipaddr member is ignored.
Setting the RASEO_SpecificIpAddr flag corresponds to selecting the Specify an IP Address setting in the TCP/IP settings dialog box. Clearing the RASEO_SpecificIpAddr flag corresponds to selecting the Server Assigned IP Address setting in the TCP/IP settings dialog box. Currently, an IP address set in the phone-book entry properties or retrieved from a server overrides the IP address set in the network control panel. |
RASEO_SpecificNameServers | If this flag is set, RAS uses the ipaddrDns, ipaddrDnsAlt, ipaddrWins, and ipaddrWinsAlt members to specify the name server addresses for the dial-up connection. If this flag is not set, RAS ignores these members.
Setting the RASEO_SpecificNameServers flag corresponds to selecting the Specify Name Server Addresses setting in the TCP/IP Settings dialog box. Clearing the RASEO_SpecificNameServers flag corresponds to selecting the Server Assigned Name Server Addresses setting in the TCP/IP Settings dialog box. |
RASEO_IpHeaderCompression | If this flag is set, RAS negotiates to use IP header compression on PPP connections.
If this flag is not set, IP header compression is not negotiated. This flag corresponds to the Use IP Header Compression check box in the TCP/IP settings dialog box. It is generally advisable to set this flag because IP header compression significantly improves performance. The flag should be cleared only when connecting to a server that does not correctly negotiate IP header compression. |
RASEO_RemoteDefaultGateway | If this flag is set, the default route for IP packets is through the dial-up adapter when the connection is active. If this flag is clear, the default route is not modified.
This flag corresponds to the Use Default Gateway on Remote Network check box in the TCP/IP settings dialog box. |
RASEO_DisableLcpExtensions | If this flag is set, RAS disables the PPP LCP extensions defined in RFC 1570. This may be necessary to connect to certain older PPP implementations, but interferes with features such as server callback. Do not set this flag unless specifically required. |
RASEO_TerminalBeforeDial | If this flag is set, RAS displays a terminal window for user input before dialing the connection. |
RASEO_TerminalAfterDial | If this flag is set, RAS displays a terminal window for user input after dialing the connection.
Do not set this flag if a dial-up networking script is to be associated with the connection, because scripting has its own terminal implementation. |
RASEO_ModemLights | Windows 2000: If this flag is set, a status monitor will be displayed in the Task Bar. |
RASEO_SwCompression | If this flag is set, software compression is negotiated on the link. Setting this flag causes the PPP driver to attempt to negotiate CCP with the server. This flag should be set by default, but clearing it can reduce the negotiation period if the server does not support a compatible compression protocol. |
RASEO_RequireEncryptedPw | If this flag is set, only secure password schemes can be used to authenticate the client with the server. This prevents the PPP driver from using the PAP plain-text authentication protocol to authenticate the client. The CHAP and SPAP authentication protocols are also supported. Clear this flag for increased interoperability, and set it for increased security.
This flag corresponds to the Require Encrypted Password check box in the Security dialog box. See also RASEO_RequireMsEncryptedPw. |
RASEO_RequireMsEncryptedPw | If this flag is set, only the Microsoft secure password schemes can be used to authenticate the client with the server. This prevents the PPP driver from using the PPP plain-text authentication protocol, MD5-CHAP, MS-CHAP, or SPAP. The flag should be cleared for maximum interoperability and should be set for maximum security. This flag takes precedence over RASEO_RequireEncryptedPw.
This flag corresponds to the Require Microsoft Encrypted Password check box in the Security dialog box. See also RASEO_RequireDataEncryption. |
RASEO_RequireDataEncryption | If this flag is set, data encryption must be negotiated successfully or the connection should be dropped. This flag is ignored unless RASEO_RequireMsEncryptedPw is also set.
This flag corresponds to the Require Data Encryption check box in the Security dialog box. |
RASEO_NetworkLogon | If this flag is set, RAS logs on to the network after the point-to-point connection is established.
This flag currently has no effect under Windows NT/2000. |
RASEO_UseLogonCredentials | If this flag is set, RAS uses the user name, password, and domain of the currently logged-on user when dialing this entry. This flag is ignored unless RASEO_RequireMsEncryptedPw is also set.
Note that this setting is ignored by the RasDial function, where specifying empty strings for the szUserName and szPassword members of the RASDIALPARAMS structure gives the same result. This flag corresponds to the Use Current Username and Password check box in the Security dialog box. |
RASEO_PromoteAlternates | This flag has an effect when alternate phone numbers are defined by the dwAlternateOffset member. If this flag is set, an alternate phone number that connects successfully becomes the primary phone number, and the current primary phone number is moved to the alternate list.
This flag corresponds to the check box in the Alternate Numbers dialog box. |
RASEO_SecureLocalFiles | Windows NT/2000: If this flag is set, RAS checks for existing remote file system and remote printer bindings before making a connection with this entry. Typically, you set this flag on phone-book entries for public networks to remind users to break connections to their private network before connecting to a public network. |
RASEO_RequireEAP | Windows 2000: If this flag is set, an Extensible Authentication Protocol (EAP) must be supported for authentication. |
RASEO_RequirePAP | Windows 2000: If this flag is set, Password Authentication Protocol must be supported for authentication. |
RASEO_RequireSPAP | Windows 2000: If this flag is set, Shiva's Password Authentication Protocol must be supported for authentication. |
RASEO_Custom | Windows 2000: If this flag is set, the connection will use custom encryption. |
RASEO_PreviewPhoneNumber | Windows 2000: If this flag is set, the remote access dialer displays the phone number to be dialed. |
RASEO_SharedPhoneNumbers | Windows 2000: If this flag is set, phone numbers are shared. |
RASEO_ReviewUserPW | Windows 2000: If this flag is set, the remote access dialer displays the user's name and password prior to dialing. |
RASEO_PreviewDomain | Windows 2000: If this flag is set, the remote access dialer displays the domain name prior to dialing. |
RASEO_ShowDialingProgress | Windows 2000: If this flag is set, the remote access dialer displays its progress in establishing the connection. |
RASEO_RequireCHAP | Windows 2000: If this flag is set, the Challenge Handshake Authentication Protocol must be supported for authentication. |
RASEO_RequireMsCHAP | Windows 2000: If this flag is set, the Microsoft Challenge Handshake Authentication Protocol must be supported for authentication. |
RASEO_RequireMsCHAP2 | Windows 2000: If this flag is set, version 2 of the Microsoft Challenge Handshake Authentication Protocol must be supported for authentication. |
RASEO_RequireW95MSCHAP | Windows 2000: If this flag is set, MS-CHAP must send the LanManager-hashed password. |
RASEO_CustomScript | Windows 2000: If this flag is set, RAS will invoke a custom-scripting DLL after establishing the connection to the server. |
Flag | Description |
---|---|
RASNP_NetBEUI | Negotiate the NetBEUI protocol. |
RASNP_Ipx | Negotiate the IPX protocol. |
RASNP_Ip | Negotiate the TCP/IP protocol. |
Flag | Description |
---|---|
RASFP_Ppp | Point-to-Point Protocol (PPP) |
RASFP_Slip | Serial Line Internet Protocol (SLIP) |
RASFP_Ras | Asynchronous NetBEUI, Microsoft proprietary protocol implemented in Windows NT 3.1 and Windows for Workgroups 3.11 |
To use Compressed SLIP, set the RASFP_Slip flag and set the RASEO_IpHeaderCompression flag in the dwfOptions member.
Windows 2000 or later: The RASFP_Ras flag is no longer supported. As a result, Windows 2000 and later computers will not be able to connect to Lan Manager, Windows for Workgroups 3.11, or Windows NT 3.1 servers. However, these earlier platforms will continue to be able to connect to Windows 2000 and later servers.
Windows NT/2000: To indicate a Windows NT/Windows 2000 SWITCH.INF script name, set the first character of the name to "[".
String | Description |
---|---|
RASDT_Modem | A modem accessed through a COM port. |
RASDT_Isdn | An ISDN card with corresponding NDISWAN driver installed. |
RASDT_X25 | An X.25 card with corresponding NDISWAN driver installed. |
RASDT_Vpn | Windows 2000: A virtual private network connection. |
RASDT_Pad | Windows 2000: A Packet Assembler/Disassembler. |
RASDT_Generic | Windows 2000: Generic |
RASDT_Serial | Windows 2000: Direct serial connection through a serial port. |
RASDT_FrameRelay | Windows 2000: Frame Relay |
RASDT_Atm | Windows 2000: Asynchronous Transfer Mode |
RASDT_Sonet | Windows 2000: Sonet |
RASDT_SW56 | Windows 2000: Switched 56K Access |
RASDT_Irda | Windows 2000: Infrared Data Association (IrDA) compliant device. |
RASDT_Parallel | Windows 2000: Direct parallel connection through a parallel port. |
Windows 95: The RASDT_Vpn device type is supported on Windows 95 only if Microsoft Dial-Up Networking Version 1.2 is installed. The RASDT_X25 and RASDT_Pad device types are not supported on Windows 95.
Windows 98: The RASDT_Vpn device type is supported on Windows 98. However, the RASDT_X25 and RASDT_Pad device types are not currently supported on Windows 98.
Windows NT/2000: Under Windows NT/Windows 2000, the szX25PadType string maps to a section name in PAD.INF.
Value | Meaning |
---|---|
RASEDM_DialAll | Dial all subentries initially. |
RASEDM_DialAsNeeded | Adjust the number of subentries as bandwidth is needed. RAS uses the dwDialExtraPercent, dwDialExtraSampleSeconds, dwDialHangUpExtraPercent, and dwHangUpExtraSampleSeconds members to determine when to dial or disconnect a subentry. |
Windows 2000 and later: In order for RAS to dial all subentries, dwDialMode must be set to RASEDM_DialAll and the dwSubEntry member of RASDIALPARAMS must be set to zero.
This member is ignored unless the dwDialMode member specifies the RASEDM_DialAsNeeded flag.
This member is ignored unless the dwDialMode member specifies the RASEDM_DialAsNeeded flag.
This member is ignored unless the dwDialMode member specifies the RASEDM_DialAsNeeded flag.
This member is ignored unless the dwDialMode member specifies the RASEDM_DialAsNeeded flag.
Value | Meaning |
---|---|
RASIDS_Disabled | There is no idle time out for this connection. |
RASIDS_UseGlobalValue | Use the user preference value as the default. |
Type | Description |
---|---|
RASET_Phone | Phone line, for example, modem, ISDN, X.25. |
RASET_Vpn | Virtual Private Network |
RASET_Direct | Direct serial or parallel connection |
RASET_Internet | Internet Connection Services (ICS) |
Value | Meaning |
---|---|
ET_40Bit | Require encryption |
ET_128Bit | Require strong encryption |
ET_None | No encryption |
ET_Require | Require encryption |
ET_RequireMax | Require maximum-strength encryption. |
ET_Optional | Do encryption if possible. No encryption is okay. |
The value of dwEncryptionType does not affect how passwords are encrypted. Whether passwords are encrypted and how passwords are encrypted is determined by the authentication protocol, e.g. PAP, MS-CHAP, EAP.
If szCustomDialDll contains an empty string, RAS uses the default system dialer.
Value | Meaning |
---|---|
VS_Default | With this strategy, RAS dials PPTP first. If PPTP fails, L2TP is attempted. Whichever protocol succeeds is tried first in subsequent dialing for this entry. |
VS_PptpOnly | RAS will dial only PPTP. |
VS_PptpFirst | RAS will always dial PPTP first. |
VS_L2tpOnly | RAS will dial only L2TP. |
VS_L2tpFirst | RAS will always dial L2TP first. |
Unless the operating system is Windows 2000 or later, the RAS Connection Manager ignores the dwDialMode, dwDialExtraPercent, dwDialExtraSampleSeconds, dwHangUpExtraPercent, and dwHangUpExtraSampleSeconds members. RAS uses these members for the Bandwidth Allocation Protocol (BAP). BAP is available only on Windows 2000 or later versions.
Windows 2000 and later: If the RAS client is using Bandwidth Allocation Protocol (BAP) with server callback, the registry value BapListenTimeout specifies the length of time, in seconds, the client will wait for the server to callback. This value is located beneath the registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\ppp
BapListenTimeout is of type REG_DWORD. BapListenTimeout can be any number in the range 0 to 0xFFFFFFFF. It has a default value of 30.
Windows 2000 and later: If dwEncryptionType is ET_None, but RASEO_RequireDataEncryption is specified, it is as though dwEncryptionType was ET_Require.
Windows NT/2000: Requires Windows NT 4.0 or later.
Windows 95/98: Requires Windows 95 OSR2 or later.
Header: Declared in Ras.h.
Unicode: Declared as Unicode and ANSI structures.
Remote Access Service (RAS) Overview, Remote Access Service Structures, RASADFunc, RasGetCountryInfo, RasGetEntryProperties, RasSetEntryProperties, RasSetSubEntryProperties