ホームページ > バックエンド開発 > C++ > Windows GetLastError() エラー コードを人間が読めるテキスト メッセージに変換するにはどうすればよいですか?

Windows GetLastError() エラー コードを人間が読めるテキスト メッセージに変換するにはどうすればよいですか?

DDD
リリース: 2024-11-19 15:29:02
オリジナル
583 人が閲覧しました

How Can I Convert Windows GetLastError() Error Codes into Human-Readable Textual Messages?

GetLastError() エラー コードからテキスト エラー メッセージを取得する

Windows API 呼び出しを実行する場合、GetLastError() 関数は整数値を提供します。発生した問題を示すエラー コード。より詳しいエラー メッセージを取得するには、次の手順に従います。

1. FormatMessageA を使用します:

FormatMessageA 関数を使用すると、エラー コードをテキスト エラー メッセージに変換できます。次のパラメータが必要です:

  • FORMAT_MESSAGE_ALLOCATE_BUFFER: メッセージを保存するためのバッファを割り当てます。
  • FORMAT_MESSAGE_FROM_SYSTEM: システム提供のエラー メッセージを使用します。
  • FORMAT_MESSAGE_IGNORE_INSERTS: メッセージを無視します。修飾子 (例: "%1")。
  • NULL: メッセージがパラメータなしでフォーマットされることを示します。
  • &messageBuffer: メッセージに割り当てられたバッファへのポインタ。

2.関数を呼び出します:

エラー コードを含む適切なパラメーターを指定して FormatMessageA を呼び出します:

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);
ログイン後にコピー

3。エラー メッセージをコピーして解放します:

メッセージを取得した後、その内容を文字列にコピーし、Win32 に割り当てられたバッファを解放します:

std::string message(messageBuffer, size);
LocalFree(messageBuffer);
ログイン後にコピー

次の手順に従ってください。 GetLastError() によって返されたエラー コードからテキスト形式で詳細なエラー メッセージを取得し、Windows API 呼び出し中に発生した問題についての理解を深めることができます。

以上がWindows GetLastError() エラー コードを人間が読めるテキスト メッセージに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート