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") ビルドで異なる結果を生成します。 これは、システムが長時間実行されるまで発生しない可能性があるバグを特定するのに役立ちます。 チェックされたビルドは、 Microsoft Developer Network (MSDN) Web サイトを介して MSDN サブスクライバーが使用できます。
 
この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNTを 0x0601 以降として定義します。 詳細については、「 Windows ヘッダーの使用」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 10 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー realtimeapiset.h
Library Mincore.lib
[DLL] Kernel32.dll

関連項目

割り込み時間

QueryInterruptTimePrecise

QueryUnbiasedInterruptTime

QueryUnbiasedInterruptTimePrecise

システムの電源状態

Windows タイム