This interface is for the enumerator which is generated by IAAFHeader and is used for enumerating over IAAFMobs attached to the content storage attached to the header. More...
Public Member Functions | |
HRESULT | NextOne ([out, retval] IAAFMob **ppMob) |
Enumerates to the next element in the enumerators list. | |
HRESULT | Next ([in] aafUInt32 count,[out, size_is(count), length_is(*pNumFetched)] IAAFMob **ppMobs,[out] aafUInt32 *pNumFetched) |
Enumerates the next count elements (AAFMob pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pNumFetched. | |
HRESULT | Skip ([in] aafUInt32 count) |
Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFMobs::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] IEnumAAFMobs **ppEnum) |
Creates another mob enumerator with the same state as the current enumerator to iterate over the same list. |
This interface is for the enumerator which is generated by IAAFHeader and is used for enumerating over IAAFMobs attached to the content storage attached to the header.
The call to generate this enumerator takes a mob kind [see below], and enumerates over a subset of the mobs attached to the content storage. This is because importing programs often import starting with the source mobs, and ending with the composition mobs, so that no dangling references must be maintained in their internal representation. The possible values for mobKind are: kCompMob -- Iterate over AAFCompositionMob. kMasterMob -- iterate over AAFMasterMob. kFileMob -- Iterate over AAFSourceMob with attached AAFFileDescriptor. kTapeMob -- Iterate over AAFSourceMob with attached AAFTapeDescriptor. kFilmMob -- Iterate over AAFSourceMob with attached AAFFilmDescriptor. kAllMob -- Iterate over all IAAMob.
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_NOMEMORY
HRESULT IEnumAAFMobs::Clone | ( | [out, retval] IEnumAAFMobs ** | ppEnum | ) |
Creates another mob 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.
Note: The caller must release this new enumerator separately from the first enumerator.
Succeeds if all of the following are true:
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
ppEnum | [out, retval] new enumeration |
HRESULT IEnumAAFMobs::Next | ( | [in] aafUInt32 | count, |
[out, size_is(count), length_is(*pNumFetched)] IAAFMob ** | ppMobs, | ||
[out] aafUInt32 * | pNumFetched | ||
) |
Enumerates the next count elements (AAFMob pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pNumFetched.
The caller is responsible for properly releasing the returned pointers.
Succeeds if all of the following are true:
If this method fails nothing is written to *ppMobs or pNumFetched.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
count | [in] number of mobs requested |
ppMobs | [out, size_is(count), length_is(*pNumFetched)] array to receive mobs |
pNumFetched | [out] number of actual Mobs fetched into ppMobs array |
HRESULT IEnumAAFMobs::NextOne | ( | [out, retval] IAAFMob ** | ppMob | ) |
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.
Succeeds if all of the following are true:
If this method fails nothing is written to *ppMob.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_NO_MORE_OBJECTS
ppMob | [out, retval] The Next Mob |
HRESULT IEnumAAFMobs::Reset | ( | ) |
Instructs the enumerator to position itself at the beginning of the list of elements.
Always succeeds.
This method will return the following code:
AAFRESULT_SUCCESS
HRESULT IEnumAAFMobs::Skip | ( | [in] aafUInt32 | count | ) |
Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFMobs::Next will not return those elements.
Succeeds if all of the following are true:
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NO_MORE_OBJECTS
count | [in] Number of elements to skip |