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、または同じ関数の呼び出し間でも変更される可能性があります。