The RASDIALPARAMS structure contains parameters used by RasDial to establish a remote access connection. typedef struct _RASDIALPARAMS {  
   DWORD  dwSize; 
   TCHAR  szEntryName[RAS_MaxEntryName + 1]; 
   TCHAR  szPhoneNumber[RAS_MaxPhoneNumber + 1]; 
   TCHAR  szCallbackNumber[RAS_MaxCallbackNumber + 1]; 
   TCHAR  szUserName[UNLEN + 1]; 
   TCHAR  szPassword[PWLEN + 1]; 
   TCHAR  szDomain[DNLEN + 1] ; 
#if (WINVER >= 0x401)
   DWORD  dwSubEntry;
   DWORD  dwCallbackId;
#endif
} RASDIALPARAMS; 
 MembersdwSizeSpecifies the structure size, in bytes. szEntryNameSpecifies a string containing the phonebook entry to use to establish the connection. An empty string ("") specifies a simple modem connection on the first available modem port, in which case a nonempty szPhoneNumber must be provided. szPhoneNumberSpecifies a string containing an overriding phone number. An empty string ("") indicates that the phonebook entry's phone number should be used. If szEntryName is "", szPhoneNumber cannot be "". szCallbackNumberSpecifies a string containing a callback phone number. An empty string ("") indicates that callback should not be used. This string is ignored unless the user has "Set By Caller" callback permission on the RAS server. An asterisk indicates that the number stored in the phonebook should be used for callback. szUserNameSpecifies a string containing the user's user name. This string is used to authenticate the user's access to the remote access server. szPasswordSpecifies a string containing the user's password. This string is used to authenticate the user's access to the remote access server. Windows NT: You can use szPassword to send a new password to the remote server when you restart a RasDial connection from a RASCS_PasswordExpired paused state. When changing a password on an entry that calls Microsoft Networks, you should limit the new password to 14 characters in length to avoid down-level compatibility problems.szDomainSpecifies a string containing the domain on which authentication is to occur. An empty string ("") specifies the domain in which the remote access server is a member. An asterisk specifies the domain stored in the phonebook for the entry. dwSubEntrySpecifies the index of the initial subentry to dial. If the phone-book entry has no subentries or the dial mode of the phone-book entry is RASEDM_DialAll, dwSubEntry is ignored. If the dial mode is RASEDM_DialAsNeeded, RAS dials the specified subentry. If dwSubEntry is not a valid subentry index, RAS dials the first subentry. The RASENTRY structure returned by RasGetEntryProperties indicates the dial mode and number of subentries for the phone-book entry. dwCallbackIdSpecifies an application-defined value that RAS passes to your RasDialFunc2 callback function.  ResThe szUserName and szPassword strings are used to authenticate the user's access to the remote access server. 
Windows NT:RAS does not actually log the user onto the network. The user does this in the usual manner, for example, by logging on with cached credentials prior to making the connection or by using CTRL+ALT+DEL, after the RAS connection is established. If both the szUserName and szPassword members are empty strings (""), RAS uses the user name and password of the current logon context for authentication. For a user mode application, RAS uses the credentials of the currently logged-on interactive user. For a Win32 service process, RAS uses the credentials associated with the service.Windows 95:RAS uses the szUserName and szPassword strings to log the user onto the network. Windows 95 cannot get the password of the currently logged-on user, so if both the szUserName and the szPassword members are empty strings (""), RAS leaves the user name and password empty during authentication.  See AlsoRasDial