IQueueCommand::InvokeAtStreamTime メソッド (control.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
メソッドは InvokeAtStreamTime
、指定されたストリーム時刻 (つまり、現在のストリーム時間オフセットに対するプレゼンテーション時間) で実行するメソッドまたはプロパティの変更をキューに入れます。
構文
HRESULT InvokeAtStreamTime(
[out] IDeferredCommand **pCmd,
[in] REFTIME time,
[in] GUID *iid,
[in] long dispidMethod,
[in] short wFlags,
[in] long cArgs,
[in] VARIANT *pDispParams,
[in, out] VARIANT *pvarResult,
[out] short *puArgErr
);
パラメーター
[out] pCmd
IDeferredCommand インターフェイス ポインターを受け取る変数のアドレス。
[in] time
コマンドを呼び出す時刻。
[in] iid
インターフェイスのインターフェイス識別子 (IID) へのポインター。
[in] dispidMethod
インターフェイス上のメソッドまたはプロパティのディスパッチ識別子 (DISPID)。 IDispatch::Invoke メソッドの dispIdMember パラメーターと同じです。
[in] wFlags
呼び出しのコンテキストを記述するフラグ。 IDispatch::Invoke メソッドの wFlags パラメーターと同じです。
[in] cArgs
pDispParams の引数の数。 DISPPARAMS 構造体の cArgs メンバーと同じです。
[in] pDispParams
引数を含む配列へのポインター。 DISPPARAMS 構造体の rgvarg メンバーと同じです。
[in, out] pvarResult
結果を受け取る VARIANT へのポインター。 IDispatch::Invoke メソッドの pVarResult パラメーターと同じです。
[out] puArgErr
エラーが発生した最初の引数のインデックスを受け取る変数へのポインター。 IDispatch::Invoke メソッドの puArgErr パラメーターと同じです。
戻り値
HRESULT 値を返します。
注釈
dispidMember パラメーターの DISPID を取得するには、IDispatch::GetIDsOfNames メソッドを使用します。
例
次の例では、 IMediaControl::Stop コマンドを 3.0 秒間キューに入れます。
IQueueCommand *pQ = 0;
IMediaControl *pControl = 0;
// Query for IQueueCommand.
pGraph->QueryInterface(IID_IQueueCommand, reinterpret_cast<void**>(&pQ));
// Query for IMediaControl.
pGraph->QueryInterface(IID_IMediaControl, reinterpret_cast<void**>(&pControl));
// Find the DISPID of the IMediaControl::Stop method.
OLECHAR *szMethod = OLESTR("Stop");
long dispid;
hr = pControl->GetIDsOfNames(IID_NULL, &szMethod, 1, 0, &dispid);
// Invoke the command.
IDeferredCommand *pCmd = 0;
hr = pQ->InvokeAtPresentationTime(&pCmd, 3.0,
const_cast<GUID*>(&IID_IMediaControl), dispid, DISPATCH_METHOD,
0, 0, 0, 0);
if (SUCCEEDED(hr))
{
pControl->Run();
pCmd->Release();
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | control.h (Dshow.h を含む) |
Library | Strmiids.lib |