Gestion des erreurs dans WinHTTP
Toutes les fonctions d’API WinHTTP ne signalent pas les erreurs de la même façon.
Certaines fonctions, telles que WinHttpSetTimeouts, retournent un BOOL qui indique l’échec lorsque FAUX. Si faux est retourné, les appelants intéressés par l’erreur doivent appeler GetLastError. Si GetLastError est appelé lorsque la fonction a réussi (retournée quoi que ce soit, mais FAUX), la valeur retournée est imprévisible et peut changer entre les versions de Windows, Service Packs ou même entre les appels à la même fonction.
Certaines fonctions, telles que WinHttpConnect, retournent un pseudo-handle HINTERNET. Ces fonctions sont exactement les mêmes, sauf que l’échec est indiqué en retournant NULL. Si NULL est retourné, les appelants intéressés par l’erreur doivent appeler GetLastError. Si GetLastError est appelé lorsque la fonction a réussi (retournée quoi que ce soit, mais NULL), la valeur retournée est imprévisible et peut changer entre les versions de Windows, Service Packs ou même entre les appels à la même fonction.
Certaines fonctions, telles que WinHttpGetProxyResult, retournent un code d’erreur d'DWORD et il n’est pas nécessaire d’appeler d’autres fonctions pour obtenir plus d’informations sur l’erreur. Pour ces fonctions, GetLastError ne doit pas être appelée. Si GetLastError est appelée, quel que soit le succès ou l’échec de la fonction, la valeur retournée est imprévisible et peut changer entre les versions de Windows, Service Packs ou même entre les appels à la même fonction.