2012-01-25 10 views
0

私はWinCE 5を実行しているハードウェアデバイスを持っています。エレガントな勝利CE 5シャットダウン時の電源損失

コンパクトなフレームワークの私たちのアプリ。

このデバイスは、電源スイッチを備えた電源装置に接続されています。

私たちのアプリは、電源スイッチがオフになったときに信号を受信します。これにより、エレガントに作業を終え、スレッドをシャットダウンし、デバイスをシャットダウンすることができます。

現在のところ、シャットダウン手順では、SDIOカードをアンマウントして、破損していないことを確認しています。

最終的なシャットダウンの一環としてWindows APIを呼び出すことはありません。私たちは私たちのパワー・マイクロを「すべてが大丈夫だ、本当に今すぐパワーを消すことができる」ことを伝えることができます。

私たちの主な目的は、あらゆる種類の破損を防ぐことです。たとえば、WindowsレジストリはSDIOカードには搭載されず、内蔵ドライブに搭載されます。私はこのことを私の知る限りではなく、それを心配しています。

私の質問がされています。我々は、エレガントな窓の観点から、シャットダウンするように、このプロセスの間に何をやるべき

  • Windowsにその能力を失うことを伝えるためにどのようなAPI呼び出しを行う必要がありますか? (それはまだ私たちのアプリがパワーマイクロを制御するために実行することができます)
  • この状況に関する他のヒントをいただければ幸いです。

ありがとうございます。

答えて

3

サスペンドAPI(例:GwesPowerOffSystem())を呼び出して、パワーマネージャにパワーマネージャのエントリポイントから各ドライバを呼び出すように指示する必要があります。私は、可能であれば、電力の損失からの割り込みはドライバによって処理され、次にサスペンドプロセスが開始されなければならないと主張しています。

アプリケーションは、これに対処する責任を負うべきではありません。

+0

Suspend()を呼び出すと、シャットダウンに影響を及ぼすために電源コードを呼び出すにはどうすればよいですか? – Nik

+0

それはあなたがマイクロと呼ぶ必要があるコードに依存します。それはちょうどレジスタ書き込みか、いくつかの割り込みラインの状態を設定するか、手動でいくつかの特定のAPIなどを呼び出す必要がありますか? – ctacke

+0

比較的簡単なもの - ハードウェア回線をアサートする必要がある(「30分後に電源を入れ直す」など)。 – Nik

関連する問題