AAFA Developer Support

Public Member Functions
IEnumAAFMobs Interface Reference

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...

List of all members.

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.

Detailed Description

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

Definition at line 37188 of file AAF.idl.


Member Function Documentation

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:

  • the ppEnum pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppEnum is null.
Parameters:
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:

  • the ppMobs pointer is valid.
  • the pNumFetched pointer is valid.
  • there are Mob objects remaining to be returned.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • either ppMob or pNumFetched is null.
Parameters:
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:

  • the ppMob pointer is valid.
  • there are Mob objects remaining to be returned.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppMob is null.

AAFRESULT_NO_MORE_OBJECTS

  • no Mobs remaining to be returned.
Parameters:
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

  • succeeded. (This is the only code indicating 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:

  • count is less than or equal to the number of remaining objects.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NO_MORE_OBJECTS

  • count exceeded number of remaining objects.
Parameters:
count[in] Number of elements to skip

Generated on Wed Jul 4 2012 22:13:32 for AAF COM API by doxygen 1.7.4