次の方法で共有


IMFCollection::GetElement メソッド (mfobjects.h)

コレクション内のオブジェクトを取得します。

構文

HRESULT GetElement(
  [in]  DWORD    dwElementIndex,
  [out] IUnknown **ppUnkElement
);

パラメーター

[in] dwElementIndex

取得するオブジェクトの 0 から始まるインデックス。 オブジェクトは、コレクションに追加された順序でインデックスが作成されます。

[out] ppUnkElement

オブジェクトの IUnknown インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。 取得されたポインター値は NULL である可能性があります。

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

このメソッドは、コレクションからオブジェクトを削除しません。 オブジェクトを削除するには、 IMFCollection::RemoveElement を呼び出します。

//  Gets an interface pointer from a collection (IMFCollection).
//
//  Q: Interface type

template <class Q>
HRESULT GetCollectionObject(IMFCollection *pCollection, 
    DWORD dwIndex, Q **ppObject)
{
    *ppObject = NULL;   // zero output

    IUnknown *pUnk = NULL;
    HRESULT hr = pCollection->GetElement(dwIndex, &pUnk);
    if (SUCCEEDED(hr))
    {
        hr = pUnk->QueryInterface(IID_PPV_ARGS(ppObject));
        pUnk->Release();
    }
    return hr;
}

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfobjects.h (Mfidl.h を含む)
Library Mfuuid.lib

こちらもご覧ください

IMFCollection