timeGetTime

https://msdn.microsoft.com/ja-jp/library/ms712191.aspx https://msdn.microsoft.com/ja-jp/library/cc410966.aspx https://msdn.microsoft.com/ja-jp/library/cc410968.aspx

システム時刻をミリ秒単位で取得します。システム時刻は Windows が起動してから経過した時間です。

DWORD timeGetTime(VOID);

パラメータ

パラメータはありません。

戻り値

関数が成功すると、システム時刻がミリ秒単位で返ります。

解説

この関数と timeGetSystemTime 関数との唯一の違いは、timeGetSystemTime 関数では、システム時刻を返すのに MMTIME 構造体を使う点です。timeGetTime 関数では、timeGetSystemTime 関数よりもオーバーヘッドが少なくて済みます。
timeGetTime 関数で返される値は DWORD 値であることに注意してください。戻り値は 0 ミリ秒から 2^32 ミリ秒の間を循環します。2^32 ミリ秒は約 49.71 日にあたります。計算に timeGetTime 関数の戻り値を直接使うようなコードでは、特にコードの実行を制御する場合などに、問題が発生する可能性があります。計算では常に、2 つの timeGetTime 関数の戻り値の差を使います。

Windows NT:timeGetTime 関数の既定の精度は、マシンによっては 5 ミリ秒以上になる場合があります。timeGetTime 関数の精度は、timeBeginPeriod 関数と timeEndPeriod 関数を使って上げることができます。こうすると、2 つの連続した timeGetTime 関数の戻り値の差の最小値は、timeBeginPeriod 関数と timeEndPeriod 関数を使って設定された間隔の最小値と同じになります。高い分解能で短い時間間隔を測定するには、QueryPerformanceCounter 関数と QueryPerformanceFrequency 関数を使います。

Windows 95:timeGetTime 関数の既定の精度は 1 ミリ秒です。つまり、timeGetTime 関数は、1 ミリ秒しか違わない連続値を返すことができます。timeBeginPeriod 関数と timeEndPeriod 関数に対して行われた呼び出しがどのような性質のものであっても、これは変わりません。

対応情報

  Windows NT/2000:Windows NT 3.1 以降
  Windows 95/98:Windows 95 以降
  ヘッダー:mmsystem.h 内で宣言
  インポートライブラリ:winmm.lib を使用

参照

timeGetSystemTime、、timeGetTimetimeBeginPeriodtimeEndPeriod、、

表示: