2017-01-31 11 views
1

私はWindows 7の組み込みデバイスを持っています。これは、次のように頻繁に電源が切れます。ローカルアプリケーションがアプリケーションイベントログにエントリを書き込み、数秒後にカスタム電源装置が電源を再投入するように指示します。クリーンなWindowsのシャットダウンはできません。デバイスの起動後、Windowsのイベントログを確認し、最後のエントリが見つからないことを確認します。Windowsイベントログをディスクにフラッシュする方法は?

Windowsのイベントログをディスクに書き込んで、最後のエントリを見逃すことはありませんか?このアプリケーションはC++で書かれています。

おかげで、 アドナン

+1

は、なぜあなたはそれが重要だと思いますか?あなたが解決しようとしているのは実際の問題でしょうか? OS自体がこれを処理し、正しい機能を使用していると仮定して、イベントが常に保存されるようにします**。コードを投稿 –

+0

アプリケーションで異常終了が発生した場合は、アプリケーションを修正する必要があります。あなたのイベントメッセージが失われるだけでなく、データも失われたり、保存されていないファイルや半保存されたファイルが破損する可能性があります。 –

+0

「実際の」問題は、ハードウェアに関連しています。システムには、誤動作して解決するための電源の再投入が必要なカスタムボードが含まれています。適切な解決策は、ハードウェアを修正することですが、これは私の範囲外です。同じ電源がWindows組み込みSBCにも電力を供給します。イベントログに書き込むためにWindowsのReportEvent API関数が使用され、電力を循環させるためにCOMポートメッセージが電源装置に送信されます。 – adnan

答えて

1

最適なソリューションは、ハードウェアでそれを解決することですので、あなたは、ハードウェアの問題を抱えています。しかし、動いている。

利用BIOS常にあなたがリブートを実行するためのハードウェアツールを持っているパワーサイクル

後に開始し、コンピュータを確実にします。

  • 上のコンピュータ
  • 、その後、正常なシャットダウンを実行
  • 、電源をハードウェアのパワーサイクルツールに通知:あなたはとてもそれではなく、コンピュータが、あなたを実行中にハード電源サイクルを行うよりも、その再構成することができ再度ハードウェアの電源スイッチを使用していますか?

通常は電源を入れた後にアクションを指定できるようにするBIOS設定があります。

  • コンピュータをオフのまま

  • 電源を入れ、それを上、それは電源が失われたときにあった場合にのみ
  • 電源を入れ、それを上。

これを行うことができれば、正常にシャットダウンしてから、電源を再投入する前に完了するまで待つことができます。

ソフトウェア・ソリューション:ディスクの書き込みキャッシュをオフにし

それはあなたの問題を引き起こしているかを正確に明確ではないですが、以下は、関連するようです。

おそらく、これは、ディスクコントローラハードウェアまたはオペレーティングシステムのいずれかによるディスク書き込みキャッシングの結果です。

あなたはディスク管理ツールを介してこれをオフにすることができる場合があります

ソフトウェアソリューション:プログラムで

代わりにディスクをフラッシュし、あなたができるかもしれませんプログラムによってディスクキャッシュをフラッシュします。このツールが役立つことがあります。

または実際のWMIやPowerShellので:

+0

ベン、良い提案に感謝します。私はあなたが示唆したようにSysInternalsの同期ユーティリティを使用して手動でディスクキャッシュをフラッシュしようとしましたが、成功しませんでした。私は、ディスク書き込みキャッシュを無効にしようとしますが、私はそれがパフォーマンスのために長期的には良い解決策になるとは思っていません。 – adnan

+0

それは確かにパフォーマンスのために良いではないでしょう、あなたはそこにあります。しかし、これらは良い解決策ではありません。あなたが良い解決策を持っているなら、その代わりにそれを使うべきです:-)私はこれらの助けを願っています。 – Ben

関連する問題