/// <summary>Informationエントリとしてメッセージを出力</summary> /// <param name="message">メッセージ</param> /// <param name="category">カテゴリ</param> /// <param name="eventID">eventID</param> public void Write(string message, ushort category, int eventID) { bool ret = false; // イベント・ソースの登録済みハンドルを開く IntPtr hEventLog = EventLogWin32.RegisterEventSource(null, APP_NAME); // ここでエラー(ERROR_ACCESS_DENIED )になる。 // Writing in Security log on WinXP - Sysinternals Forums // http://forum.sysinternals.com/writing-in-security-log-on-winxp_topic2804.html CmnWin32.ErrorCodes ec = CmnWin32.GetLastError(); // セキュリティ・ログに書き込み ret = EventLogWin32.ReportEvent( hEventLog, EVENTLOG_INFORMATION_TYPE, category, eventID, IntPtr.Zero, 1, 0, new string[] { message }, IntPtr.Zero); // イベント・ソースの登録済みハンドルを閉じる ret = EventLogWin32.DeregisterEventSource(hEventLog); }
/// <summary>コンストラクタ3</summary> /// <param name="error">ErrorCodes</param> /// <param name="message">メッセージ</param> /// <param name="inner">内部例外</param> public WindowsAPIErrorException( CmnWin32.ErrorCodes error, string message, System.Exception inner) : base(message, inner) { this._errorCode = error; }
/// <summary>コンストラクタ2</summary> /// <param name="error">ErrorCodes</param> /// <param name="message">メッセージ</param> public WindowsAPIErrorException( CmnWin32.ErrorCodes error, string message) : base(message) { this._errorCode = error; }
/// <summary>コンストラクタ1</summary> /// <param name="error">ErrorCodes</param> public WindowsAPIErrorException(CmnWin32.ErrorCodes error) : base() { this._errorCode = error; }