Metode IMediaEvent::GetEventHandle (control.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 mengambil GetEventHandle handel ke peristiwa reset manual yang tetap diberi sinyal sementara antrean berisi pemberitahuan peristiwa.

Sintaks

HRESULT GetEventHandle(
  [out] OAEVENT *hEvent
);

Parameter

[out] hEvent

Penunjuk ke variabel yang menerima handel peristiwa.

Nilai kembali

Mengembalikan S_OK.

Keterangan

Filter Graph Manager menyimpan peristiwa reset manual yang mencerminkan status antrean peristiwa. Jika antrean berisi pemberitahuan peristiwa, peristiwa reset manual akan disinyalkan. Jika antrean kosong, metode IMediaEvent::GetEvent mengatur ulang peristiwa.

Aplikasi dapat menggunakan kejadian ini untuk menentukan status antrean. Panggilan GetEventHandle pertama untuk mendapatkan handel ke peristiwa. Tunggu hingga peristiwa diberi sinyal, menggunakan fungsi seperti WaitForSingleObject. Ketika peristiwa disinyalkan, panggil metode IMediaEvent::GetEvent untuk mengambil pemberitahuan peristiwa berikutnya dari antrean. Filter Graph Manager membuat peristiwa tetap diberi sinyal hingga antrean kosong; kemudian mengatur ulang peristiwa.

Jangan tutup handel kejadian yang dikembalikan oleh metode ini, karena handel kejadian digunakan secara internal oleh grafik filter. Selain itu, jangan gunakan handel setelah Anda merilis Filter Graph Manager, karena handel menjadi tidak valid setelah Filter Graph Manager dihancurkan. (Untuk menghindari kesalahan ini, ada baiknya untuk menduplikasi handel dengan memanggil DuplicateHandle, dan menggunakan duplikat alih-alih handel asli. Tutup handel duplikat setelah Anda selesai.)

Untuk kompatibilitas Automation, metode ini mengambil pointer ke jenis OAEVENT . Dalam C++, deklarasikan variabel jenis HANDLE dan transmisikan pointer OAEVENT , sebagai berikut:


HANDLE hEvent;
GetEventHandle( (OAEVENT*) &hEvent );

Cara lain bagi aplikasi untuk memantau antrean peristiwa adalah dengan memanggil metode IMediaEventEx::SetNotifyWindow .

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

Lihat juga

Kode Kesalahan dan Keberhasilan

Antarmuka IMediaEvent