共用方式為


WinHTTP 中的錯誤處理

並非所有 WinHTTP API 函式都會以相同方式回報錯誤。

某些函式,例如 WinHttpSetTimeouts,會傳回指出 FALSE時失敗 BOOL。 如果傳回 FALSE,對錯誤感興趣的呼叫端應該呼叫 getLastError。 如果 呼叫 GetLastError 時呼叫函式(傳回任何非 FALSE),則傳回的值是無法預測的,而且可能會在 Windows 版本、Service Pack 或呼叫相同函式之間變更。

某些函式,例如 WinHttpConnect,會傳回 HINTERNET 虛擬句柄。 除了傳回 NULL ,否則這些函式完全相同。 如果傳回 NULL,對錯誤的呼叫端應該呼叫 getLastError。 如果 呼叫 GetLastError 時呼叫函式(傳回除了 NULL以外的任何專案),則傳回的值是無法預測的,而且可能會在 Windows 版本、Service Pack 或呼叫相同函式之間變更。

某些函式,例如 WinHttpGetProxyResult,會傳回 DWORD 錯誤碼,而且不需要呼叫任何其他函式以取得更多錯誤資訊。 針對這些函式,不應該呼叫 GetLastError。 如果 呼叫 GetLastError,不論函式的成功或失敗為何,傳回的值都是無法預測的,而且可能會在 Windows 版本、Service Pack 或呼叫相同函式之間變更。