描述
WinHttpSetOption功能设置Internet选项。
C / C ++语法
BOOL WinHttpSetOption( HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, DWORD dwBufferLength ); |
PowerBASIC 语法
FUNCTION WinHttpSetOption ( _ BYVAL hInternet AS DWORD, _ BYVAL dwOption AS DWORD, _ BYVAL lpBuffer AS DWORD, _ BYVAL dwBufferLength AS DWORD _ ) AS LONG |
参数
hInternet
[in]要设置数据的HINTERNET句柄。请注意,这可以是会话句柄或请求句柄,具体取决于要设置的选项。有关如何确定哪个句柄适用于设置特定选项的更多信息,请参阅选项标志.
dwOption
[in]包含要设置的Internet选项的无符号长整型值。这可以是选项标志值之一。
lpBuffer
[in]指向包含选项设置的缓冲区的指针。
dwBufferLength
[in]无符号长整数值,包含lpBuffer缓冲区的长度。缓冲区的长度用以下选项的字符指定;对于所有其他选项,长度以字节指定。
· | WINHTTP_OPTION_USER_NAME |
· | WINHTTP_OPTION_PASSWORD |
· | WINHTTP_OPTION_PROXY_USER_NAME |
· | WINHTTP_OPTION_PROXY_PASSWORD |
· | WINHTTP_OPTION_USER_AGENT |
返回值
如果成功,返回一个有效的会话句柄,否则返回NULL。要检索扩展错误信息,请调用GetLastError.返回的错误代码有:
错误代码 |
描述 |
ERROR_WINHTTP_INCORRECT_HANDLE_STATE |
所请求的操作不能执行,因为提供的手柄不在正确的状态。 |
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE |
提供的手柄类型对于此操作是不正确的。 |
ERROR_WINHTTP_INTERNAL_ERROR |
发生内部错误。 |
ERROR_WINHTTP_INVALID_OPTION |
WinHttpQueryOption或WinHttpSetOption的请求指定了无效的选项值。 |
ERROR_WINHTTP_OPTION_NOT_SETTABLE |
请求的选项不能设置,只能查询。 |
ERROR_NOT_ENOUGH_MEMORY |
没有足够的内存来完成请求的操作。(Windows错误代码) |
备注
传递给WinHttpSetOption的证书可能会以明文形式发送。强烈建议您使用WinHttpQueryAuthSchemes和WinHttpSetCredentials而不是WinHttpSetOption设置凭据。
注意但是,使用Passport身份验证时,响应407状态代码的WinHTTP应用程序必须使用WinHttpSetOption提供代理凭据而不是WinHttpSetCredentials.只有使用护照身份验证时才是这样。在所有其他情况下,请使用WinHttpSetCredentials.
即使在异步模式下使用WinHTTP(即,当WinHttpOpen中设置了WINHTTP_FLAG_ASYNC)时,此函数将同步运行。返回值表示成功或失败。要获取扩展错误信息,请调用GetLastError.
如果指定了无法设置的选项标志,GetLastError将返回错误ERROR_INVALID_PARAMETER。
有关WinHttpSetOption的详细信息和代码示例,请参阅WinHTTP认证.