Функция RasSetCredentialsA (ras.h)
Функция RasSetCredentials задает учетные данные пользователя, связанные с указанной записью телефонной книги RAS.
Синтаксис
DWORD RasSetCredentialsA(
[in] LPCSTR unnamedParam1,
[in] LPCSTR unnamedParam2,
[in] LPRASCREDENTIALSA unnamedParam3,
[in] BOOL unnamedParam4
);
Параметры
[in] unnamedParam1
Указатель на строку с пустым завершением, указывающую полный путь и имя файла телефонной книги (PBK). Если этот параметр имеет значение NULL, функция использует текущий файл телефонной книги по умолчанию. Файл телефонной книги по умолчанию — это файл, выбранный пользователем на странице свойств Пользовательские настройки диалогового окна Сеть с телефонным подключением .
[in] unnamedParam2
Указатель на строку, завершающуюся значением NULL, которая указывает имя записи телефонной книги.
[in] unnamedParam3
Указатель на структуру RASCREDENTIALS , указывающую учетные данные пользователя, которые нужно задать для указанной записи телефонной книги. Перед вызовом RasSetCredentials задайте для элемента dwSize структуры sizeof(RASCREDENTIALS)
значение и задайте член dwMask , чтобы указать учетные данные, которые необходимо задать.
[in] unnamedParam4
Значение типа , указывающее, очищает ли RasSetCredentials существующие учетные данные, задавая для них пустую строку "". Если этот флаг имеет значение TRUE, член dwMask структуры RASCREDENTIALS указывает, какие учетные данные функция присваивает пустой строке. Если этот флаг имеет значение FALSE, функция задает указанные учетные данные в соответствии с содержимым соответствующих членов RASCREDENTIALS .
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет ERROR_SUCCESS.
Если функция завершается ошибкой, возвращается один из следующих кодов ошибок или значение из кода ошибок маршрутизации и удаленного доступа или WinError.h.
Значение | Значение |
---|---|
|
Не удается найти указанную телефонную книгу. |
|
Параметр lpCredentials имеет значение NULL, или указанная запись не существует в телефонной книге. |
|
Произошло одно из следующих условий:
|
Комментарии
Функция RasSetCredentials задает учетные данные пользователя, связанные с указанной записью телефонной книги RAS. Учетные данные, хранящиеся с записью телефонной книги, — это учетные данные последнего пользователя, успешно подключившегося с помощью указанной записи телефонной книги, или учетные данные, которые впоследствии были указаны при вызове функции RasSetCredentials или RasSetEntryDialParams для записи телефонной книги.
Функция RasSetCredentials является предпочтительным способом безопасного хранения учетных данных с помощью записи телефонной книги. RasSetCredentials заменяет функцию RasSetEntryDialParams , которая может не поддерживаться в будущих выпусках операционной системы Windows.
Дескриптор пароля — "*** (16 звездочек). Если вы вызываете RasGetCredentials и получаете 16 *s обратно в поле пароля, у вас есть сохраненный пароль, и по соображениям безопасности он не будет возвращен вам в виде обычного текста. Если член szPassword структуры RASCREDENTIALS содержит дескриптор пароля (16 *s), возвращенный RasGetCredentials или RasGetEntryDialParams, следующий вызов RasSetCredentials не изменит сохраненный пароль.
Чтобы задать учетные данные по умолчанию для подключения ко всем пользователям, установите флаг RASCM_DefaultCreds в члене dwMask структуры RASCREDENTIALS , на которую указывает параметр lpCredentials . При попытке задать учетные данные по умолчанию для подключения для каждого пользователя RasSetCredentials возвращает ERROR_ACCESS_DENIED.
При настройке учетных данных для подключения для всех пользователей, если вызывающее приложение указывает значение, отличное от NULL, для параметра телефонной книги , lpszPhonebook, файл телефонной книги должен находиться в каталоге телефонной книги под путем к данным приложения для всех пользователей. Чтобы получить правильное расположение для файла телефонной книги, сначала вызовите SHGetFolderPath со значением CSIDLCSIDL_COMMON_APPDATA. SHGetFolderPath возвращает путь к данным приложения для всех пользователей. Добавьте следующую строку в этот путь:
Microsoft\Network\Connections\Pbk
Объединенный путь является правильным расположением для файла телефонной книги.
Примечание
Заголовок ras.h определяет RasSetCredentials в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ras.h |
Библиотека | Rasapi32.lib |
DLL | Rasapi32.dll |