Aracılığıyla paylaş


WinHTTP'da Hata İşleme

Tüm WinHTTP API işlevleri hataları aynı şekilde raporlamaz.

WinHttpSetTimeouts gibi bazı işlevler, FALSE başarısız olduğunu belirten bir BOOL döndürür. FALSE döndürülürse, hatayla ilgilenenler getLastErrorçağırmalıdır. İşlev yanıtlandığında GetLastError çağrılırsa (FALSE dışında bir şey döndürdüyse), döndürülen değer tahmin edilemez ve Windows sürümleri, Hizmet Paketleri ve hatta aynı işleve yapılan çağrılar arasında değişebilir.

WinHttpConnectgibi bazı işlevler, HINTERNET sahte tanıtıcı döndürür. Bu işlevler tamamen aynıdır, ancak hata NULLdöndürülerek belirtilir. NULL döndürülürse, hatayla ilgilenenler getLastErrorçağırmalıdır. İşlev tamamlandığında getlastError çağrılırsa (NULL dışında bir şey döndürdüyse), döndürülen değer tahmin edilemez ve Windows sürümleri, Hizmet Paketleri ve hatta aynı işleve yapılan çağrılar arasında değişebilir.

WinHttpGetProxyResultgibi bazı işlevler DWORD hata kodu döndürür ve daha fazla hata bilgisi için başka işlevleri çağırmaya gerek yoktur. Bu işlevler için GetLastErrorçağrılmamalıdır. getLastError çağrılırsa, işlevin başarısına veya başarısızlığına bakılmaksızın, döndürülen değer tahmin edilemez ve Windows sürümleri, Hizmet Paketleri ve hatta aynı işleve yapılan çağrılar arasında değişebilir.