Microsoft DirectX 8.0

IEnumDMO インターフェイス

このインターフェイスは、Microsoft® DirectX® Media Object (DMO) を列挙するためのメソッドを提供する。このインターフェイスは、OLE 列挙インターフェイスに基づいている。詳細については、Platform SDK の「IEnumXXXX」を参照すること。

登録されている DMO を列挙するには、DMOEnum 関数を呼び出す。

Vtable 順のメソッド

IUnknown メソッド説明
QueryInterfaceサポートされているインターフェイスを指すポインタを取得する。
AddRef参照カウントをインクリメントする。
Release参照カウントをデクリメントする。
IEnumDMO メソッド説明
Next列挙シーケンス内の指定された数のアイテムを取得する。
Skip列挙シーケンス内の指定された数のアイテムをスキップする。
Reset列挙シーケンスを先頭にリセットする。
Clone実装されていない。

IEnumDMO::Next

IEnumDMO インターフェイス

列挙シーケンス内の指定された数のアイテムを取得する。

構文

HRESULT Next(
    DWORD cItemsToFetch,
    CLSID *pCLSID,
    WCHAR **Names,
    DWORD *pcItemsFetched
);

パラメータ

cItemsToFetch
取得するアイテムの数。
pCLSID
[out] 列挙された DMO の CLSID が格納される、サイズが cItemsToFetch の配列。
Names
[out] 列挙された DMO のフレンドリ名が格納される、サイズが cItemsToFetch の配列。
pcItemsFetched
[out] 実際に取得されたアイテムの数を受け取る変数を指すポインタ。cItemsToFetch が 1 の場合は、NULL を指定できる。

戻り値

HRESULT 値を返す。以下の値をとる。

S_FALSE取得したアイテムの数が要求されたアイテムの数より少ない。
S_OK要求された数のアイテムを取得した。
E_INVALIDARG無効な引数。
E_OUTOFMEMORYメモリ不足。
E_POINTERNULL ポインタ引数。

注意

このメソッドが成功すると、pCLSID パラメータと Names パラメータによって返された配列には、CLSID とワイド文字の文字列が格納される。*pcItemsFetched の値は、これらの配列によって返されたアイテムの数を示す。

このメソッドは、要求された数のアイテムを取得すると、つまり、*pcItemsFetchedcItemsToFetch と等しければ、S_OK を返す。それ以外の場合、メソッドは S_FALSE またはエラー コードを返す。

呼び出し元は、Names パラメータによって返された個々の文字列に割り当てられたメモリを、CoTaskMemFree 関数を使って解放する必要がある。

IEnumDMO::Skip

IEnumDMO インターフェイス

列挙シーケンス内の指定された数のアイテムをスキップする。

構文

HRESULT Skip(
    DWORD cItemsToSkip
);

パラメータ

cItemsToSkip
スキップするアイテムの数。

戻り値

スキップされたアイテムの数が cItemsToSkip と一致すれば、S_OK を返す。それ以外の場合は、S_FALSE を返す。

IEnumDMO::Reset

IEnumDMO インターフェイス

列挙シーケンスを先頭にリセットする。

構文

HRESULT Reset(void);

戻り値

S_OK を返す。

IEnumDMO::Clone

IEnumDMO インターフェイス

このメソッドは実装されていない。

構文

HRESULT Clone(
IEnumDMO **ppEnum
);

戻り値

E_NOTIMPL を返す。