Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Retrieves an object in the collection.
Syntax
HRESULT GetElement(
[in] DWORD dwElementIndex,
[out] IUnknown **ppUnkElement
);
Parameters
[in] dwElementIndex
Zero-based index of the object to retrieve. Objects are indexed in the order in which they were added to the collection.
[out] ppUnkElement
Receives a pointer to the object's IUnknown interface. The caller must release the interface. The retrieved pointer value might be NULL.
Return value
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
This method does not remove the object from the collection. To remove an object, call IMFCollection::RemoveElement.
Examples
// 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;
}
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps | UWP apps] |
Minimum supported server | Windows Server 2008 [desktop apps | UWP apps] |
Target Platform | Windows |
Header | mfobjects.h (include Mfidl.h) |
Library | Mfuuid.lib |