Bagikan melalui


Metode CMsgThread.WaitForThreadExit

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan 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 Pengambilan Audio/Video 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.]

Memblokir hingga utas keluar.

Sintaks

BOOL WaitForThreadExit(
   LPDWORD lpdwExitCode
);

Parameter

lpdwExitCode

Penunjuk ke kode keluar yang dikembalikan oleh utas.

Nilai kembali

Mengembalikan TRUE atau FALSE, yang artinya ditentukan oleh kelas yang menyediakan fungsi anggota CMsgThread::ThreadMessageProc yang ditimpa dan fungsi anggota pemanggil.

Keterangan

Pastikan bahwa utas pekerja telah keluar sepenuhnya sebelum menyelesaikan penghancuran kelas turunan Anda; jika tidak, utas mungkin masih dijalankan setelah pustaka tautan dinamis (DLL) Anda telah dibongkar dari ruang alamat proses. Bahkan jika satu-satunya instruksi yang tersisa untuk keluar adalah instruksi pengembalian tunggal, ini akan menyebabkan pengecualian. Satu-satunya cara yang dapat diandalkan untuk memastikan bahwa utas telah keluar adalah dengan memberi sinyal utas untuk keluar (menggunakan objek CMsg yang dinegosiasikan secara privat yang dikirim ke fungsi anggota CMsgThread::P utThreadMsg ) dan kemudian memanggil fungsi anggota ini. Anda harus melakukan ini di penghancur untuk kelas turunan Anda.

Persyaratan

Persyaratan Nilai
Header
Msgthrd.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

Kelas CMsgThread