CBaseControlWindow-Klasse
[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.]
Die CBaseControlWindow-Klasse implementiert die IVideoWindow-Schnittstelle und steuert den externen Zugriff auf den zugeordneten Filter. Sie müssen das CBaseControlWindow-Objekt mit dem Filter synchronisieren, indem Sie einen Zeiger auf ein kritisches Abschnittssynchronisierungsobjekt übergeben. Die CBaseControlWindow-Klasse stellt eine Reihe von Methoden bereit, die Eigenschafteneinstellungen zurückgeben, ohne sich mit diesem kritischen Abschnitt zu befassen. Wenn Sie beispielsweise CBaseControlWindow::get_AutoShow aufrufen, um den Wert des m_bAutoShow Datenmember abzurufen, wird der kritische Abschnitt gesperrt. Der Filter verfügt möglicherweise bereits über einen gesperrten internen kritischen Abschnitt, der die Sperrhierarchie des Filters verletzen könnte. Stattdessen gibt der Aufruf der CBaseControlWindow::IsAutoShowEnabled-Memberfunktion den erforderlichen Wert zurück, ohne dass sich dies auf den kritischen Abschnitt auswirkt.
Alle von CBaseControlWindow implementierten IVideoWindow-Methoden erfordern, dass der Filter ordnungsgemäß mit seinem Upstream-Filter verbunden ist. Aus diesem Grund benötigen Klassenobjekte einen Synchronisierungspin, den Sie durch Aufrufen der CBaseControlWindow::SetControlWindowPin-Methode festlegen. Wenn Sie eine IVideoWindow-Methode aufrufen, überprüft das CBaseControlWindow-Objekt , ob die Pin noch verbunden ist.
Geschützte Datenmember | BESCHREIBUNG |
---|---|
m_bAutoShow | Ergebnis, wenn sich der Zustand ändert. |
m_bCursorHidden | Bestimmung, ob der Cursor angezeigt oder ausgeblendet wird. |
m_BorderColour | Farbe des aktuellen Fensterrahmens. |
m_hwndDrain | Fensterhandle, in dem empfangene Nachrichten gepostet werden. |
m_hwndOwner | Besitzendes Fenster. |
m_pFilter | Zeiger auf den eigenen Medienfilter. |
m_pInterfaceLock | Extern definierter kritischer Abschnitt. |
m_pPin | Steuerung der Medientypen für die Verbindung. |
Elementfunktionen | BESCHREIBUNG |
CBaseControlWindow | Erstellt ein CBaseControlWindow-Objekt . |
DoGetWindowStyle | Ruft entweder die typischen oder erweiterten Fensterstile ab. |
DoSetWindowStyle | Legt die typischen oder erweiterten Fensterstile fest. |
GetBorderColour | Ruft die aktuelle Rahmenfarbe ab. Dies ist eine Hilfselementfunktion. |
GetOwnerWindow | Ruft das besitzende Fenster ab. Dies ist eine Hilfselementfunktion. |
IsAutoShowEnabled | Ruft Informationen darüber ab, ob das Videofenster automatisch angezeigt wird, wenn der Renderingfilter angehalten oder ausgeführt wird. |
IsCursorHidden | Ruft den aktuellen Zustand des m_bCursorHidden Datenmembers ab, ohne den kritischen Abschnitt zu sperren. Dies ist eine Hilfselementfunktion. |
MöglicherweiseEatMessage | Verteilt Nachrichten an das übergeordnete Fenster. |
SetControlWindowPin | Benachrichtigt das Objekt des Pins, auf den es angewendet wird. |
IVideoWindow-Methoden | BESCHREIBUNG |
get_AutoShow | Ruft die aktuelle Einstellung für das AutoShow-Flag ab. |
get_BackgroundPalette | Ruft die realisierte Palette im Hintergrundflag ab. |
get_BorderColor | Ruft die aktuelle Rahmenfarbe ab. |
get_Caption | Ruft das aktuelle Fenster Untertitel ab. |
get_ FullScreenMode | Ruft den aktuellen Vollbildmodus ab. |
get_Height | Ruft die aktuelle Fensterhöhe ab. |
get_Left | Ruft die aktuelle linke Fensterkoordinate ab. |
GetMaxIdealImageSize | Ruft die maximale Größe des idealen Bilds ab. |
get_MessageDrain | Ruft die aktuelle Nachrichtenentwässerung ab. |
GetMinIdealImageSize | Ruft die Mindestgröße des idealen Bilds ab. |
get_Owner | Ruft das Handle des übergeordneten Fensters ab. |
GetRestorePosition | Ruft die Position ab, an der das Fenster wiederhergestellt wird, wenn es maximiert oder minimiert wird. |
get_Top | Ruft die y-Koordinate für den oberen Rand des Fensters ab. |
get_Visible | Ruft die aktuelle Sichtbarkeitseinstellung des Fensters ab. |
get_Width | Ruft die Breite des Fensters ab. |
GetWindowPosition | Ruft die aktuellen Fensterkoordinaten ab. |
get_WindowState | Ruft den aktuellen Zustand des Fensters ab. |
get_WindowStyle | Ruft die Standardfensterstile ab. |
get_WindowStyleEx | Ruft die erweiterten Fensterstile ab. |
HideCursor | Blendet den Cursor aus oder zeigt diese an. |
IsCursorHidden | Ruft den aktuellen Zustand des m_bCursorHidden-Datenmembers ab. |
NotifyOwnerMessage | Übergibt Nachrichten, die an besitzereigene Fenster gesendet werden. |
put_AutoShow | Legt die AutoShow-Eigenschaft fest. |
put_BackgroundPalette | Legt ein Flag fest, um die Palette im Hintergrund zu erkennen. |
put_BorderColor | Legt die aktuelle Rahmenfarbe fest. |
put_Caption | Legt das aktuelle Fenster Untertitel fest. |
put_ FullScreenMode | Legt den Vollbildmodus fest. |
put_Height | Legt die aktuelle Fensterhöhe fest. |
put_Left | Legt die linke Koordinate für das Fenster fest. |
put_MessageDrain | Legt das Nachrichtenablauffenster fest. |
put_Owner | Legt das übergeordnete Fensterhandle von Microsoft Win32 fest. |
put_Top | Legt die Position für den oberen Bereich des Fensters fest. |
put_Visible | Blendet das Fenster aus oder zeigt es an. |
put_Width | Legt die Breite des Fensters fest. |
put_WindowState | Legt den Status des Fensters fest. |
put_WindowStyle | Legt die Standardfensterstile fest. |
put_WindowStyleEx | Legt die Formatvorlagen für erweiterte Fenster fest. |
SetWindowForeground | Legt das Fenster im Vordergrund fest. |
SetWindowPosition | Legt die Fensterposition fest. |
Siehe auch