次の方法で共有


CDeferredCommand クラス

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

cdeferredcommand クラス階層

遅延コマンドは、 IQueueCommand インターフェイスのメソッドの呼び出しによってキューに登録され、フィルター グラフ マネージャーと一部のフィルターによって公開されます。 これらのメソッドのいずれかを正常に呼び出すと、キューに登録されたコマンドを表す IDeferredCommand インターフェイスが返されます。

オブジェクトは CDeferredCommand 1 つの遅延コマンドを表し、 IDeferredCommand インターフェイスと、時間チェックと実際の実行を許可する他のメソッドを公開します。 CDeferredCommandオブジェクトには、キューに格納されている CCmdQueue オブジェクトへの参照が含まれています。

参照カウントは、 クラスの有効期間を CDeferredCommand 制御します。 CDeferredCommand::Invoke メンバー関数を呼び出すと、呼び出し元のアプリケーションは参照カウントされるインターフェイス ポインターを取得し、CCmdQueue オブジェクトも遅延コマンドの参照カウントを保持します。 IDeferredCommand::Cancel メンバー関数を呼び出すと、遅延コマンドがコマンド キューから取り出され、参照カウントが 1 ずつ減ります。 キューから離れると、コマンドをキューに戻すことはできません。

プロテクト データ メンバー 説明
m_bStream ストリーム時間またはプレゼンテーション時間のフラグ。 呼び出されたメソッドに渡されます。
m_Dispatch ITypeInfo インターフェイスにアクセスします。
m_dispidMethod 実行するインターフェイスの メソッド。
m_DispParams DISPPARAMS パラメーター リストを含む CDispParams オブジェクト
m_hrResult 返された HRESULT 値を 格納します。
m_iid インターフェイスのグローバル一意識別子 (GUID)。
m_pQueue IQueueCommand インターフェイスを公開する CCmdQueue オブジェクトへのポインター。
m_pUnk コマンドを実行するインターフェイスへの IUnknown ポインター。
m_pvarResult 呼び出されたメソッドからの結果の情報 (存在する場合)。
m_time コマンドが実行される時刻。
m_wFlags 呼び出しのコンテキストを指定するフラグ。
メンバー関数 説明
CDeferredCommand CDeferredCommand オブジェクトを構築します。
GetFlags deferred コマンドに関連付けられているコンテキスト フラグを取得します。
GetIID メソッドを実行するインターフェイスのインターフェイス識別子 (IID) を取得します。
Getmethod 実行するメソッドのディスパッチ識別子を取得します。
GetParams DISPPARAMS 引数リストを メソッドに取得します。
GetResult 結果の引数リストが存在する場合は、そのリストを取得します。
GetTime メソッドが実行される時刻を取得します。
Invoke オブジェクトによって公開されるメソッドとプロパティへのアクセスを提供します。
IsStreamTime コマンドをストリーム時またはプレゼンテーション時に実行するかどうかを指定します。
IDeferredCommand メソッド 説明
キャンセル 以前にキューに入れた CDeferredCommand::Invoke 要求を取り 消します。
Confidence 現在、実装されていません。
延期 以前にキューに入れたコマンドの新しいプレゼンテーション時間を指定します。
GetHResult 呼び出されたメソッドの HRESULT 値を取得します。