Обработка ошибок в WinHTTP
Не все функции API WinHTTP сообщают об ошибках одинаково.
Некоторые функции, такие как WinHttpSetTimeouts, возвращают boOL, указывающие на сбой при FALSE. Если возвращается false, вызывающие элементы, заинтересованные в ошибке, должны вызывать GetLastError. Если GetLastError вызывается при выполнении функции (возвращено что-либо, кроме FALSE), возвращаемое значение непредсказуемо и может меняться между версиями Windows, пакетами обновления или даже между вызовами одной функции.
Некоторые функции, такие как WinHttpConnect, возвращают псевдо-дескриптор HINTER NET. Эти функции точно одинаковы, кроме сбоя, указывается возврат NULL. Если возвращается NULL, вызывающие элементы, заинтересованные в ошибке, должны вызывать GetLastError. Если GetLastError вызывается при выполнении функции (возвращено все, кроме NULL), возвращаемое значение непредсказуемо и может меняться между версиями Windows, пакетами обновления или даже между вызовами одной функции.
Некоторые функции, такие как WinHttpGetProxyResult, возвращают код ошибки DWORD и для получения дополнительных сведений об ошибках не требуется вызывать другие функции. Для этих функций не следует вызывать GetLastError. Если вызывается GetLastError независимо от успешного или сбоя функции, возвращаемое значение непредсказуемо и может меняться между версиями Windows, пакетами обновления или даже между вызовами одной функции.