これは WinINet エラーであるため、それに関連するメッセージは WinINet.dll に存在します。正しいメッセージを取得するには、これについて FormatMessage() に伝える必要があります。
FormatMessage(
// flags:
FORMAT_MESSAGE_ALLOCATE_BUFFER // allocate buffer (free with LocalFree())
| FORMAT_MESSAGE_IGNORE_INSERTS // don't process inserts
| FORMAT_MESSAGE_FROM_HMODULE, // retrieve message from specified DLL
// module to retrieve message text from
GetModuleHandle(_T("wininet.dll")),
// error code to look up
errCode,
// default language
0,
// address of location to hold pointer to allocated buffer
(LPTSTR)&lpMsgBuf,
// no minimum size
0,
// no arguments
NULL );
これは、MSDNの WinINet ドキュメントの「Handling Errors」セクションに公式に記載されています。
WinINet から発生したかどうかに関係なく、このルーチンをエラーに使用する場合は、フラグを元に戻すことができることに注意してください。そのフラグを配置するFORMAT_MESSAGE_FROM_SYSTEM
と、エラーが見つからない場合にシステム メッセージ テーブルにフォールバックします。 wininet.dll。ただし、FORMAT_MESSAGE_IGNORE_INSERTS フラグは削除しないでください。FormatMessage()