  
  Platform SDK: RAS/Routing and RAS 
RASENTRY
[This is preliminary documentation and subject to change.] 

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 timeout
    //
    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;
Members
dwSize 
Specifies the size, in bytes, of the RASENTRY structure. Before calling
RasSetEntryProperties or RasGetEntryProperties, set dwSize to
sizeof(RASENTRY) to identify the version of the structure. 
dwfOptions 
A set of bit flags that specify connection options. You can set one or
more of the following flags. 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 phonebook 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.

 
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
phonebook 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:  


dwCountryID 
Specifies the TAPI country identifier. Use the RasGetCountryInfo
function to enumerate country identifiers. This member is ignored unless
the dwfOptions member specifies the RASEO_UseCountryAndAreaCodes flag. 
dwCountryCode 
Specifies the country code portion of the phone number. The country code
must correspond to the country identifier specified by dwCountryID. If
dwCountryCode is zero, the country code is based on the country
identifier specified by dwCountryID. This member is ignored unless
dwfOptions specifies the RASEO_UseCountryAndAreaCodes flag. 
szAreaCode 
Specifies the area code as a null-terminated string. If the dialing
location does not have an area code, specify an empty string (""). Do
not include parentheses or other delimiters in the area code string.
(For example, "206" is a valid area code; "(206)" is not. This member is
ignored unless the dwfOptions member specifies the
RASEO_UseCountryAndAreaCodes flag. 
szLocalPhoneNumber 
Specifies a null-terminated string containing a telephone number. The
way RAS uses this string depends on whether the dwfOptions member
specifies the RASEO_UseCountryAndAreaCodes flag. If the flag is set, RAS
combines szLocalPhoneNumber with the country and area codes specified by
the dwCountryID, dwCountryCode , and szAreaCode members. If the flag is
not set, RAS uses the szLocalPhoneNumber string as the entire phone
number. 
dwAlternateOffset 
Specifies the offset, in bytes, from the beginning of the structure to a
list of consecutive null-terminated strings. The last string is
terminated by two consecutive null characters. The strings are alternate
phone numbers that RAS dials in the order listed if the primary number
(see szLocalPhoneNumber) fails to connect. The alternate phone number
strings are ANSI or Unicode, depending on whether you use the ANSI or
Unicode version of the structure. 
ipaddr 
Specifies the IP address to be used while this connection is active.
This member is ignored unless dwfOptions specifies the
RASEO_SpecificIpAddr flag. 
ipaddrDns 
Specifies the IP address of the DNS server to be used while this
connection is active. This member is ignored unless dwfOptions specifies
the RASEO_SpecificNameServers flag. 
ipaddrDnsAlt 
Specifies the IP address of a secondary or backup DNS server to be used
while this connection is active. This member is ignored unless
dwfOptions specifies the RASEO_SpecificNameServers flag. 
ipaddrWins 
Specifies the IP address of the WINS server to be used while this
connection is active. This member is ignored unless dwfOptions specifies
the RASEO_SpecificNameServers flag. 
ipaddrWinsAlt 
Specifies the IP address of a secondary WINS server to be used while
this connection is active. This member is ignored unless dwfOptions
specifies the RASEO_SpecificNameServers flag. 
dwFrameSize 
Specifies the network protocol frame size. The value should be either
1006 or 1500. This member is ignored unless dwFramingProtocol specifies
the RASFP_Slip flag. 
dwfNetProtocols 
Specifies the network protocols to negotiate. This member can be a
combination of the following flags. Flag Description 
RASNP_NetBEUI Negotiate the NetBEUI protocol. 
RASNP_Ipx Negotiate the IPX protocol. 
RASNP_Ip Negotiate the TCP/IP protocol. 


dwFramingProtocol 
Specifies the framing protocol used by the server. PPP is the emerging
standard. SLIP is used mainly in UNIX environments. This member can be
one of the following flags. 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. 

szScript 
Specifies a null-terminated string containing the name of the script
file. The filename should be a full path. 
Windows NT/2000: To indicate a Windows NT SWITCH.INF script name, set
the first character of the name to "[". 

szAutodialDll 
Specifies a null-terminated string containing the full path and filename
of the dynamic-link library (DLL) for the customized AutoDial handler.
If szAutodialDll contains an empty string (""), RAS uses the default
dialing user interface and the szAutodialFunc member is ignored. 
szAutodialFunc 
Specifies a null-terminated string containing the exported name of the
RASADFunc function for the customized AutoDial handler. An AutoDial DLL
must provide both ANSI and Unicode versions of the RASADFunc handler.
However, do not include the "A" or "W" suffix in the name specified by
szAutodialFunc. 
szDeviceType 
Specifies a null-terminated string indicating the RAS device type
referenced by szDeviceName. This member can be one of the following
string constants. 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. 

szDeviceName 
Contains a null-terminated string containing the name of a TAPI device
to use with this phone-book entry, for example, "XYZ Corp 28800
External". To enumerate all available RAS-capable devices, use the
RasEnumDevices function. 
szX25PadType 
Contains a null-terminated string that identifies the X.25 PAD type. Set
this member to "" unless the entry should dial using an X.25 PAD. 
Windows NT/2000: Under Windows NT, the szX25PadType string maps to a
section name in PAD.INF. 

szX25Address 
Contains a null-terminated string that identifies the X.25 address to
connect to. Set this member to "" unless the entry should dial using an
X.25 PAD or native X.25 device. 
szX25Facilities 
Contains a null-terminated string that specifies the facilities to
request from the X.25 host at connection. This member is ignored if
szX25Address is an empty string (""). 
szX25UserData 
Contains a null-terminated string that specifies additional connection
information supplied to the X.25 host at connection. This member is
ignored if szX25Address is an empty string (""). 
dwChannels; 
dwReserved1 
Reserved; must be zero. 
dwReserved2 
Reserved; must be zero. 
dwSubEntries 
Specifies the number of multilink subentries associated with this entry.
When calling RasSetEntryProperties, set this member to zero. To add
subentries to a phone-book entry, use the RasSetSubEntryProperties
function. 
dwDialMode 
Indicates whether RAS should dial all of this entry's multilink
subentries when the entry is first connected. This member can be one of
the following values. 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. 

dwDialExtraPercent 
Windows 2000 or later: Specifies a percent of the total bandwidth
available from the currently connected subentries. RAS dials an
additional subentry when the total bandwidth used exceeds
dwDialExtraPercent percent of the available bandwidth for at least
dwDialExtraSampleSeconds seconds. 
This member is ignored unless the dwDialMode member specifies the
RASEDM_DialAsNeeded flag. 

dwDialExtraSampleSeconds 
Windows 2000 or later: Specifies the number of seconds that current
bandwidth usage must exceed the threshold specified by
dwDialExtraPercent before RAS dials an additional subentry. 
This member is ignored unless the dwDialMode member specifies the
RASEDM_DialAsNeeded flag. 

dwHangUpExtraPercent 
Windows 2000 or later: Specifies a percent of the total bandwidth
available from the currently connected subentries. RAS terminates (hangs
up) an existing subentry connection when total bandwidth used is less
than dwHangUpExtraPercent percent of the available bandwidth for at
least dwHangUpExtraSampleSeconds seconds. 
This member is ignored unless the dwDialMode member specifies the
RASEDM_DialAsNeeded flag. 

dwHangUpExtraSampleSeconds 
Windows 2000 or later: Specifies the number of seconds that current
bandwidth usage must be less than the threshold specified by
dwHangUpExtraPercent before RAS terminates an existing subentry
connection. 
This member is ignored unless the dwDialMode member specifies the
RASEDM_DialAsNeeded flag. 

dwIdleDisconnectSeconds 
Specifies the number of seconds after which the connection is terminated
due to inactivity. Note that unless the idle timeout is disabled, the
entire connection is terminated if the connection is idle for the
specified interval. This member can specify a number of seconds, or one
of the following values. Value Meaning 
RASIDS_Disabled There is no idle timeout for this connection.  
RASIDS_UseGlobalValue Use the user preference value as the default.  


dwType 
Windows 2000: The type of phone-book entry. This member can be one of
the following types 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) 


dwEncryptionType 
Windows 2000: The type of encryption to use for Microsoft Point to Point
Encryption (MPPE) with the connection. This member can be one of the
following values. Value Meaning 
ET_40Bit Require Encryption 
ET_128Bit Require Strong Encryption 


The value of dwEncryptionType doesn't 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. 

dwCustomAuthKey 
Windows 2000: This member is used for Extensible Authentication Protocol
(EAP). This member contains the authentication key provided to the EAP
vendor. 
guidId 
Windows 2000: The GUID (Globally Unique IDentifier) that represents this
phone-book entry. This member is not settable. 
szCustomDialDll[MAX_PATH] 
Windows 2000: A NULL-terminated string containing the full path and
filename for the dynamic link library (DLL) that implements the custom
dialing functions. This DLL should export Unicode versions of functions
named RasCustomDial, RasCustomHangup, RasCustomEntryDlg, and
RasCustomDialDlg. These functions should have prototypes RasCustomDialFn
and RasCustomHangUpFn as defined in ras.h, and RasCustomDialDlgFn and
RasCustomEntryDlgFn as defined in rasdlg.h. 
If szCustomDialDll contains an empty string, RAS uses the default system
dialer. 

dwVpnStrategy 
Windows 2000: The VPN strategy to use when dialing a VPN connection.
This member can have one of the following values. 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. 


Remarks
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.

Requirements 
  Windows NT/2000: Requires Windows NT 4.0 or later.
  Windows 95/98: Requires Windows 95 OSR2 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in ras.h.
  Unicode: Defined as Unicode and ANSI structures.

See Also
Remote Access Service (RAS) Overview, Remote Access Service Structures,
RASADFunc, RasGetCountryInfo, RasSetEntryProperties,
RasSetSubEntryProperties 

Built on Wednesday, May 12, 1999Requirements 
  Windows NT/2000: Requires Windows NT 4.0 or later.
  Windows 95/98: Requires Windows 95 OSR2 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in ras.h.
  Unicode: Defined as Unicode and ANSI structures.
See Also
Remote Access Service (RAS) Overview, Remote Access Service Structures,
RASADFunc, RasGetCountryInfo, RasSetEntryProperties,
RasSetSubEntryProperties 


=======================================================================
  
  Platform SDK: RAS/Routing and RAS 
RASSUBENTRY
[This is preliminary documentation and subject to change.] 

The RASSUBENTRY structure contains information about a subentry of a RAS
phone-book entry. The RasSetSubEntryProperties and
RasGetSubEntryProperties functions use this structure to set and
retrieve the properties of a subentry.

typedef struct tagRASSUBENTRY {
    DWORD      dwSize;
    DWORD      dwfFlags;
    //
    // Device
    //
    TCHAR      szDeviceType[ RAS_MaxDeviceType + 1 ];
    TCHAR      szDeviceName[ RAS_MaxDeviceName + 1 ];
    //
    // Phone numbers
    //
    TCHAR      szLocalPhoneNumber[ RAS_MaxPhoneNumber + 1 ];
    DWORD      dwAlternateOffset;
} RASSUBENTRY;
Members
dwSize 
Specifies the size, in bytes, of the RASSUBENTRY structure. Before
calling RasSetSubEntryProperties or RasGetSubEntryProperties, set dwSize
to sizeof(RASSUBENTRY) to identify the version of the structure. 
dwfFlags 
Currently unused. The RasSetSubEntryProperties function sets this member
to zero. The RasGetSubEntryProperties function ignores this member. 
szDeviceType 
Specifies a null-terminated string indicating the RAS device type
referenced by szDeviceName. This member can be one of the following
string constants. String Description 
RASDT_Modem A modem accessed through a COM port. 
RASDT_Isdn An ISDN card with the corresponding NDISWAN driver installed. 
RASDT_X25 An X.25 card with the corresponding NDISWAN driver installed. 
RASDT_Vpn A virtual private network connection. 
RASDT_Pad A Packet Assembler/Disassembler 


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 

szDeviceName 
Specifies a null-terminated string containing the name of the TAPI
device to use with this phone-book entry. To enumerate all available
RAS-capable devices, use the RasEnumDevices function. 
szLocalPhoneNumber 
Specifies a null-terminated string containing a telephone number. The
way RAS uses this string depends on whether the
RASEO_UseCountryAndAreaCodes flag is set in the dwfOptions member of the
RASENTRY structure for this phone-book entry. If the flag is set, RAS
combines szLocalPhoneNumber with the country and area codes specified in
the RASENTRY structure. If the flag is not set, RAS uses the
szLocalPhoneNumber string as the entire phone number. 
dwAlternateOffset 
Specifies the offset, in bytes, from the beginning of the structure to a
list of consecutive null-terminated strings. The last string is
terminated by two consecutive null characters. The strings are alternate
phone numbers that RAS dials in the order listed if the primary number
(see szLocalPhoneNumber) fails to connect. The alternate phone number
strings are ANSI or Unicode, depending on whether you use the ANSI or
Unicode version of the structure. 
Requirements 
  Windows NT/2000: Requires Windows NT 4.0 or later.
  Windows 95/98: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in ras.h.
  Unicode: Defined as Unicode and ANSI structures.

See Also
Remote Access Service (RAS) Overview, Remote Access Service Structures,
RasGetSubEntryProperties, RasSetSubEntryProperties 

Built on Wednesday, May 12, 1999Requirements 
  Windows NT/2000: Requires Windows NT 4.0 or later.
  Windows 95/98: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in ras.h.
  Unicode: Defined as Unicode and ANSI structures.
See Also
Remote Access Service (RAS) Overview, Remote Access Service Structures,
RasGetSubEntryProperties, RasSetSubEntryProperties 
