CMsgThread.WaitForThreadExit-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Blockiert, bis der Thread beendet wird.

Syntax

BOOL WaitForThreadExit(
   LPDWORD lpdwExitCode
);

Parameter

lpdwExitCode

Zeiger auf den vom Thread zurückgegebenen Exitcode.

Rückgabewert

Gibt entweder TRUE oder FALSE zurück, deren Bedeutung durch die Klasse bestimmt wird, die die überschriebene CMsgThread::ThreadMessageProc-Memberfunktion und die aufrufende Memberfunktion angibt.

Bemerkungen

Stellen Sie sicher, dass der Workerthread vollständig beendet wurde, bevor Sie die Zerstörung Ihrer abgeleiteten Klasse abgeschlossen haben. Andernfalls wird der Thread möglicherweise weiterhin ausgeführt, nachdem Die DLL (Dynamic Link Library) aus dem Adressraum des Prozesses entladen wurde. Selbst wenn die einzige Anweisung, die zum Beenden übrig bleibt, eine Anweisung mit einmaliger Rückgabe ist, würde dies zu einer Ausnahme führen. Die einzige zuverlässige Möglichkeit, um sicherzustellen, dass der Thread beendet wurde, besteht darin, den Thread zum Beenden zu signalisieren (mithilfe eines privat ausgehandelten CMsg-Objekts , das an die CMsgThread::P utThreadMsg-Memberfunktion gesendet wird) und dann diese Memberfunktion aufzurufen. Dies sollten Sie im Destruktor für Ihre abgeleitete Klasse tun.

Anforderungen

Anforderung Wert
Header
Msgthrd.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CMsgThread-Klasse