CBaseControlVideo.IsDefaultSourceRect メソッド

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メソッドは IsDefaultSourceRect 、レンダラーが既定のソース四角形 (純粋仮想) を使用しているかどうかを判断します。

構文

virtual HRESULT IsDefaultSourceRect() = 0;

パラメーター

このメソッドにはパラメーターはありません。

戻り値

レンダラーが既定のソースを使用している場合は、S_OKを返します。それ以外の場合は、S_FALSEを返します。

解説

このメンバー関数は、派生クラスに実装する必要があります。 これは、CBaseControlVideo::IsUsingDefaultSource メンバー関数によって呼び出されます。

次の例は、派生クラスでのこの関数の実装を示しています。

// Return S_OK if using the default source; otherwise, S_FALSE.
HRESULT CVideoText::IsDefaultSourceRect()
{
    RECT SourceRect;

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

    // Check the coordinates that match the video dimensions.

    if (SourceRect.left != 0 || SourceRect.top != 0 ||
            SourceRect.right != pHeader->biWidth ||
                SourceRect.bottom != pHeader->biHeight) {
                    return S_FALSE;
    }
    return S_OK;
}

この例では、CVideoText は CBaseControlVideo から派生したクラスであり、m_pRenderer は CBaseVideoRenderer から派生したクラスのオブジェクトを保持し、派生クラスで定義されているm_DrawImage データ メンバーは CDrawImage オブジェクトを保持します。 m_mtIn データ メンバーは、派生クラスでも定義され、入力ピンのメディアの種類を持つ CMediaType オブジェクトを保持します。

要件

要件
ヘッダー
Ctlutil.h (Streams.h を含む)
ライブラリ
Strmbase.lib (小売ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

CBaseControlVideo クラス