The IEnumAAFEssenceData interface is used enumerate all of the AAFEssenceData objects in a file. More...
Public Member Functions | |
HRESULT | NextOne ([out, retval] IAAFEssenceData **ppEssenceData) |
Enumerates to the next element in the enumerators list. | |
HRESULT | Next ([in] aafUInt32 count,[out, size_is(count), length_is(*pFetched)] IAAFEssenceData **ppEssenceData,[out, ref] aafUInt32 *pFetched) |
Enumerates the next count elements (AAFEssenceData pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched. | |
HRESULT | Skip ([in] aafUInt32 count) |
Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFEssenceData::Next will not return those elements. | |
HRESULT | Reset () |
Instructs the enumerator to position itself at the beginning of the list of elements. | |
HRESULT | Clone ([out, retval] IEnumAAFEssenceData **ppEnum) |
Creates another essence data enumerator with the same state as the current enumerator to iterate over the same list. |
The IEnumAAFEssenceData interface is used enumerate all of the AAFEssenceData objects in a file.
The AAFEssenceData objects contain the actual essence data (ex. WAVE) when it is contained within an AAF file. Normally the client application would access the essence through the IAAFEssenceAccess interface, which handles the work of finding and (de)compressing the data. However, in rare cases direct access to the data is required, so this interface is exposed.
In addition to the specific error results listed for each method, all methods in this interface may also return one of the following values:
AAFRESULT_NULL_PARAM
AAFRESULT_NOMEMORY
HRESULT IEnumAAFEssenceData::Clone | ( | [out, retval] IEnumAAFEssenceData ** | ppEnum | ) |
Creates another essence data enumerator with the same state as the current enumerator to iterate over the same list.
This method makes it possible to record a point in the enumeration sequence in order to return to that point at a later time. The caller must release this new enumerator separately from the first enumerator.
ppEnum | [out,retval] new enumeration |
HRESULT IEnumAAFEssenceData::Next | ( | [in] aafUInt32 | count, |
[out, size_is(count), length_is(*pFetched)] IAAFEssenceData ** | ppEssenceData, | ||
[out, ref] aafUInt32 * | pFetched | ||
) |
Enumerates the next count elements (AAFEssenceData pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
The caller is responsible for properly releasing the returned pointers.
count | [in] number of essence data requested |
ppEssenceData | [out, size_is(count), length_is(*pFetched)] array to receive EssenceData |
pFetched | [out,ref] number of actual EssenceData fetched into ppEssenceData array |
HRESULT IEnumAAFEssenceData::NextOne | ( | [out, retval] IAAFEssenceData ** | ppEssenceData | ) |
Enumerates to the next element in the enumerators list.
The caller is responsible for properly releasing the returned pointer when it is no longer needed. This is a just simplified version of the Next method.
ppEssenceData | [out,retval] The Next EssenceData |
HRESULT IEnumAAFEssenceData::Reset | ( | ) |
Instructs the enumerator to position itself at the beginning of the list of elements.
There is no guarantee that the same set of elements will be enumerated on each pass through the list, nor will the elements necessarily be enumerated in the same order. The exact behavior depends on the collection being enumerated.
HRESULT IEnumAAFEssenceData::Skip | ( | [in] aafUInt32 | count | ) |
Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFEssenceData::Next will not return those elements.
count | [in] Number of elements to skip |