EventLogMSGS.mc - リソースファイルの構築(DLL)
-
20-12-2019 - |
質問
現在カスタム作成されたイベントログに使用するリソースファイルを持っています。情報/成功の目的の意図でログにイベントを書いたときにすべてが完全に動作しているようです。しかし、私が誤った意図のうちの1つを書くとき...
ソースXからのイベントID 301の説明が見つかりません...
私は疑問に思っていました...それはすべての私のカテゴリーが重大度=成功しているという事実と関係がありますか?Severity= Errorを持つサービスのカテゴリも必要ですか?
ログに成功した例:
イベントID:101、レベル:情報、タスクカテゴリ:(8)サービス
ログに成功した例:
イベントID:301、Level:エラー、タスクカテゴリ:(8)サービス
次は、カテゴリのリソースファイルに変換したマイカテゴリメッセージファイル、およびメッセージです...
; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; // mc -s EventLogMsgs.mc
; // rc EventLogMsgs.rc
; // link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res
; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************
MessageId=0x1
Severity=Success
SymbolicName=GENERAL_CATEGORY
Language=English
General
.
MessageId=0x2
Severity=Success
SymbolicName=DATABASE_CATEGORY
Language=English
Database Query
.
MessageId=0x3
Severity=Success
SymbolicName=LOGON_CATEGORY
Language=English
Logon
.
MessageId=0x4
Severity=Success
SymbolicName=LOGOFF_CATEGORY
Language=English
Logoff
.
MessageId=0x5
Severity=Success
SymbolicName=EMAIL_CATEGORY
Language=English
Email
.
MessageId=0x6
Severity=Success
SymbolicName=PRINTER_CATEGORY
Language=English
Printer
.
MessageId=0x7
Severity=Success
SymbolicName=IO_CATEGORY
Language=English
IO
.
MessageId=0x8
Severity=Success
SymbolicName=SERVICE_CATEGORY
Language=English
Service
.
MessageId=0x9
Severity=Success
SymbolicName=DEBUG_CATEGORY
Language=English
Debug
.
; // - Event messages -
; // *********************************
MessageId = 100
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID100
Language=English
%1
.
MessageId = 101
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID101
Language=English
%1
.
MessageId = 102
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID102
Language=English
%1
.
MessageId = 103
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID103
Language=English
%1
.
MessageId = 104
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID104
Language=English
%1
.
MessageId = 105
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID105
Language=English
%1
.
MessageId = 200
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID200
Language=English
%1
.
MessageId = 201
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID201
Language=English
%1
.
MessageId = 202
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID202
Language=English
%1
.
MessageId = 203
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID203
Language=English
%1
.
MessageId = 204
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID204
Language=English
%1
.
MessageId = 205
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID205
Language=English
%1
.
MessageId = 300
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID300
Language=English
%1
.
MessageId = 301
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID301
Language=English
%1
.
MessageId = 302
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID302
Language=English
%1
.
MessageId = 303
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID303
Language=English
%1
.
MessageId = 304
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID304
Language=English
%1
.
MessageId = 305
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID305
Language=English
%1
.
. 解決
実際の問題: 私は間違ったファイルを作成していました。 mc.exeとrc.exeコマンドを実行するときに生成されたmyfile.cファイルに掘り下げた後に何が起こっているのかを見つけました。そのファイルを見るとき、私はDWORD値(Hex)が予想される整数に追加されなかったことを認識しました。
私の問題: 最下線は私の問題でしたが、#200では「重大度=成功」ではなく#200で「severity=警告」を使用していました。私がついに私が創造されたイベント番号を持っていたと私が変更したとき。私が私のファイルに行った他のいくつかの機能強化がありましたが、それが私が私の問題を持っていた主な理由でした。
訂正されたイベントログメッセージファイル: 以下では、正しいEventLogメッセージファイルがあります。また、カテゴリやイベントを区切って2つのファイルに分割することも決まった。 (あなたは必要ない)
categories.mc
; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; // mc -s EventLogMsgs.mc
; // rc EventLogMsgs.rc
; // link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res
; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************
MessageIdTypedef = WORD
LanguageNames = (English=0x409:MSG00409)
MessageId = 0x1
SymbolicName=GENERAL_CATEGORY
Language=English
General
.
MessageId = 0x2
SymbolicName=DATABASE_CATEGORY
Language=English
Database
.
MessageId = 0x3
SymbolicName=LOGON_CATEGORY
Language=English
Logon
.
MessageId = 0x4
SymbolicName=LOGOFF_CATEGORY
Language=English
Logoff
.
MessageId = 0x5
SymbolicName=EMAIL_CATEGORY
Language=English
Email
.
MessageId = 0x6
SymbolicName=PRINTER_CATEGORY
Language=English
Printer
.
MessageId = 0x7
SymbolicName=IO_CATEGORY
Language=English
IO
.
MessageId = 0x8
SymbolicName=SERVICE_CATEGORY
Language=English
Service
.
MessageId = 0x9
SymbolicName=DEBUG_CATEGORY
Language=English
Debug
.
.
EVENTSMC
; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; // mc -s EventLogMsgs.mc
; // rc EventLogMsgs.rc
; // link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res
; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************
; // - Event messages -
; // *********************************
MessageIdTypedef = DWORD
LanguageNames = (English=0x409:MSG00409)
MessageId = 100
SymbolicName = SMESSAGE_ID100
Language=English
%1
.
MessageId = 101
SymbolicName = SMESSAGE_ID101
Language=English
%1
.
MessageId = 102
SymbolicName = SMESSAGE_ID102
Language=English
%1
.
MessageId = 103
SymbolicName = SMESSAGE_ID103
Language=English
%1
.
MessageId = 104
SymbolicName = SMESSAGE_ID104
Language=English
%1
.
MessageId = 105
SymbolicName = SMESSAGE_ID105
Language=English
%1
.
MessageId = 200
SymbolicName = WMESSAGE_ID200
Language=English
%1
.
MessageId = 201
SymbolicName = WMESSAGE_ID201
Language=English
%1
.
MessageId = 202
SymbolicName = WMESSAGE_ID202
Language=English
%1
.
MessageId = 203
SymbolicName = WMESSAGE_ID203
Language=English
%1
.
MessageId = 204
SymbolicName = WMESSAGE_ID204
Language=English
%1
.
MessageId = 205
SymbolicName = WMESSAGE_ID205
Language=English
%1
.
MessageId = 300
SymbolicName = EMESSAGE_ID300
Language=English
%1
.
MessageId = 301
SymbolicName = EMESSAGE_ID301
Language=English
%1
.
MessageId = 302
SymbolicName = EMESSAGE_ID302
Language=English
%1
.
MessageId = 303
SymbolicName = EMESSAGE_ID303
Language=English
%1
.
MessageId = 304
SymbolicName = EMESSAGE_ID304
Language=English
%1
.
MessageId = 305
SymbolicName = EMESSAGE_ID305
Language=English
%1
.
.