CBaseControlVideo.IsDefaultTargetRect メソッド
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
メソッドは IsDefaultTargetRect
、レンダラーが既定のターゲット四角形 (純粋仮想) を使用しているかどうかを判断します。
構文
virtual HRESULT IsDefaultTargetRect() = 0;
パラメーター
このメソッドにはパラメーターはありません。
戻り値
レンダラーが既定のターゲットを使用している場合は、S_OKを返します。それ以外の場合は、S_FALSEを返します。
解説
このメンバー関数は、派生クラスに実装する必要があります。 CBaseControlVideo::IsUsingDefaultDestination メンバー関数によって呼び出されます。
次の例は、派生クラスでのこの関数の実装を示しています。
// 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;
}
この例では、CVideoText は CBaseControlVideo から派生したクラスであり、m_pRenderer は CBaseVideoRenderer から派生したクラスのオブジェクトを保持し、派生クラスで定義された m_DrawImage データ メンバーは CDrawImage オブジェクトを保持します。 m_mtIn データ メンバーは、派生クラスでも定義され、入力ピンのメディア型を持つ CMediaType オブジェクトを保持します。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|