次の方法で共有


IReferenceClockTimerControl インターフェイス (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

インターフェイスは IReferenceClockTimerControl 、参照クロックで使用されるタイマー期間を変更します。 このインターフェイスは、DirectShow システム参照クロックによって公開されます。

継承

IReferenceClockTimerControl インターフェイスは、IUnknown インターフェイスから継承します。 IReferenceClockTimerControl には、次の種類のメンバーもあります。

メソッド

IReferenceClockTimerControl インターフェイスには、これらのメソッドがあります。

 
IReferenceClockTimerControl::GetDefaultTimerResolution

GetDefaultTimerResolution メソッドは、参照クロックによって要求されたタイマー解像度を返します。
IReferenceClockTimerControl::SetDefaultTimerResolution

SetDefaultTimerResolution メソッドは、タイマーの最小解像度を設定します。

注釈

既定では、DirectShow のシステム参照クロックはタイマー期間をタイマーで許容される最小値に設定します。 通常、この値は 1 ミリ秒です。

タイマー期間は、Windows のグローバル設定です。 解像度を高くすると、待機関数のタイムアウト間隔の精度が向上します。 ただし、スレッド スケジューラはタスクをより頻繁に切り替えるので、システムの全体的なパフォーマンスを低下させることもできます。 高解像度では、CPU 電源管理システムが省電力モードに入らないようにすることもできます。 解像度を高く設定しても、高解像度パフォーマンス カウンターの精度は向上しません。

このインターフェイスのメイン目的は、参照クロックの既定のタイマー設定をオーバーライドすることです。 これを行うには、値 0 を指定して SetDefaultTimerResolution を呼び出します。 これにより、タイマーの解像度が低下し、ユーザーのコンピューターが省電力モードに入る可能性があります。 (実際の動作は、他のプロセスが実行されているなど、他の多くの要因によって異なります)。 DVD ナビゲーター フィルターでは、こちらの説明に従ってこのインターフェイスが使用されます。

DirectShow フィルターに高いタイマー解像度が必要な場合は、 timeBeginPeriod を呼び出す必要があります。 通常、この要件はレンダラー フィルターにのみ適用されます。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)