Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine dan Audio/Video Capture di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Metode ini InvokeAtStreamTime mengantrekan metode atau perubahan properti untuk eksekusi pada waktu streaming tertentu (yaitu, waktu presentasi relatif terhadap offset waktu streaming saat ini).
Sintaks
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
);
Parameter
[out] pCmd
Alamat variabel yang menerima penunjuk antarmuka IDeferredCommand .
[in] time
Waktu untuk memanggil perintah.
[in] iid
Penunjuk ke pengidentifikasi antarmuka (IID) antarmuka.
[in] dispidMethod
Pengidentifikasi pengiriman (DISPID) dari metode atau properti pada antarmuka. Setara dengan parameter dispIdMember dari metode IDispatch::Invoke .
[in] wFlags
Bendera yang menjelaskan konteks panggilan. Setara dengan parameter wFlags dari metode IDispatch::Invoke .
[in] cArgs
Jumlah argumen dalam pDispParams. Setara dengan anggota cArgs struktur DISPPARAMS .
[in] pDispParams
Penunjuk ke array yang berisi argumen. Setara dengan anggota rgvarg struktur DISPPARAMS .
[in, out] pvarResult
Penunjuk ke VARIAN yang menerima hasilnya. Setara dengan parameter pVarResult dari metode IDispatch::Invoke .
[out] puArgErr
Penunjuk ke variabel yang menerima indeks argumen pertama yang memiliki kesalahan. Setara dengan parameter puArgErr dari metode IDispatch::Invoke .
Nilai kembali
Mengembalikan nilai HRESULT .
Keterangan
Gunakan metode IDispatch::GetIDsOfNames untuk mengambil DISPID untuk parameter dispidMember .
Contoh
Contoh berikut mengantre perintah IMediaControl::Stop selama 3,0 detik.
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();
}
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
| Target Platform | Windows |
| Header | control.h (termasuk Dshow.h) |
| Pustaka | Strmiids.lib |