(.Net)WindowsAPIのエラーコードからメッセージを取得する
.NET から WindowsAPI(Win32API) を呼び出した場合大抵の Win32API は戻り値としてエラーコードを返します。
このエラーコードはWin32 エラー コードと呼ばれてるようですが、System.ComponentModel.Win32Exception クラスの Message メソッドを使うとエラーコードのメッセージ文字列が取得できるようです。
ということで、参考先のコードそのままですがWin32エラーコードからエラーメッセージと16進数のエラーコードを返すメソッドです。(C#)
///
Win32エラーコードから、エラーを説明するメッセージと16進数表現を返します。 /// Win32エラーコード
///
メッセージ+16進数 public static string FormatMessage(int code)
{
byte[] b = BitConverter.GetBytes(code);
Array.Reverse(b);//リトルエンディアンなので
string bs = "0x" + BitConverter.ToString(b, 0).Replace("-", "");
return string.Format("{0}({1})", new System.ComponentModel.Win32Exception(code).Message, bs);
}
参考:
以下Win32のエラーコードを載せているサイトです。
Network Management Error Codes (Windows) ネットワーク系のみ。