次の方法で共有


IQueueCommand インターフェイス

IQueueCommand インターフェイスは、指定された時間で処理するためにコマンドをキューに入れる。フィルタ グラフ マネージャは、このインターフェイスを公開している。アプリケーションはこのインターフェイスを使って、グラフコントロール コマンドを前もってキューに入れることができる。

IQueueCommand 内のメソッドは IDispatch::InvokeAt メソッドの後で設計された。アプリケーションはインターフェイス、インターフェイスのメソッド、メソッドの引数、基準タイムを指定する。フィルタ グラフ マネージャはこの情報をキューに入れ、次に指定された時間にこのメソッドを起動する。要求されたインターフェイスは IDispatch を継承し、フィルタ グラフ マネージャによって公開されなければならない。例としては IMediaControlIMediaEventExIMediaPosition が挙げられる。

コマンドがキューに入れられると、フィルタ グラフ マネージャは IDeferredCommand インターフェイスへのポインタを返す。アプリケーションは、このインターフェイスを使ってそのコマンドを取り消したり、変更したりできる。

注 : IQueueCommand の 2 つのメソッドはそれぞれ、ストリーム タイムとプレゼンテーション タイムを参照する。フィルタ グラフ マネージャのコンテキストでは、ストリーム タイムとプレゼンテーション タイムが等しいため、この 2 つのメソッドに機能上の差はない。ただし、その他のオブジェクトでは、IQueueCommand を別に実装することもできる。ストリーム タイムとプレゼンテーション タイムの詳細については、「DirectShow のタイムとクロック」を参照すること。

IUnknown から継承したメソッドに加えて、IQueueCommand インターフェイスは次のメソッドを公開する。

メソッド 説明
InvokeAtPresentationTime 指定されたプレゼンテーション タイムに起動するため、メソッドをキューに入れる。
InvokeAtStreamTime 指定されたストリーム タイムに起動するため、メソッドをキューに入れる。