CBaseFilter-Klasse

Die CBaseFilter -Klasse ist eine abstrakte Klasse zum Implementieren von Filtern. Um einen Filter mit dieser Klasse zu implementieren, müssen Sie mindestens die folgenden Schritte ausführen:
- Leiten Sie eine neue Klasse von
CBaseFilterab. - Schließen Sie Membervariablen ein, die die Stecknadeln für den Filter definieren. Die Pins müssen von der CBasePin-Klasse erben.
- Überschreiben Sie die reine virtuelle Methode CBaseFilter::GetPin,die Pins für den Filter abruft.
- Überschreiben Sie die reine virtuelle Methode CBaseFilter::GetPinCount,die die Anzahl der Pins abruft.
- Stellen Sie Methoden zum Generieren, Verarbeiten oder Rendern von Medienbeispielen zur Verfügung.
Mehrere Basisklassen werden von CBaseFilter ableiten, einschließlich CSource, CBaseRendererund CTransformFilter. Es ist in der Regel einfacher, einen Filter mit einer dieser spezialisierten Klassen zu implementieren, anstatt direkt zu CBaseFilter verwenden.
| Geschützte Membervariablen | BESCHREIBUNG |
|---|---|
| _m-Status | Aktueller Status des Filters. |
| m _ pClock | Zeiger auf die Referenzuhr des Filters. |
| m _ tStart | Verweiszeit, die der Streamzeit 0 entspricht. |
| m _ clsid | Klassenbezeichner (CLSID) des Filters. |
| m _ pLock | Zeiger auf einen kritischen Abschnitt, der zum Serialisieren von Zustandsänderungen verwendet wird. |
| m _ pName | Filtername. |
| m _ pGraph | Zeiger auf den Filterdiagramm-Manager. |
| m _ pSink | Zeiger auf die IMediaEventSink-Schnittstelle im Filterdiagramm-Manager. |
| m _ PinVersion | Aktuelle Version der Pins für diesen Filter. |
| Öffentliche Methoden | BESCHREIBUNG |
| CBaseFilter | Konstruktormethode. |
| ~ CBaseFilter | Destruktormethode. |
| StreamTime | Ruft die aktuelle Streamzeit ab. Virtuellen. |
| IsActive | Bestimmt, ob der Filter derzeit aktiv ist (wird ausgeführt oder angehalten). |
| IsStopped | Bestimmt, ob der Filter derzeit beendet wird. |
| NotifyEvent | Sendet eine Ereignisbenachrichtigung an den Filterdiagramm-Manager. |
| GetFilterGraph | Ruft einen Zeiger auf den Filterdiagramm-Manager ab. |
| ReconnectPin | Unterbricht eine vorhandene Stecknadelverbindung und verbindet sie mithilfe eines angegebenen Medientyps erneut mit demselben Pin. |
| GetPinVersion | Ruft eine Versionsnummer für den Satz von Stecknadeln für diesen Filter ab. Virtuellen. |
| IncrementPinVersion | Inkrementiert die Versionsnummer für den Satz von Stecknadeln. |
| GetSetupData | Ruft die Registrierungsdaten für den Filter ab. Virtuellen. |
| Rein virtuelle Methoden | BESCHREIBUNG |
| GetPinCount | Ruft die Anzahl der Stecknadeln ab. |
| GetPin | Ruft eine Stecknadel ab. |
| IPersist-Methoden | BESCHREIBUNG |
| Getclassid | Ruft den Klassenbezeichner ab. |
| IMediaFilter-Methoden | BESCHREIBUNG |
| GetState | Ruft den Zustand des Filters ab (wird ausgeführt, beendet oder angehalten). |
| SetSyncSource | Legt eine Verweisuhr für den Filter fest. |
| GetSyncSource | Ruft die Verweisuhr ab, die der Filter verwendet. |
| Beenden | Beendet den Filter. |
| Pause | Hält den Filter an. |
| Ausführung | Führt den Filter aus. |
| IBaseFilter-Methoden | BESCHREIBUNG |
| EnumPins | Listet die Stecknadeln für diesen Filter auf. |
| FindPin | Ruft den Pin mit dem angegebenen Bezeichner ab. |
| QueryFilterInfo | Ruft Informationen zum Filter ab. |
| JoinFilterGraph | Benachrichtigt den Filter, dass er ein Filterdiagramm verbunden oder verlassen hat. |
| QueryVendorInfo | Ruft eine Zeichenfolge ab, die Herstellerinformationen enthält. |
| IAMovieSetup-Methoden | BESCHREIBUNG |
| Registrieren | Fügt der Registrierung den Filter hinzu. |
| Unregister | Entfernt den Filter aus der Registrierung. |
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|