Freigeben über


CMsgThread.ThreadMessageProc-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Verarbeitet Anforderungen. Dies ist eine reine virtuelle Memberfunktion.

Syntax

virtual LRESULT ThreadMessageProc(
   UINT     uMsg,
   DWORD    dwFlags,
   LPVOID   lpParam,
   CAMEvent *pEvent
);

Parameter

uMsg

Anforderungscode.

dwFlags

Optionaler flag-Parameter, der angefordert werden soll.

lpParam

Optionaler Zeiger auf zusätzliche Daten oder einen Rückgabedatenblock.

pEvent

Optionaler Zeiger auf ein Ereignisobjekt.

Rückgabewert

Jede Rückgabe ungleich null bewirkt, dass der Thread beendet wird. Gibt null zurück, es sei denn, eine Exitanforderung wurde kürzlich verarbeitet.

Bemerkungen

Diese reine virtuelle Funktion muss in Ihrer abgeleiteten Klasse überschrieben werden. Er wird einmal für jede Anforderung aufgerufen, die durch einen Aufruf der CMsgThread::P utThreadMsg-Memberfunktion in die Warteschlange gestellt wird.

Die Memberfunktion definiert die vier Parameter. Verwenden Sie in der Regel den uMsg-Parameter , um die Anforderung anzugeben, und die anderen drei Parameter sind optionale zusätzliche Parameter. Die aufrufende Anwendung kann einen Zeiger auf ein CAMEvent-Objekt im pEvent-Parameter bereitstellen, wenn dies für Ihre Anwendung erforderlich ist. Sie müssen dieses Ereignis nach der Verarbeitung des Ereignisses mit einem Ausdruck festlegen, z. B.:

pEvent->SetEvent

Ein Anforderungscode muss beiseite gelegt werden, um den Workerthread anzuweisen, den Vorgang zu beenden. Wenn Sie diese Anforderung erhalten haben, geben Sie 1 von dieser Memberfunktion zurück. Geben Sie 0 zurück, wenn Sie nicht möchten, dass der Workerthread beendet wird.

Anforderungen

Anforderung Wert
Header
Msgthrd.h (einschließen von Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CMsgThread-Klasse