Microsoft DirectX 8.0 |
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 | オブジェクトを初期化する。 |
コンストラクタ メソッド。
構文
CPosPassThru( const TCHAR *pName, LPUNKNOWN pUnk, HRESULT *phr, );
パラメータ
- pName
- オブジェクトの名前が含まれた文字列。詳細については、「CBaseObject」を参照すること。
- pUnk
- このオブジェクトの所有者へのポインタ。オブジェクトが集成された場合は、集成オブジェクトの IUnknown インターフェイスにポインタを渡す。それ以外の場合は、このパラメータに NULL を設定する。
- phr
- HRESULT 値へのポインタ。無視される。
デストラクタ メソッド。
構文
~CPosPassThru(void);
オブジェクトのインスタンスを作成する。このメソッドは、クラス ファクトリを通じてオブジェクトの作成をサポートする。詳細については、「CFactoryTemplate」を参照すること。
構文
static CUnknown *CreateInstance( LPUNKNOWN pUnk, HRESULT *phr );
パラメータ
戻り値
新しい 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 クラスのインスタンスを作成する。