QueryUnbiasedInterruptTime 関数 (realtimeapiset.h)

現在の偏りのない割り込み時間数を 100 ナノ秒単位で取得します。 偏りのない割り込み時間数には、システムがスリープまたは休止状態で費やす時間は含まれません。

構文

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

パラメーター

UnbiasedTime

TBD

戻り値

関数が成功すると、戻り値は 0 以外になります。 関数が null パラメーターを使用して呼び出されたために失敗した場合、戻り値は 0 になります。

注釈

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

QueryUnbiasedInterruptTime 関数によって取得される割り込み時間数は、システムが動作状態にある時間のみを反映します。 したがって、割り込み時間数は、システムがスリープまたは休止状態に費やす時間によって "バイアス" されません。 システムは、スリープ中に期限切れになった相対タイマーが、スリープ解除直後に期限切れになるようにするなど、一部の操作に偏った割り込み時間を使用します。

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

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

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

要件

要件
サポートされている最小のクライアント Windows 7,Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー realtimeapiset.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

割り込み時間

QueryInterruptTime

QueryInterruptTimePrecise

QueryUnbiasedInterruptTimePrecise

システムの電源状態

Windows タイム