2016-08-05 9 views
3

私はいくつかのカスタムイベントビューアイベントを定義しようとしています。私はMSDNと他のほとんどのオンラインソースの指示に従っていますが、イベントビューアは関連するテキストデータを見つけることができません。NDISドライバを使用したカスタムイベントメッセージ

これは私がやったことです:

  • イベントコードと(WDKシリアルドライバの例以下)関連の文字列を含むメッセージコンパイラの入力ファイルを作成しました。
  • メッセージコンパイラによって生成された.rcファイルが、メインドライバリソースファイル(MyDriver.rc)に含まれています。
  • メッセージコンパイラによって生成されたヘッダファイルが、関連するドライバモジュールに含まれています。
  • APIを使用して、インクルードされたヘッダーファイルから新しいIDでイベントを書き出しました。
  • は、イベントソースを特定するのInfレジストリ文字列にドライバのバイナリを追加しました:

HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll; %%SystemRoot%%\System32\drivers\MyDriver.sys" 
HKR, , TypesSupported, 0x00010001, 7 

すべてがイベントビューアにより、文字列の表示を除き、動作します。メッセージを認識するようではなく、「メッセージリソースは存在しますが、メッセージは文字列/メッセージテーブルにありません」というイベントの説明が表示されます。 WDKの例との唯一の大きな違いは、汎用WDM APIの代わりにNDIS APIを使用することです。 エディタで.sysファイルを開くと、そこに私の文字列がはっきりと見えるので、テキストがドライバのバイナリに含まれていると確信しています。 この問題に関するご意見はありがとうございます。

+0

答えて

0

1年半後、私は問題を発見しました。どうやら、イベントビューアのレジストリ文字列パーサーは、その前に空白があると、第2のメッセージファイル名を適切に抽出できません。

これを修正するには、空白を削除するだけです。すなわち、代わりの:

HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll; %%SystemRoot%%\System32\drivers\MyDriver.sys" 

INFファイルでこれを書く:私は誰もがこの問題について言うことを何も持っていないことを信じることができない

HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll;%%SystemRoot%%\System32\drivers\MyDriver.sys" 
関連する問題