Platform SDK: RAS/Routing and RAS |
The RasSetCredentials function sets the user credentials associated with a specified RAS phone-book entry.
DWORD RasSetCredentials( LPCTSTR lpszPhonebook, // pointer to the full path and file name // of a phone-book file LPCTSTR lpszEntry, // pointer to the name of a phone-book // entry LPRASCREDENTIALS lpCredentials, // pointer to structure that specifies the // credentials BOOL fClearCredentials // if true, credentials are cleared // if false, credentials are set );
sizeof(RASCREDENTIALS)
. Set the dwMask member to indicate the credential information to be set. If the function succeeds, the return value is zero.
If the function fails, the return value is one of the following error codes.
Value | Meaning |
---|---|
ERROR_CANNOT_OPEN_PHONEBOOK | The specified phone book cannot be found. |
ERROR_CANNOT_FIND_PHONEBOOK_ENTRY | The specified entry does not exist in the phone book. |
ERROR_INVALID_PARAMETER | The lpCredentials parameter was NULL. |
ERROR_INVALID_SIZE | The dwSize member of the RASCREDENTIALS structure is an unrecognized value. |
The RasSetCredentials function sets the user credentials associated with a specified RAS phone-book entry. The credentials stored with a phone-book entry are the credentials of the last user to successfully connect using the specified phone-book entry, or the credentials subsequently specified in a call to the RasSetCredentials or RasSetEntryDialParams function for the phone-book entry.
The RasSetCredentials function is the preferred way of securely storing credentials with a phone-book entry. RasSetCredentials supersedes the RasSetEntryDialParams function, which may not be supported in future releases of Windows 2000.
Windows 2000 and later versions: If the szPassword member of the RASCREDENTIALS structure contains the password handle returned by RasGetCredentials or RasGetEntryDialParams, RasSetCredentials returns successfully without changing any currently saved password.
The following code sample sets the credentials for the phone-book entry with the name "mazy".
ZeroMemory(&lpCred, sizeof(lpCred)); lpCred.dwSize = sizeof(lpCred); lstrcpy(lpCred.szUserName, "test"); lstrcpy(lpCred.szPassword, ""); lstrcpy(lpCred.szDomain, "BANANA40"); lpCred.dwMask=RASCM_UserName | RASCM_Password | RASCM_Domain ; res=RasSetCredentials(NULL, "mazy", &lpCred, 0); if(res == 0) printf("Set Credentials to:\n%s\n%s\n%s\n\n", lpCred.szUserName,lpCred.szPassword,lpCred.szDomain); else printf("Error: %u\n\n,",res);
Windows NT/2000: Requires Windows NT 4.0 or later.
Windows 95/98: Unsupported.
Header: Declared in Ras.h.
Library: Use Rasapi32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.
Remote Access Service (RAS) Overview, Remote Access Service Functions, RASCREDENTIALS, RasGetCredentials, RasSetEntryDialParams