Microsoft DirectX 8.0

IAMStreamSelect インターフェイス

再生する論理ストリームを制御し、それに関する情報を取得する。論理ストリームを選択する例としては、各国語をコード化しているオーディオ ストリームのセットからの選択が挙げられる。たとえばこの場合、英語、ドイツ語、フランス語で構成されるオーディオ ストリームのセットから英語を選択できる。

MPEG-1 ストリーム スプリッタ フィルタは、このインターフェイスを実装する。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterface サポートされているインターフェイスへのポインタを取得する。
AddRef 参照カウントをインクリメントする。
Release 参照カウントをデクリメントする。
IAMStreamSelect メソッド説明
Count 有効なストリームの総数を取得する。
Info 指定のストリームに関する情報を取得する。
Enable 指定のストリームを有効または無効にする。

IAMStreamSelect::Count

IAMStreamSelect インターフェイス

有効なストリームの総数を取得する。

構文

HRESULT Count(
  DWORD *pcStreams
  );

パラメータ

pcStreams
[out] 有効なストリーム数を示す値へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。現在の Microsoft® DirectShow® の実装では、S_OK を返す。

IAMStreamSelect::Enable

IAMStreamSelect インターフェイス

指定のストリームを有効または無効にする。

構文

HRESULT Enable(
  long lIndex,
  DWORD dwFlags
  );

パラメータ

lIndex
[in] 目的のストリームのインデックス番号。インデックス番号は 0 から始まる。
dwFlags
[in] ストリームが有効または無効であることを示すフラグ。次のいずれかを指定する。
0 このストリームを含むグループ内のすべてのストリームを無効にする。
AMSTREAMSELECTENABLE_ENABLE指定のグループ内のこのストリームだけを有効にし、ほかのすべてのストリームを無効にする。
AMSTREAMSELECTENABLE_ENABLEALLこのストリームを含むグループ内のすべてのストリームを有効にする。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。現在の DirectShow の実装では、指定のフラグのサポートが実装されていない場合は E_NOTIMPL を返し、ストリーム ID が無効の場合は E_INVALIDARG を返す。それ以外の場合は、S_OK を返す。

IAMStreamSelect::Info

IAMStreamSelect インターフェイス

指定のストリームに関する情報を取得する。

構文

HRESULT Info(
  long lIndex,
  AM_MEDIA_TYPE **ppmt,
  DWORD *pdwFlags,
  LCID *plcid,
  DWORD *pdwGroup,
  WCHAR **ppszName,
  IUnknown **ppObject,
  IUnknown **ppUnk
  );

パラメータ

lIndex
[in] 目的のストリームのインデックス番号。インデックス番号は 0 から始まる。
ppmt
[out] ストリームのメディア タイプへのポインタのアドレス。オプションである。終了時に AM_MEDIA_TYPE 構造体を解放するには、DeleteMediaType 関数を使用する。
pdwFlags
[out] ストリームの状態を示すフラグへのオプションのポインタ。有効な値は次のとおりである。
0このストリームは無効である。
AMSTREAMSELECTINFO_ENABLEDストリームは有効で、このグループ内のほかのストリームも有効である。
AMSTREAMSELECTINFO_EXCLUSIVEグループ内でこのストリームのみが有効である。
plcid
[out] ロケール コンテキスト (LCID) 値へのポインタ。LCID がない場合は、このパラメータは 0 値を指す。オプションである。
pdwGroup
[out] 論理グループへのポインタ。オプションである。
ppszName
[out] ストリーム名へのポインタのアドレス。オプションである。終了時に CoTaskMemFree 関数で解放される。
ppObject
[out] このストリームに関連付けられているピンまたはフィルタ オブジェクトへのポインタのアドレス。IAMStreamSelect::Enable メソッドが呼び出されると、オブジェクトが変わる可能性がある。関連するオブジェクトがない場合、このメソッドが返されるとこのパラメータには NULL 値が含まれる。
ppUnk
[out] ストリーム固有のインターフェイスへのポインタのアドレス。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。現在の DirectShow の実装では、lIndex が範囲外の場合は S_FALSE を返し、それ以外の場合は S_OK を返す。

注意

各グループ内の先頭のストリームはデフォルトである。