次の方法で共有


QueryInterruptTime 関数 (realtimeapiset.h)

現在の割り込み時間数を取得します。 より正確なカウントを得る場合は、QueryInterruptTimePreciseを使用します。

構文

void QueryInterruptTime(
  [out] PULONGLONG lpInterruptTime
);

パラメーター

[out] lpInterruptTime

100 ナノ秒のシステム時間単位で割り込み時間数を受け取る ULONGLONG へのポインター。 秒を取得するために 1,000 万 (1e7) で除算します (1 秒に 1e9 ナノ秒があるため、1 秒に 1e7 100 ナノ秒があります)。

戻り値

何一つ

備考

割り込み時間カウントは、システムが起動すると 0 から始まり、クロック割り込みごとにクロック ティックの長さでインクリメントされます。 クロック ティックの正確な長さは、基になるハードウェアによって異なり、システムによって異なる場合があります。

システム時間とは異なり、割り込み時間の数は、ユーザーまたは Windows タイム サービスによる調整の対象になりません。 アプリケーションでは、割り込み時間数を使用して、システム時間よりも細かい期間を測定できます。 割り込み時間数よりも高い精度を必要とするアプリケーションでは、高解像度タイマーを使用する必要があります。 QueryPerformanceFrequency 関数を使用して、高解像度タイマーの頻度を取得し、QueryPerformanceCounter 関数を使用してカウンターの値を取得します。

timeBeginPeriod および timeEndPeriod 関数によって設定されるタイマー解決は、QueryInterruptTime 関数の解決に影響します。 ただし、プロセッサが省電力状態に入らないようにすることで、システム全体のパフォーマンスを低下させ、システムの電力消費量を増やすことができるため、タイマーの解像度を上げることはお勧めしません。 代わりに、アプリケーションでは高解像度タイマーを使用する必要があります。

QueryInterruptTime 関数は、割り込み時間数とティック数が約 49 日進むため、Windows のデバッグ ("checked") ビルドで異なる結果が生成されます。 これは、システムが長時間実行されるまで発生しない可能性のあるバグを特定するのに役立ちます。
 
この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNTを 0x0601 以降として定義します。 詳細については、「Windows ヘッダーの使用」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 10 [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2016 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー realtimeapiset.h
ライブラリ Mincore.lib
DLL Kernel32.dll

関連項目

割り込み時間

QueryInterruptTimePrecise

QueryUnbiasedInterruptTime

QueryUnbiasedInterruptTimePrecise

システムの電源状態

Windows タイム の