例外

2012-10-21 11 views
5

は、私は、WindowsのEventLogをエクスポートするために休閑コードを使用します。例外

var els = new EventLogSession(); 
els.ExportLogAndMessages("Application", 
          PathType.LogName, 
          "*[System[Provider[@Name='Prayon.Client']]]", 
          tempEventLogPath, 
          false, 
          CultureInfo.CurrentCulture); 

これは、一般的に取り組んでいます。しかし、一つのマシン上で、私は休閑例外を取得:

System.Diagnostics.Eventing.Reader.EventLogException: Der Verzeichnisname ist ungültig 
bei System.Diagnostics.Eventing.Reader.EventLogException.Throw(Int32 errorCode) 
bei System.Diagnostics.Eventing.Reader.NativeWrapper.EvtArchiveExportedLog(EventLogHandle session, String logFilePath, Int32 locale, Int32 flags) 
bei System.Diagnostics.Eventing.Reader.EventLogSession.ExportLogAndMessages(String path, PathType pathType, String query, String targetFilePath, Boolean tolerateQueryErrors, CultureInfo targetCultureInfo) 

"Der Verzeichnisname ist ungültig"は英語で意味:"The pathname is invalid"

アプリケーション-EventLogには、既存のさとtempEventLogPathも有効です。

誰かが知っていることは間違っている可能性がありますか?

+0

tempEventLogPathの値は何ですか? –

答えて

0

ターゲットディレクトリのLocalMetaDataディレクトリを削除してください。

私は同じ問題を抱えていました。 最初の呼び出しは機能しますが、すべての呼び出しが上記の例外を受け取ります。 Processmonitorを調べると、evtxファイルに加えて、LocalMetaDataディレクトリにアクセスすることが示されました。 このディレクトリを削除すると、エクスポートが再び機能します。

0

で可能な答えを参照してください必要があります(あなたはUACを無効にすることができ EvtArchiveExportedLog fails with ERROR_DIRECTORY

事はあなたが答えに記載されているディレクトリへのアクセス権を持っている場合でも、あなたが原因UACの通知に失敗すること、であり、作業)。