CSourceStream::GetMediaType
GetMediaType メソッドは優先メディア タイプを取得する。
構文
virtual HRESULT GetMediaType(
int iPosition,
CMediaType *pMediaType
);
virtual HRESULT GetMediaType(
CMediaType *pMediaType
);
パラメータ
iPosition
ゼロから始まるインデックス値。
pMediaType
メディア タイプを受け取る CMediaType オブジェクトへのポインタ。
戻り値
次のいずれかの HRESULT 値を返す。
値 | 説明 |
S_OK | 成功。 |
VFW_S_NO_MORE_ITEMS | インデックスが範囲外である。 |
E_INVALIDARG | インデックスがゼロより小さい。 |
E_UNEXPECTED | 予期せぬエラー。 |
注意
このメソッドには、2 つのバージョンがある。1 つのバージョンは CBasePin::GetMediaType メソッドをオーバーライドし、インデックス値を引数として取る。もう 1 つのバージョンは 1 つのメディア タイプを取得するように設計されているので、インデックス引数はない。
単一引数のメソッドは、E_UNEXPECTED を返す。2 つの引数を取るメソッドは、iPosition 引数が 0 であることを確認し、単一引数のメソッドを呼び出す。ピンがサポートするメディア タイプ数に応じて、これらのいずれかのメソッドをオーバーライドしなければならない。
- ピンが確実に 1 つのメディア タイプをサポートしている場合は、単一引数のメソッドをオーバーライドする。ピンがサポートするメディア タイプを埋め込む。
- ピンが複数のメディア タイプをサポートしている場合は、2 つの引数を取るメソッドをオーバーライドする。さらに CSourceStream::CheckMediaType メソッドをオーバーライドする。
参照