WinHTTP でのエラー処理
すべての WinHTTP API 関数が同じ方法でエラーを報告するわけではありません。
WinHttpSetTimeoutsなどの一部の関数は、FALSE 失敗を示す BOOL を返します。 FALSE が返された場合、エラーに関心がある呼び出し元は GetLastError呼び出す必要があります。 関数が正常に終了したときに GetLastError が呼び出された場合 (FALSE 以外返されます)、戻り値は予測不可能であり、Windows バージョン、Service Pack、または同じ関数の呼び出し間でも変更される可能性があります。
WinHttpConnectなどの一部の関数は、擬似ハンドル HINTERNET を返します。 これらの関数はまったく同じですが、null を返すことでエラー示される点が異なります。 NULL 返された場合、エラーに関心がある呼び出し元は GetLastError呼び出す必要があります。 関数 正常に終了したときに GetLastError が呼び出された場合 (null 以外返されます)、返される値は予測できず、Windows のバージョン、Service Pack、または同じ関数の呼び出し間でも変更される可能性があります。
WinHttpGetProxyResultなどの一部の関数は、DWORD エラー コードを返します。さらにエラー情報を得るために他の関数を呼び出す必要はありません。 これらの関数では、GetLastError呼び出さないでください。 GetLastError が呼び出された場合、関数の成功または失敗に関係なく、戻り値は予測できず、Windows バージョン、Service Pack、または同じ関数の呼び出し間でも変更される可能性があります。