Gestione degli errori in WinHTTP

Non tutte le funzioni API WinHTTP segnalano errori nello stesso modo.

Alcune funzioni, ad esempio WinHttpSetTimeouts, restituiscono un valore BOOL che indica un errore quando FALSE. Se viene restituito FALSE, i chiamanti interessati all'errore devono chiamare GetLastError. Se GetLastError viene chiamato quando si verifica la funzione (restituita qualsiasi cosa ma FALSE), il valore restituito è imprevedibile e può cambiare tra versioni di Windows, Service Pack o anche tra chiamate alla stessa funzione.

Alcune funzioni, ad esempio WinHttpConnect, restituiscono uno pseudo handle DI NATIVENET . Queste funzioni sono esattamente uguali, ad eccezione dell'errore indicato dalla restituzione di NULL. Se viene restituito NULL , i chiamanti interessati all'errore devono chiamare GetLastError. Se GetLastError viene chiamato quando la funzione si verifica (restituita qualsiasi cosa ma NULL), il valore restituito è imprevedibile e può cambiare tra versioni di Windows, Service Pack o anche tra chiamate alla stessa funzione.

Alcune funzioni, ad esempio WinHttpGetProxyResult, restituiscono un codice di errore DWORD e non è necessario chiamare altre funzioni per ulteriori informazioni sugli errori. Per queste funzioni, GetLastError non deve essere chiamato. Se GetLastError viene chiamato, indipendentemente dall'esito positivo o negativo della funzione, il valore restituito è imprevedibile e può cambiare tra versioni di Windows, Service Pack o anche tra chiamate alla stessa funzione.