IMFRealTimeClient インターフェイス (mfidl.h)
マルチメディア クラス スケジューラ サービス (MMCSS) に自身を登録するようにパイプライン オブジェクトに通知します。
ワーカー スレッドを作成するパイプライン オブジェクトは、このインターフェイスを実装する必要があります。
継承
IMFRealTimeClient インターフェイスは、IUnknown インターフェイスから継承されます。 IMFRealTimeClient には、次の種類のメンバーもあります。
メソッド
IMFRealTimeClient インターフェイスには、これらのメソッドがあります。
IMFRealTimeClient::RegisterThreads マルチメディア クラス スケジューラ サービス (MMCSS) にワーカー スレッドを登録するようにオブジェクトに通知します。 (IMFRealTimeClient.RegisterThreads) |
IMFRealTimeClient::SetWorkQueue このオブジェクトを含むトポロジ ブランチの作業キューを指定します。 |
IMFRealTimeClient::UnregisterThreads マルチメディア クラス スケジューラ サービス (MMCSS) からワーカー スレッドの登録を解除するようにオブジェクトに通知します。 (IMFRealTimeClient.UnregisterThreads) |
解説
Media Foundation は、アプリケーションがトポロジ内のブランチを MMCSS タスクに関連付けるメカニズムを提供します。 トポロジ ブランチは、トポロジ内のソース ノードと、その後のすべてのノードによって定義されます。 アプリケーションは、ソース ノードで MF_TOPONODE_WORKQUEUE_ID 属性を設定し、 IMFWorkQueueServices::BeginRegisterTopologyWorkQueuesWithMMCSS を呼び出すことによって、トポロジ ブランチを MMCSS に登録します。
アプリケーションが MMCSS にトポロジ ブランチを登録すると、メディア セッションは、そのブランチ内のすべてのパイプライン オブジェクトに IMFRealTimeClient インターフェイスのクエリを実行します。 オブジェクトが インターフェイスを公開している場合、メディア セッションは RegisterThreads を呼び出します。
アプリケーションがトポロジ ブランチの登録を解除すると、メディア セッションは UnregisterThreads を呼び出します。
パイプライン オブジェクトが独自のワーカー スレッドを作成するが、このインターフェイスを実装していない場合は、優先度の高い処理スレッドが、優先度の低いスレッド上のデータを処理するコンポーネントを待機している間にブロックされる可能性があるため、Media Foundation パイプラインで優先度の反転が発生する可能性があります。
ワーカー スレッドを作成しないパイプライン オブジェクトは、このインターフェイスを実装する必要はありません。
Windows 8 では、このインターフェイスは IMFRealTimeClientEx で拡張されています。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfidl.h |