Microsoft DirectX 8.0

CEnumPins クラス

CEnumPins クラスの階層

ピンの列挙子。

宣言 : Amfilter.h

このクラスは IEnumPins インターフェイスを実装する。次の CBaseFilter メソッドを呼び出す :

フィルタが動的にピンを作成したり削除したりするなら、ピンが変更されるたびにピンのバージョンをインクリメントする。バージョン数が変更されると、列挙オブジェクトはもうそのフィルタとは同期しない。列挙子が同期から外れると、CEnumPins 内のメソッドは VFW_E_ENUM_OUT_OF_SYNC を返す。Reset メソッドを呼び出して列挙子と再同期すること。

Public メソッド
CEnumPinsコンストラクタ メソッド。
~CEnumPinsデストラクタ メソッド。仮想。
IEnumPins メソッド
Clone同じ列挙状態で列挙子のコピーを作る。
Next指定した数のピンを取得する。
Reset列挙シーケンスを初期状態にリセットする。
Skip指定したピンの数だけスキップする。

CEnumPins::CEnumPins

CEnumPins クラス

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

構文

CEnumPins(
    CBaseFilter *pFilter,
    CEnumPins *pEnumPins
);

パラメータ

pFilter
ピンを列挙するフィルタへのポインタ。
pEnumPins
コピーする列挙子の IEnumPins インターフェイスへのポインタ、あるいは NULL 。

注意

pEnumPins が NULL なら、このメソッドは列挙子を列挙シーケンスの初期状態に初期化する。それ以外なら、pEnumPins が指定する列挙子の内部状態をコピーする。

CEnumPins::~CEnumPins

CEnumPins クラス

デストラクタ メソッド。

構文

virtual ~CEnumPins(void);

CEnumPins::Clone

CEnumPins クラス

同じ列挙状態で列挙子のコピーを作る。IEnumPins::Clone の実装。

構文

HRESULT Clone(
    IEnumPins **ppEnum
);

パラメータ

ppEnum
新しい列挙子の IEnumPins インターフェイスへのポインタを受け取る変数のアドレス。

戻り値

以下の表に示される HRESULT 値の 1 つを返す。

S_OK成功。
E_OUTOFMEMORYメモリ不足。
E_POINTERNULL ポインタ引数。
VFW_E_ENUM_OUT_OF_SYNCフィルタの状態は変更され、現在この列挙子とは矛盾する。

CEnumPins::Next

CEnumPins クラス

指定した数のピンを取得する。 IEnumPins::Next メソッドの実装。

構文

HRESULT Next(
    ULONG cPins,
    IPin **ppPins,
    ULONG *pcFetched
);

パラメータ

cPins
取得するピンの数。
ppPins
IPin ポインタで埋められる cPins サイズの配列。
pcFetched
取得するピンの数を受け取る変数のポインタ。cPins が 1 なら NULL が可能。

戻り値

以下の表に示される HRESULT 値の 1 つを返す。

S_FALSE要求された数のピンが取得できなかった。
S_OK成功。
E_INVALIDARG不適切な引数。
E_POINTERNULL ポインタ引数。
VFW_E_ENUM_OUT_OF_SYNCフィルタの状態は変更され、現在この列挙子とは矛盾する。

注意

このメソッドは指定した数のピンのポインタを取得し、列挙子の現在位置から開始し、そのポインタを指定した配列に置く。

このメソッドはフィルタの CBaseFilter::GetPin メソッドを呼び出しピンを取得する。

メソッドが成功すると、IPin ポインタはすべて参照カウントが残る。解放時に注意が必要。

CEnumPins::Reset

CEnumPins クラス

列挙シーケンスを初期状態にリセットする。 IEnumPins::Reset メソッドの実装。

構文

HRESULT Reset(void);

戻り値

S_OK を返す。

CEnumPins::Skip

CEnumPins クラス

指定したピンの数だけスキップする。 IEnumPins::Skip メソッドの実装。

構文

HRESULT Skip(
    ULONG cPins
);

パラメータ

cPins
スキップするピンの数。

戻り値

以下の表に示される HRESULT 値の 1 つを返す。

S_FALSEシーケンスの終わりまでスキップした。
S_OK成功。
VFW_E_ENUM_OUT_OF_SYNCフィルタの状態は変更され、現在この列挙子とは矛盾する。