当Microsoft Windows HTTP服务(WinHTTP)中的一个功能失败时,GetLastError返回下面列出的错误值,并返回从对象返回的低于16位的HRESULT错误。
名称以“ERROR_WINHTTP_”开头的错误值特定于WinHTTP功能。WinHTTP功能还会在适当的时候返回Windows错误消息。
ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR
12178
当指定的URL的代理无法找到时返回WinHttpGetProxyForUrl.
ERROR_WINHTTP_AUTODETECTION_FAILED
12180
如果WinHTTP无法发现代理自动配置(PAC)文件的URL,则返回WinHttpDetectAutoProxyConfigUrl.
ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT
12166
在代理自动配置(PAC)文件中执行脚本代码时发生错误。
ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN
12103
如果在调用打开方法后无法请求指定的选项,则由HttpRequest对象返回。
ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND
12102
如果在调用发送方法后无法执行请求的操作,则由HttpRequest对象返回。
ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN
12100
如果在调用打开方法之前无法执行请求的操作,则由HttpRequest对象返回。
ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND
12101
如果在调用发送方法之前无法执行请求的操作,则由HttpRequest对象返回。
ERROR_WINHTTP_CANNOT_CONNECT
12029
如果与服务器的连接失败返回。
ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED
服务器需要SSL客户端验证。该应用程序通过使用WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST选项调用WinHttpQueryOption来检索证书颁发者列表。有关详细信息,请参阅WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST选项。
如果服务器请求客户端证书但不要求它,则应用程序可以使用WINHTTP_OPTION_CLIENT_CERT_CONTEXT选项来调用WinHttpSetOption.在这种情况下,应用程序将在WinHttpSetOption的lpBuffer参数中指定WINHTTP_NO_CLIENT_CERT_CONTEXT宏。有关详细信息,请参阅WINHTTP_OPTION_CLIENT_CERT_CONTEXT选项。
Windows Server 2003 SP1和Windows XP SP2: 不支持此错误。
ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY
应用程序没有访问与客户端证书关联的私钥的必需权限。
Windows Server 2003 SP1和Windows XP SP2: 不支持此错误。
ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY
SSL客户端证书的上下文没有与其关联的私钥。客户端证书可能已导入计算机而没有私钥。
Windows Server 2003 SP1和Windows XP SP2: 不支持此错误。
ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW
12183
在解析分块编码的过程中遇到溢出条件时返回WinHttpReceiveResponse.
ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED
12044
当服务器请求客户端身份验证时返回WinHttpReceiveResponse.
Windows Server 2003 SP1和Windows XP SP2: 不支持此错误。
ERROR_WINHTTP_CONNECTION_ERROR
12030
与服务器的连接已重置或终止,或遇到不兼容的SSL协议。例如,WinHTTP版本5.1不支持SSL2,除非客户端专门启用它。
ERROR_WINHTTP_HEADER_ALREADY_EXISTS
12155
过时的;不再使用
ERROR_WINHTTP_HEADER_COUNT_EXCEEDED
12181
当响应中存在大量的标题时,由WinHttpReceiveResponse返回,而不是WinHTTP可以接收。
ERROR_WINHTTP_HEADER_NOT_FOUND
12150
请求的标题无法找到。
ERROR_WINHTTP_HEADER_SIZE_OVERFLOW
12182
当接收到的标头的大小超过请求句柄的限制时返回WinHttpReceiveResponse.
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
12019
所请求的操作不能执行,因为提供的手柄不在正确的状态。
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
12018
提供的手柄类型对于此操作是不正确的。
ERROR_WINHTTP_INTERNAL_ERROR
12004
发生内部错误。
ERROR_WINHTTP_INVALID_OPTION
12009
对WinHttpQueryOption或WinHttpSetOption的请求指定了无效的选项值。
ERROR_WINHTTP_INVALID_QUERY_REQUEST
12154
过时的;不再使用
ERROR_WINHTTP_INVALID_SERVER_RESPONSE
12152
服务器响应无法解析。
ERROR_WINHTTP_INVALID_URL
12005
该网址无效。
ERROR_WINHTTP_LOGIN_FAILURE
12015
登录尝试失败。遇到此错误时,应使用WinHttpCloseHandle关闭请求句柄。必须先创建一个新的请求句柄,然后再重试最初产生此错误的函数。
ERROR_WINHTTP_NAME_NOT_RESOLVED
12007
无法解析服务器名称。
ERROR_WINHTTP_NOT_INITIALIZED
12172
过时的;不再使用
ERROR_WINHTTP_OPERATION_CANCELLED
12017
操作被取消,通常是因为在操作完成之前,请求的操作被关闭。
ERROR_WINHTTP_OPTION_NOT_SETTABLE
12011
请求的选项不能设置,只能查询。
ERROR_WINHTTP_OUT_OF_HANDLES
12001
过时的;不再使用
ERROR_WINHTTP_REDIRECT_FAILED
12156
重定向失败,因为方案已更改或所有尝试重定向失败(默认为五次尝试)。
ERROR_WINHTTP_RESEND_REQUEST
12032
WinHTTP功能失败。可以在相同的请求句柄上重试所需的功能。
ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW
12184
传入响应超过内部WinHTTP大小限制时返回。
ERROR_WINHTTP_SECURE_CERT_CN_INVALID
12038
当证书CN名称与传递的值不匹配时返回(等同于CERT_E_CN_NO_MATCH错误)。
ERROR_WINHTTP_SECURE_CERT_DATE_INVALID
12037
表示当对当前系统时钟或签名文件中的时间戳进行验证时,或者认证链的有效期未正确嵌套(等同于CERT_E_EXPIRED或CERT_E_VALIDITYPERIODNESTING错误)时,所需证书不在其有效期内。
ERROR_WINHTTP_SECURE_CERT_REV_FAILED
12057
表示由于撤销服务器脱机(相当于CRYPT_E_REVOCATION_OFFLINE),无法检查吊销。
ERROR_WINHTTP_SECURE_CERT_REVOKED
12170
表示证书已被吊销(相当于CRYPT_E_REVOKED)。
ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE
12179
表示证书对请求的使用无效(相当于CERT_E_WRONG_USAGE)。
ERROR_WINHTTP_SECURE_CHANNEL_ERROR
12157
表示发生了与安全通道有关的错误(相当于以“winerror.h”头文件中列出的“SEC_E_”和“SEC_I_”开头的错误代码))。
ERROR_WINHTTP_SECURE_FAILURE
12175
在服务器发送的安全套接字层(SSL)证书中发现一个或多个错误。要确定遇到什么类型的错误,请检查状态回调函数中的WINHTTP_CALLBACK_STATUS_SECURE_FAILURE通知。有关详细信息,请参阅WINHTTP_STATUS_CALLBACK.
ERROR_WINHTTP_SECURE_INVALID_CA
12045
表示证书链已被处理,但终止于不受信任提供者信任的根证书(相当于CERT_E_UNTRUSTEDROOT)。
ERROR_WINHTTP_SECURE_INVALID_CERT
12169
表示证书无效(相当于错误,如CERT_E_ROLE,CERT_E_PATHLENCONST,CERT_E_CRITICAL,CERT_E_ISURA,CERT_E_MISFORMED和CERT_E_CHAINING)。
ERROR_WINHTTP_SHUTDOWN
12012
正在关闭或卸载WinHTTP功能支持。
ERROR_WINHTTP_TIMEOUT
12002
请求已超时。
ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT
12167
PAC文件无法下载。例如,由PAC URL引用的服务器可能无法访问,或者服务器返回404 NOT FOUND响应。
ERROR_WINHTTP_UNRECOGNIZED_SCHEME
12006
URL指定了除“http:”或“https:”之外的方案。
Windows错误消息
ERROR_NOT_ENOUGH_MEMORY
没有足够的内存来完成请求的操作。
ERROR_INSUFFICIENT_BUFFER
提供给函数的缓冲区的大小(以字节为单位)不足以包含返回的数据。有关详细信息,请参阅具体功能。
ERROR_INVALID_HANDLE
传递给应用程序编程接口(API)的句柄已被无效或关闭。
ERROR_NO_MORE_FILES
没有找到更多的文件。
ERROR_NO_MORE_ITEMS
没有找到更多的项目。
ERROR_NOT_SUPPORTED
所需的协议栈未加载,应用程序无法启动WinSock。