「ほっ」と。キャンペーン
(.Net)WindowsAPIのエラーコードからメッセージを取得する
.NET から WindowsAPI(Win32API) を呼び出した場合大抵の Win32API は戻り値としてエラーコードを返します。
このエラーコードはWin32 エラー コードと呼ばれてるようですが、System.ComponentModel.Win32Exception クラスの Message メソッドを使うとエラーコードのメッセージ文字列が取得できるようです。

ということで、参考先のコードそのままですがWin32エラーコードからエラーメッセージと16進数のエラーコードを返すメソッドです。(C#)

/// <summary>Win32エラーコードから、エラーを説明するメッセージと16進数表現を返します。</summary>
/// <param name="code">Win32エラーコード</param>
/// <returns>メッセージ+16進数</returns>
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);
}


参考:
C#メモ - shise.net
以下Win32のエラーコードを載せているサイトです。
Windowsシステムエラーコード一覧
Win32エラーコード一覧
Network Management Error Codes (Windows) ネットワーク系のみ。
[PR]
by jehoshaphat | 2011-06-06 22:36 | .Net開発 | Trackback | Comments(0)
トラックバックURL : http://jehupc.exblog.jp/tb/14909414
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。


<< (.Net)LINQのクエリ構... (.Net)C#3.0からオブ... >>