WinHTTP错误信息处理

WinHTTP错误信息处理

Not all WinHTTP API functions report errors in the same way.

WinHTTP API各种函数返回错误的方式不尽相同。

Some functions, such as WinHttpSetTimeouts, return a BOOL that indicates failure whenFALSE. If FALSE is returned, callers interested in the error should callGetLastError. If GetLastError is called when the function succeded (returned anything butFALSE), the returned value is unpredictable and may change between Windows versions, Service Packs, or even between calls to the same function.

WinHttpSetTimeouts函数返回一个BOOL值,这个值代表成果或失败。如果失败,请调用GetLastError获取具体的失败代码,如果返回的是成功,我们又调用了GetLastError,返回的错误值号就是不可预料的,这取决于Windows的版本,补丁号等等。

Some functions, such as WinHttpConnect, return an HINTERNET pseudo handle. These functions are exactly the same, except failure is indicated by returningNULL. If NULL is returned, callers interested in the error should callGetLastError. If GetLastError is called when the function succeded (returned anything butNULL), the returned value is unpredictable and may change between Windows versions, Service Packs, or even between calls to the same function.

一些函数,如WinHttpConnect返回一个WinHttpConnect伪句柄。这些函数如果失败会返回NULL。如果返回空,调用者同样可以用GetLastError获取具体错误代码,如果GetLastError是在函数成功时调用的,返回的错误值号就是不可预料的,这取决于Windows的版本,补丁号等等。

Some functions, such as WinHttpGetProxyResult, return a DWORD error code and there is no need to call any other functions for more error information. For these functions,GetLastError should not be called. If GetLastError is called, regardless of the success or failure of the function, the returned value is unpredictable and may change between Windows versions, Service Packs, or even between calls to the same function.

一些函数,如WinHttpGetProxyResult返回一个DWORD错误代码,这就不需要我们再调用任何辅助函数来确定错误代码了。对这些函数不能使用GetLastError,如果调用了GetLastError,不管函数成功与否,返回的错误值号就是不可预料的,这取决于Windows的版本,补丁号等等。

猜你喜欢

转载自blog.csdn.net/edger2heaven/article/details/45665579