Windows API のエラー コードからテキスト エラー メッセージを取得する方法
Windows API では、GetLastError() 関数は整数エラーを返します。システムコールの結果を示すコード。このコードに対応する人間が判読できるエラー メッセージを取得するには、次の手法を使用できます。
方法 1: FormatMessage() 関数を使用する
The FormatMessage( ) 関数は、エラー コードをテキスト メッセージに変換する便利な方法を提供します。いくつかのパラメータを取ります:
コード例:
//Returns the last Win32 error, in string format. Returns an empty string if there is no error. std::string GetLastErrorAsString() { //Get the error message ID, if any. DWORD errorMessageID = ::GetLastError(); if(errorMessageID == 0) { return std::string(); //No error message has been recorded } LPSTR messageBuffer = nullptr; //Ask Win32 to give us the string version of that message ID. //The parameters we pass in, tell Win32 to create the buffer that holds the message for us (because we don't yet know how long the message string will be). size_t size = FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorMessageID, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL); //Copy the error message into a std::string. std::string message(messageBuffer, size); //Free the Win32's string's buffer. LocalFree(messageBuffer); return message; }
以上がWindows API エラー コードを人間が読めるテキスト メッセージに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。