勇芳软件工作室.汉化:  WinHTTP Reference > WinHTTP Functions >

WinHttpQueryAuthSchemes

Previous pageReturn to chapter overviewNext page

描述

 

WinHttpQueryAuthSchemes函数返回服务器支持的授权方案。

 

C / C ++语法

 

BOOL WinHttpQueryAuthSchemes(

HINTERNET hRequest,

LPDWORD lpdwSupportedSchemes,

LPDWORD lpdwFirstScheme,

LPDWORD pdwAuthTarget

);

 

PowerBASIC 语法

 

FUNCTION WinHttpQueryAuthSchemes ( _

BYVAL hRequest AS DWORD, _

BYREF lpdwSupportedSchemes AS DWORD, _

BYREF lpdwFirstScheme AS DWORD, _

BYREF pdwAuthTarget AS DWORD _

) AS LONG

 

参数

 

hRequest

 

[in]WinHttpOpenRequest返回的HINTERNET句柄有效

 

lpdwSupportedSchemes

 

[out]无符号整数,指定包含支持的认证方案的标志。此参数可以返回下表中标识的一个或多个标志。

 

WINHTTP_AUTH_SCHEME_BASIC

 

表示基本认证可用。

 

WINHTTP_AUTH_SCHEME_NTLM

 

表示NTLM身份验证可用。

 

WINHTTP_AUTH_SCHEME_PASSPORT

 

表示可以使用护照验证。

 

WINHTTP_AUTH_SCHEME_DIGEST

 

表示摘要认证可用。

 

WINHTTP_AUTH_SCHEME_NEGOTIATE

 

在NTLM和Kerberos身份验证之间进行选择。

 

lpdwFirstScheme

 

[out]一个无符号整数,指定包含服务器列出的第一个认证方案的标志。此参数可以返回下表中标识的一个或多个标志。

 

WINHTTP_AUTH_SCHEME_BASIC

 

表示基本认证是第一。

 

WINHTTP_AUTH_SCHEME_NTLM

 

表示NTLM身份验证是第一个。

 

WINHTTP_AUTH_SCHEME_PASSPORT

 

表示首先认证护照。

 

WINHTTP_AUTH_SCHEME_DIGEST

 

表示摘要认证是第一。

 

WINHTTP_AUTH_SCHEME_NEGOTIATE

 

在NTLM和Kerberos身份验证之间进行选择。

 

pdwAuthTarget

 

[out]一个无符号整数,指定包含身份验证目标的标志。此参数可以返回下表中标识的一个或多个标志。

 

WINHTTP_AUTH_TARGET_SERVER

 

认证目标是服务器。表示已收到401状态码。

 

WINHTTP_AUTH_TARGET_PROXY

 

认证目标是代理。表示已接收到407状态代码。

 

返回值

 

如果成功返回TRUE,如果不成功则返回FALSE。要获取扩展错误信息,请调用GetLastError.下表列出了返回的错误代码。

 

错误代码

描述

ERROR_WINHTTP_INCORRECT_HANDLE_TYPE

提供的手柄类型对于此操作是不正确的。

ERROR_WINHTTP_INTERNAL_ERROR

发生内部错误。

ERROR_NOT_ENOUGH_MEMORY

没有足够的内存来完成请求的操作。(Windows错误代码)

 

备注

 

即使在异步模式下使用WinHTTP(即,当WinHttpOpen中设置了WINHTTP_FLAG_ASYNC时),此函数同步运行。返回值表示成功或失败。要获取扩展错误信息,请调用GetLastError.

 

WinHttpQueryAuthSchemes在调用WinHttpQueryHeaders之前无法使用。