Fehlerbehandlung in WinHTTP

Nicht alle WinHTTP-API-Funktionen melden Fehler auf die gleiche Weise.

Einige Funktionen, z. B. WinHttpSetTimeouts,geben eine BOOL zurück, die bei FALSE einen Fehler angibt. Wenn FALSE zurückgegeben wird, sollten Aufrufer, die an dem Fehler interessiert sind, GetLastErroraufrufen. Wenn GetLastError aufgerufen wird, wenn die Funktion erfolgreich ausgeführt wurde (nur FALSE zurückgegeben), ist der zurückgegebene Wert unvorhersehbar und kann sich zwischen Windows Versionen, Service Packs oder sogar zwischen Aufrufen derselben Funktion ändern.

Einige Funktionen, z. B. WinHttpConnect,geben ein HINTERNET-Pseudohandle zurück. Diese Funktionen sind genau identisch, mit dem Unterschied, dass ein Fehler durch Zurückgeben von NULL angegeben wird. Wenn NULL zurückgegeben wird, sollten Aufrufer, die an dem Fehler interessiert sind, GetLastErroraufrufen. Wenn GetLastError aufgerufen wird, wenn die Funktion erfolgreich ausgeführt wurde (alles außer NULL zurückgegeben), ist der zurückgegebene Wert unvorhersehbar und kann sich zwischen Windows Versionen, Service Packs oder sogar zwischen Aufrufen derselben Funktion ändern.

Einige Funktionen, z. B. WinHttpGetProxyResult,geben einen DWORD-Fehlercode zurück, und es ist nicht erforderlich, andere Funktionen für weitere Fehlerinformationen aufzurufen. Für diese Funktionen sollte GetLastError nicht aufgerufen werden. Wenn GetLastError unabhängig vom Erfolg oder Fehler der Funktion aufgerufen wird, ist der zurückgegebene Wert unvorhersehbar und kann sich zwischen Windows Versionen, Service Packs oder sogar zwischen Aufrufen derselben Funktion ändern.