Freigeben über


Benachrichtigen von CBasePin bei Änderungen des Filterstatus

[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.]

Die CBasePin-Klasse wird benachrichtigt, wenn sich der Status des Besitzerfilters ändert. Für jeden Zustandsübergang ruft der Filter eine entsprechende Methode am Pin auf, wie in der folgenden Tabelle gezeigt.

Neuer Filterstatus CBasePin-Methode
Beendet CBasePin::Inactive
Angehalten CBasePin::Active
Wird ausgeführt CBasePin::Run

 

Die abgeleitete Klasse sollte diese Methoden überschreiben, um auf die Zustandsänderung zu reagieren. Je nach Filter kann der Pin einen Workerthread starten, der Beispiele liefert, einen Commit oder eine Deaktivierung des Speicherzuordnungsvorgangs usw.