CBaseControlVideo.IsDefaultTargetRect-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.]

Die IsDefaultTargetRect -Methode bestimmt, ob der Renderer das Standardzielrechteck (rein virtuell) verwendet.

Syntax

virtual HRESULT IsDefaultTargetRect() = 0;

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt S_OK zurück, wenn der Renderer das Standardziel verwendet. Gibt andernfalls S_FALSE zurück.

Bemerkungen

Diese Memberfunktion muss in der abgeleiteten Klasse implementiert werden. Sie wird von der Memberfunktion CBaseControlVideo::IsUsingDefaultDestination aufgerufen.

Im folgenden Beispiel wird eine Implementierung dieser Funktion in einer abgeleiteten Klasse veranschaulicht.

// Return S_OK if using the default target; otherwise, S_FALSE.
HRESULT CVideoText::IsDefaultTargetRect()
{
    RECT TargetRect;

    VIDEOINFO *pVideoInfo = (VIDEOINFO *) m_pRenderer->m_mtIn.Format();
    BITMAPINFOHEADER *pHeader = HEADER(pVideoInfo);
    m_pRenderer->m_DrawImage.GetTargetRect(&TargetRect);

    // Check the destination that matches the initial client area.

    if (TargetRect.left != 0 || TargetRect.top != 0 ||
            TargetRect.right != m_Size.cx ||
                TargetRect.bottom != m_Size.cy) {
                    return S_FALSE;
    }
    return S_OK;
}

In diesem Beispiel ist CVideoText eine von CBaseControlVideo abgeleitete Klasse, m_pRenderer ein Objekt einer klasse enthält, die von CBaseVideoRenderer abgeleitet ist, und der in der abgeleiteten Klasse definierte m_DrawImage Datenmember enthält ein CDrawImage-Objekt . Der m_mtIn Datenmember, der ebenfalls in der abgeleiteten Klasse definiert ist, enthält ein CMediaType-Objekt mit dem Medientyp des Eingabenadels.

Anforderungen

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

Siehe auch

CBaseControlVideo-Klasse