Microsoft DirectX 8.0

CTransInPlaceInputPin クラス

CTransInPlaceInputPin クラスの階層

CTransInPlaceFilter クラスが使用する入力ピン。

宣言 : Transip.h

通常、このクラスから派生させる必要はない。派生させるなら、フィルタの CTransInPlaceFilter::GetPin メソッド をオーバーライドし、派生クラスのインスタンスを作成しなければならない。

Protected Member 変数
m_bReadOnly入力ストリームが読み込み専用かどうかを指定するフラグ。
m_pTIPFilterこのピンを作成したフィルタへのポインタ。
Public メソッド
CTransInPlaceInputPinコンストラクタ メソッド。
CheckMediaType指定したメディア タイプが許容されることを確認する。
PeekAllocatorピンのアロケータへのポインタを取得する。
ReadOnly入力ストリームが読み込み専用かどうかを確認する。
IPin メソッド
EnumMediaTypesピンの優先メディア タイプを列挙する。
IMemInputPin メソッド
GetAllocatorこのピンが提案したメモリ アロケータを取得する。
NotifyAllocator接続のアロケータを指定する。
GetAllocatorRequirementsピンが要求したアロケータを取得する。

CTransInPlaceInputPin.m_bReadOnly

CTransInPlaceInputPin クラス

入力ストリームが読み込み専用かどうかを指定するフラグ。アップストリーム フィルタ が NotifyAllocator メソッドを呼び出したとき、この情報を指定する。デフォルトではこの値は FALSE である。

構文

BOOL m_bReadOnly;

CTransInPlaceInputPin.m_pTIPFilter

CTransInPlaceInputPin クラス

このピンを作成したフィルタへのポインタ。

構文

CTransInPlaceFilter * const m_pTIPFilter;

CTransInPlaceInputPin::CheckMediaType

CTransInPlaceInputPin クラス

指定したメディア タイプが許容されることを確認する。

構文

HRESULT CheckMediaType(
    const CMediaType *pmt
);

パラメータ

pmt
提案されたメディア タイプが入る CMediaType オブジェクトへのポインタ。

戻り値

メディア タイプが許容されるなら S_OK が返る。それ以外なら、S_FLASE かエラーコードが返る。

注意

このメソッドは CTransformInputPin::CheckMediaType メソッドをオーバーライドする。それはフィルタの CTransformFilter::CheckInputType メソッドを呼び出し、入力タイプをチェックする。出力ピンが接続されていれば、このメソッドはダウンストリーム入力ピンの IPin::QueryAccept メソッドをも呼び出し。

CTransInPlaceInputPin::CTransInPlaceInputPin

CTransInPlaceInputPin クラス

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

構文

CTransInPlaceInputPin(
    TCHAR *pObjectName,
    CTransInPlaceFilter *pFilter,
    HRESULT *phr,
    LPCWSTR pName
);

パラメータ

pObjectName
オブジェクトのデバッグ名が入る文字列。詳細については、「CBaseObject」を参照すること。
pFilter
このピンを作成したフィルタへのポインタ、これは CTransformFilter オブジェクトでなければならない。
phr
メソッドの成功失敗を示す HRESULT 値を受け取る変数へのポインタ。この値はオブジェクトを作成する前に S_OK で初期化される。値はエラーが起きた場合のみ変更される。
pName
ピン名が入る Unicode™ 文字列。

注意

pName パラメータは IPin::QueryPinInfo メソッドが返すピン名を指定する。しかし、この文字列はピン ID としては 使われていない。このクラスではピン ID は必ず In である。詳細については、「QueryId」を参照すること。

CTransInPlaceInputPin::EnumMediaTypes

CTransInPlaceInputPin クラス

ピンの優先メディア タイプを列挙する。IPin::EnumMediaTypes メソッドの実装。

構文

HRESULT EnumMediaTypes(
    IEnumMediaTypes **ppEnum
);

パラメータ

ppEnum
IEnumMediaTypes インターフェイスへのポインタを受け取る変数のアドレス。

戻り値

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

S_OK成功。
E_OUTOFMEMORYメモリ不足。
E_POINTERNULL ポインタ。
VFW_E_NOT_CONNECTED出力ピンが接続されていない。

注意

このメソッドはダウンストリーム入力ピンから IEnumMediaTypes インターフェイスを返す。

CTransInPlaceInputPin::GetAllocator

CTransInPlaceInputPin クラス

このピンが提案したメモリ アロケータを取得する。 IMemInputPin::GetAllocator メソッドの実装。

構文

HRESULT GetAllocator(
    IMemAllocator **ppAllocator
);

パラメータ

ppAllocator
アロケータの IMemAllocator インターフェイスへのポインタを受け取る変数のアドレス。

戻り値

HRESULT 値を返す。以下のテーブルに示されるいずれかの値。

S_OK成功。
VFW_E_NO_ALLOCATOR利用可能なアロケータがない。

注意

フィルタの出力ピンが接続されているなら、このメソッドはダウンストリーム フィルタの入力ピンを要求する。

フィルタの出力ピンが接続されていないなら、このメソッドはテンポラリ アロケータを作成する。後で、出力ピンが接続されたとき、フィルタは入力ピンと再接続し、アロケータを再ネゴシエーションする。

CTransInPlaceInputPin::GetAllocatorRequirements

CTransInPlaceInputPin クラス

ピンが要求したアロケータを取得する。IMemInputPin::GetAllocatorRequirements メソッドの実装。

構文

HRESULT GetAllocatorRequirements(
    ALLOCATOR_PROPERTIES *pProps
);

パラメータ

pProps
要求が書き込まれる ALLOCATOR_PROPERTIES 構造体へのポインタ

戻り値

HRESULT 値を返す。以下のテーブルに示されるいずれかの値。

S_OK成功。
E_NOTIMPL 出力ピンが接続されていない、あるいはダウン ストリームピンがメソッドをサポートしていない。
E_POINTER Null ポインタ引数。

注意

出力ピンが接続されていれば、このメソッドは呼び出しをダウンストリーム入力ピンに渡す。それ以外なら E_NOTIMPL を返す。

CTransInPlaceInputPin::NotifyAllocator

CTransInPlaceInputPin クラス

接続のアロケータを指定する。IMemInputPin::NotifyAllocator メソッドの実装。

構文

HRESULT NotifyAllocator(
    IMemAllocator *pAllocator,
    BOOL bReadOnly
);

パラメータ

pAllocator
アロケータの IMemAllocator インターフェイスへのポインタ。
bReadOnly
このアロケータからのサンプルが読み込み専用かどうかを示すフラグ。TRUE ならサンプルは読み込み専用。

戻り値

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

S_OK成功。
E_FAIL失敗。
E_POINTERNULL ポインタ引数。

注意

フィルタは両方のピン接続に同じアロケータを使おうとする。

上記のケースには次の例外がある :

CTransInPlaceInputPin::PeekAllocator

CTransInPlaceInputPin クラス

ピンのアロケータへのポインタを取得する。このメソッドはインターフェイスの参照カウントをインクリメントしない。

構文

IMemAllocator *PeekAllocator(void)

戻り値

CBaseInputPin.m_pAllocator メンバ変数を返す。

CTransInPlaceInputPin::ReadOnly

CTransInPlaceInputPin クラス

入力ストリームが読み込み専用かどうかを確認する。

構文

const BOOL ReadOnly(void);

戻り値

m_bReadOnly メンバ変数の値を返す。