- - PR -
RTC(Real Time Clock)の取得方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-24 09:40
C#にてマザーボードのRTC(Real Time Clock)情報を取得する方法って
どなたかご存知ありませんか? APIを使う方法でも構いませんので、情報よろしくお願いします。 | ||||
|
投稿日時: 2008-04-24 16:04
こんにちは。
システム時刻じゃダメなんですよね? なんでRTCの時刻を取得したいのか興味あります。 もしかしてWindowsCEなのかなと思ってみたり… WindowsCE機ならOEMGetRealTimeあたりで取得できるかもしれませんね。 Windows9x/NT系のx86(IA)なら カーネルモードで(C言語/アセンブラで) IOポート(たぶん0070-007f)を読むか(たぶんBCDで書き込まれていると思われる)か BIOSコールするか?(PC/ATのかなり昔の書籍にくわしく載っていたような気がするけど…) どのみちこの方法は直接C#を使うのは無理ですね。 APIで…Windows DDKを使えばできるかも知れませんが、分かりません。 時間があればちょっと調査してみたいです。 | ||||
|
投稿日時: 2008-04-25 09:27
Tdnr_Symさん、返信ありがとうございます。
そうですよね、BIOSコールで書き換えするのもをCなりでDLL化して それをコールするのがスマートに思えます。 こちらの方向で考えます。 ありがとうございました。 | ||||
|
投稿日時: 2008-04-25 09:44
RTCに直接アクセスするAPIは無いはずです。 もしIOするなら自前でドライバを作成することになりますが、OS自身がRTCにアクセスするタイミングと競合すると時刻を破壊する恐れがあります。この部分の排他制御が必要となるため、あまり現実的ではありません。 どのような用途を考えているのか分かりませんが、OSの提供する時刻で精度上の問題があるなら、正確な時刻を提供するための別のハードウェアを用意するのが一般的です。 |
1