Функция WinHttpSetCredentials (winhttp.h)
Функция WinHttpSetCredentials передает на сервер необходимые учетные данные авторизации.
Синтаксис
WINHTTPAPI BOOL WinHttpSetCredentials(
[in] HINTERNET hRequest,
[in] DWORD AuthTargets,
[in] DWORD AuthScheme,
[in] LPCWSTR pwszUserName,
[in] LPCWSTR pwszPassword,
[in] LPVOID pAuthParams
);
Параметры
[in] hRequest
Допустимый дескриптор HINTERNET, возвращаемый WinHttpOpenRequest.
[in] AuthTargets
Целое число без знака, указывающее флаг, содержащий целевой объект проверки подлинности. Может быть одним из значений в следующей таблице.
Значение | Значение |
---|---|
|
Учетные данные передаются на сервер. |
|
Учетные данные передаются прокси-серверу. |
[in] AuthScheme
Целое число без знака, указывающее флаг, содержащий схему проверки подлинности. Должна быть одной из поддерживаемых схем проверки подлинности, возвращаемых winHttpQueryAuthSchemes. В следующей таблице указаны возможные значения.
[in] pwszUserName
Указатель на строку, содержащую допустимое имя пользователя.
[in] pwszPassword
Указатель на строку, содержащую допустимый пароль. Пароль может быть пустым.
[in] pAuthParams
Этот параметр зарезервирован и должен иметь значение NULL.
Возвращаемое значение
Возвращает значение TRUE в случае успешного выполнения или FALSE в противном случае. Для получения дополнительных сведений об ошибке вызовите Метод GetLastError. В следующей таблице указаны возвращенные коды ошибок.
Код ошибки | Описание |
---|---|
|
Не удается выполнить запрошенную операцию, так как предоставленный дескриптор находится в неправильном состоянии. |
|
Для этой операции указан неправильный тип дескриптора. |
|
Произошла внутренняя ошибка. |
|
Недостаточно памяти для завершения запрошенной операции (код ошибки Windows). |
Комментарии
Даже если WinHTTP используется в асинхронном режиме (то есть, если WINHTTP_FLAG_ASYNC задано в WinHttpOpen), эта функция работает синхронно. Возвращаемое значение указывает на успех или сбой. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Учетные данные, заданные WinHttpSetCredentials , используются только для одного запроса; WinHTTP не кэширует эти учетные данные для использования в последующих запросах. В результате приложения должны быть написаны таким образом, чтобы они могли реагировать на несколько проблем. Если подключение с проверкой подлинности используется повторно, последующие запросы не могут быть оспоримы, но ваш код должен быть в состоянии ответить на запрос в любой момент.
Пример кода, иллюстрирующий использование WinHttpSetCredentials, см. в разделе Проверка подлинности в WinHTTP.
Требования
Минимальная версия клиента | Windows XP, Windows 2000 Профессиональная с пакетом обновления 3 (SP3) [только классические приложения] |
Минимальная версия сервера | Windows Server 2003, Windows 2000 Server с пакетом обновления 3 (SP3) [только классические приложения] |
Целевая платформа | Windows |
Header | winhttp.h |
Библиотека | Winhttp.lib |
DLL | Winhttp.dll |
Распространяемые компоненты | WinHTTP 5.0 и Internet Обозреватель 5.01 или более поздней версии в Windows XP и Windows 2000. |
См. также раздел
Сведения о службах MICROSOFT Windows HTTP (WinHTTP)