Microsoft DirectX 8.0

CSeekingPassThru クラス

CPosPassThru オブジェクトおよび CRendererPosPassThru オブジェクトを作成するヘルパー オブジェクト。

宣言 : Seekpt.h

CPosPassThru クラスおよび CRendererPosPassThru クラスは、シーク コマンドをアップストリームに渡すヘルパー オブジェクトである。CSeekingPassThru クラスは、これらのヘルパー オブジェクトを作成するヘルパー オブジェクトである。DirectShow では、このクラスを COM コンポーネントとしてパッケージ化することで、サポートを追加している。詳細については、「SeekingPassThru」を参照すること。

このクラスは、ISeekingPassThru インターフェイスを公開する。ISeekingPassThru::Init メソッドは、オブジェクトを初期化する。オブジェクトが初期化されると、フィルタは IMediaSeeking インターフェイスおよび IMediaPosition インターフェイスについてオブジェクトに照会できる。

フィルタは、CreatePosPassThru ヘルパー関数を呼び出し、このオブジェクトのインスタンスを作成、初期化できる。次のサンプル コードは、フィルタの QueryInterface メソッドからのものである。このコードでは、ヘルパー オブジェクトを作成し、シーク インターフェイスについて照会している。

if (riid == IID_IMediaPosition || riid == IID_IMediaSeeking) {
    if (m_pPosition == NULL) 
    {
        HRESULT hr = CreatePosPassThru(GetOwner(), FALSE, 
                        m_pFilter->m_pPin, &m_pPosition);
        if (FAILED(hr)) 
            return hr;
    }
    return m_pPosition->QueryInterface(riid, ppv);
}
Public メソッド
CSeekingPassThruコンストラクタ メソッド。
~CSeekingPassThruデストラクタ メソッド。
CreateInstanceオブジェクトのインスタンスを作成する。
ISeekingPassThru メソッド
Initオブジェクトを初期化する。

CSeekingPassThru::CSeekingPassThru

CSeekingPassThru クラス

コンストラクタ メソッド。

構文

CPosPassThru(
    const TCHAR *pName,
    LPUNKNOWN pUnk,
    HRESULT *phr,
);

パラメータ

pName
オブジェクトの名前が含まれた文字列。詳細については、「CBaseObject」を参照すること。
pUnk
このオブジェクトの所有者へのポインタ。オブジェクトが集成された場合は、集成オブジェクトの IUnknown インターフェイスにポインタを渡す。それ以外の場合は、このパラメータに NULL を設定する。
phr
HRESULT 値へのポインタ。無視される。

CSeekingPassThru::~CSeekingPassThru

CSeekingPassThru クラス

デストラクタ メソッド。

構文

~CPosPassThru(void);

CSeekingPassThru::CreateInstance

CSeekingPassThru クラス

オブジェクトのインスタンスを作成する。このメソッドは、クラス ファクトリを通じてオブジェクトの作成をサポートする。詳細については、「CFactoryTemplate」を参照すること。

構文

static CUnknown *CreateInstance(
    LPUNKNOWN pUnk, 
    HRESULT *phr
);

パラメータ

pUnk
このオブジェクトの所有者へのポインタ。オブジェクトが集成された場合は、オブジェクトの IUnknown インターフェイスにポインタを渡す。それ以外の場合は、このパラメータに NULL を設定する。
phr
HRESULT 値へのポインタ。無視される。

戻り値

新しい CSeekingPassThru オブジェクトへのポインタを返す。

CSeekingPassThru::Init

CSeekingPassThru クラス

オブジェクトを初期化する。

構文

HRESULT Init(
    BOOL bSupportRendering,
    IPin *pPin
);

パラメータ

bSupportRendering
[in] ファイルがレンダラかどうかを指定するブール値。フィルタがレンダラの場合は値 TRUE を使用する。レンダラでない場合は FALSE を使用する。
pPin
フィルタの入力ピン上の IPin インターフェイスへのポインタ。

戻り値

次の表に示されるいずれかの HRESULT 値を返す。

S_OK成功。
E_FAILオブジェクトは既に初期化されている。
E_OUTOFMEMORY オブジェクトを作成するための十分なメモリがない。

注意

bSupportRendering の値が TRUE の場合、このメソッドは CRendererPosPassThru クラスのインスタンスを作成する。TRUE でない場合は、CPosPassThru クラスのインスタンスを作成する。