Bagikan melalui


Metode IAMStreamControl::StartAt (strmif.h)

[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 StartAt menginformasikan pin kapan harus mulai mengirimkan data.

Sintaks

HRESULT StartAt(
  [in] const REFERENCE_TIME *ptStart,
  [in] DWORD                dwCookie
);

Parameter

[in] ptStart

Penunjuk ke nilai REFERENCE_TIME yang menentukan kapan pin harus mulai mengirimkan data. Jika nilainya adalah MAXLONGLONG (0x7FFFFFFFFFFFFFFF), metode membatalkan permintaan mulai sebelumnya. Jika psStart adalah NULL, pin akan segera dimulai saat grafik berjalan.

Untuk pin pratinjau, hanya nilai NULL dan MAXLONGLONG yang valid, karena pin pratinjau tidak memberi stempel waktu pada sampel yang dikirimkan.

[in] dwCookie

Menentukan nilai yang akan dikirim bersama dengan pemberitahuan mulai. Lihat Keterangan.

Nilai kembali

Jika metode berhasil, nilai yang dikembalikan adalah S_OK. Jika tidak, mengembalikan nilai HRESULT yang menunjukkan penyebab kegagalan.

Keterangan

Secara default, pin mengirimkan data segera setelah grafik filter berjalan. Metode ini StartAt menyebabkan pin menunggu hingga waktu yang ditentukan setelah grafik berjalan, sebelum pin mulai mengirimkan data.

Jika parameter dwCookie bukan nol, pin akan mengirim peristiwa EC_STREAM_CONTROL_STARTED ketika mulai mengirimkan data. Parameter peristiwa pertama adalah penunjuk ke antarmuka IPin pin, dan yang kedua adalah nilai dwCookie.

Metode ini mengimplementasikan kasus khusus berikut:

  • Jika ptStart adalah NULL, pin dimulai segera setelah grafik berjalan. Tidak ada peristiwa yang dikirim, dan nilai dwCookie diabaikan.
  • Jika ptStart berisi nilai MAXLONGLONG, dan ada permintaan berhenti yang tertunda, pin dimulai saat grafik berjalan. Jika tidak ada permintaan berhenti yang tertunda, pin tetap dihentikan. Dalam kedua kasus, tidak ada peristiwa awal yang dikirim, dan nilai dwCookie diabaikan.
Metode ini juga menangani kondisi batas berikut:
  • Jika waktu mulai berada di antara waktu mulai dan berhenti sampel, pin akan memberikan sampel tersebut.
  • Jika waktu mulai sama dengan waktu berhenti, pin akan mengirimkan satu sampel.
MAXLONGLONG adalah nilai REFERENCE_TIME terbesar yang mungkin. Di pustaka kelas dasar, pustaka ini juga didefinisikan sebagai konstanta MAX_TIME.

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 strmif.h (termasuk Dshow.h)
Pustaka Strmiids.lib

Lihat juga

Kode Kesalahan dan Keberhasilan

Antarmuka IAMStreamControl