Microsoft DirectX 8.0

IComponents インターフェイス

デジタル TV のコンテキストでは、プログラム ストリーム内のサブストリームを "Component" と言う。たとえば、プログラム ストリームに言語が異なる 3 つのオーディオ ストリームがある場合には、個々のオーディオ ストリームがそのプログラム ストリームの "Component" となる。IComponents インターフェイスは、Component オブジェクトのコレクションである Components オブジェクトに実装される。アプリケーションでは、Components オブジェクトによって、プログラム ストリームに含まれるコンポーネントを列挙し、コレクションに含まれる個々のコンポーネントに関連した処理を実行することができる。すべての Components オブジェクトは、IPersistPropertyBag もサポートする。

メソッド名説明
get_Countコレクションに含まれる Component オブジェクトの数を取得する。
get__NewEnumAutomation クライアントの For...Each ループをサポートするための列挙メソッド。
EnumComponentsコレクションに含まれるコンポーネントをすべて列挙する IEnumComponents 列挙子を返す。
get_Item指定したインデックス位置のコンポーネントにアクセスする。
Addコレクションに Component オブジェクトを追加する。
Removeコレクションから Component オブジェクトを削除する。
Cloneコレクションの新しいコピーを作成する。

IComponents::get_Count

IComponents インターフェイス

コレクションに含まれる Component オブジェクトの数を取得する。

構文

HRESULT get_Count(
long* Count
    );

パラメータ

Count
[out, retval] コンポーネント数を受け取る Long 型変数へのポインタ。

戻り値

成功した場合は、S_OK を返す。失敗した場合は、標準の IErrorInfo インターフェイスを使ってエラー情報を取得できる。

IComponents::get__NewEnum

IComponents インターフェイス

Automation クライアントの For...Each ループをサポートするための列挙メソッド。

構文

HRESULT get__NewEnum(
IEnumVARIANT** ppNewEnum
    );

パラメータ

ppNewEnum
[out, retval] 列挙子を受け取る IEnumVARIANT インターフェイス ポインタのアドレス。

戻り値

成功した場合は、S_OK を返す。失敗した場合は、標準の IErrorInfo インターフェイスを使ってエラー情報を取得できる。

注意

このメソッドは、For...Each ループの繰り返しによってコレクション全体を処理するため、スクリプト アプリケーションおよび VB アプリケーション用に提供される。C++ アプリケーションでは EnumComponents メソッドを使用すること。

IComponents::EnumComponents

IComponents インターフェイス

コレクションに含まれるコンポーネントをすべて列挙する IEnumComponents 列挙子を返す。

構文

HRESULT EnumComponents(
    IEnumComponents** ppNewEnum
    );

パラメータ

ppNewEnum
[out, retval] 新しい列挙子を受け取る IEnumComponents インターフェイス ポインタのアドレス。

戻り値

成功した場合は、S_OK を返す。失敗した場合は、標準の IErrorInfo インターフェイスを使ってエラー情報を取得できる。

IComponents::get_Item

IComponents インターフェイス

指定したインデックス位置のコンポーネントにアクセスする。

構文

HRESULT get_Item(
VARIANT Index,
    IComponent** ppComponent
    );

パラメータ

Index
[in] コレクションにおける 0 から始まるインデックスを指定する VARIANT 型変数。
ppComponent
[out, retval] 指定されたインデックス位置の Component オブジェクトを受け取る IComponent インターフェイス ポインタのアドレス。

戻り値

成功した場合は、S_OK を返す。失敗した場合は、標準の IErrorInfo インターフェイスを使ってエラー情報を取得できる。

IComponents::Add

IComponents インターフェイス

コレクションに Component オブジェクトを追加する。

構文

HRESULT Add(
    IComponent* Component,
VARIANT* NewIndex
    );

パラメータ

Component
[in] 追加する Component オブジェクトへのポインタ。
NewIndex
[out, retval] 追加したコンポーネントのインデックスを受け取る VARIANT へのポインタ。

戻り値

成功した場合は、S_OK を返す。失敗した場合は、標準の IErrorInfo インターフェイスを使ってエラー情報を取得できる。

IComponents::Remove

IComponents インターフェイス

コレクションから Component オブジェクトを削除する。

構文

HRESULT Remove(
VARIANT Index
    );

パラメータ

Index
[in] 削除するコンポーネントのインデックス番号を指定する VARIANT 型変数。

戻り値

成功した場合は、S_OK を返す。失敗した場合は、標準の IErrorInfo インターフェイスを使ってエラー情報を取得できる。

IComponents::Clone

IComponents インターフェイス

コレクションの新しいコピーを作成する。

構文

HRESULT Clone(
    IComponents** NewList
    );

パラメータ

NewList
[out, retval] 新しい Components オブジェクトに設定される、IComponents インターフェイス ポインタのアドレス。

戻り値

成功した場合は、S_OK を返す。失敗した場合は、標準の IErrorInfo インターフェイスを使ってエラー情報を取得できる。