AAFA Developer Support

Public Member Functions
IAAFMultipleDescriptor Interface Reference

The IAAFMultipleDescriptor interface is implemented by objects which describe the format of the content data associated with a File Source mob containing multiple tracks of essence. More...

List of all members.

Public Member Functions

HRESULT Initialize ()
 Initializes a newly allocated, empty IAAFMultipleDescriptor-supporting object.
HRESULT CountFileDescriptors ([out] aafUInt32 *pResult)
 Return the number of FileDescriptors attached to this essence descriptor.
HRESULT AppendFileDescriptor ([in] IAAFFileDescriptor *pFileDescriptor)
 Append another FileDescriptor to this essence descriptor.
HRESULT PrependFileDescriptor ([in] IAAFFileDescriptor *pFileDescriptor)
 Prepend another FileDescriptor to this essence descriptor.
HRESULT InsertFileDescriptorAt ([in] aafUInt32 index,[in] IAAFFileDescriptor *pFileDescriptor)
 Inserts the given FileDescriptor at the given index.
HRESULT GetFileDescriptorAt ([in] aafUInt32 index,[out, retval] IAAFFileDescriptor **ppFileDescriptor)
 Retrieves the FileDescriptor at the given index.
HRESULT RemoveFileDescriptorAt ([in] aafUInt32 index)
 Removes the FileDescriptor at the given index.
HRESULT GetFileDescriptors ([out] IEnumAAFFileDescriptors **ppEnum)
 Returns an enumerator of all the FileDescriptors in this MultipleDescriptor.

Detailed Description

The IAAFMultipleDescriptor interface is implemented by objects which describe the format of the content data associated with a File Source mob containing multiple tracks of essence.

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

AAFRESULT_NOT_INITIALIZED

Objects that implement IAAFMultipleDescriptor also implement the following interfaces:

Definition at line 15887 of file AAF.idl.


Member Function Documentation

HRESULT IAAFMultipleDescriptor::AppendFileDescriptor ( [in] IAAFFileDescriptor pFileDescriptor)

Append another FileDescriptor to this essence descriptor.

Use this function to add a FileDescriptor to the end of the interleave pattern.

Succeeds if all of the following are true:

  • the pFileDescriptor pointer is valid.
  • the pFileDescriptor pointer indicates an object which is not already owned by any object

If this method fails no state will be changed.

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

  • pFileDescriptor is null.

AAFRESULT_OBJECT_ALREADY_ATTACHED

  • the object pointed to by pFileDescriptor is already owned by this or another object.
Parameters:
pFileDescriptor[in] FileDescriptor to append
HRESULT IAAFMultipleDescriptor::CountFileDescriptors ( [out] aafUInt32 *  pResult)

Return the number of FileDescriptors attached to this essence descriptor.

Succeeds if all of the following are true:

  • the pCount pointer is valid.

If this method fails nothing is written to *pCount.

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

  • pCount is null.
Parameters:
pResult[out] Returns the number of FileDescriptors
HRESULT IAAFMultipleDescriptor::GetFileDescriptorAt ( [in] aafUInt32  index,
[out, retval] IAAFFileDescriptor **  ppFileDescriptor 
)

Retrieves the FileDescriptor at the given index.

Succeeds if all of the following are true:

If this method fails no state will be changed.

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

  • pFileDescriptor is null.

AAFRESULT_BADINDEX

Parameters:
index[in] index of FileDescriptor to retrieve
ppFileDescriptor[out, retval] returned FileDescriptor
HRESULT IAAFMultipleDescriptor::GetFileDescriptors ( [out] IEnumAAFFileDescriptors **  ppEnum)

Returns an enumerator of all the FileDescriptors in this MultipleDescriptor.

Succeeds if all of the following are true:

  • the ppEnum pointer is valid.

If this method fails nothing will be written to *ppEnum.

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] An enumerator of the FileDescriptors in this MultipleDescriptor
HRESULT IAAFMultipleDescriptor::Initialize ( )

Initializes a newly allocated, empty IAAFMultipleDescriptor-supporting object.

This method must be called after allocation, and before any other method can be called.

Succeeds if:

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_ALREADY_INITIALIZED

HRESULT IAAFMultipleDescriptor::InsertFileDescriptorAt ( [in] aafUInt32  index,
[in] IAAFFileDescriptor pFileDescriptor 
)

Inserts the given FileDescriptor at the given index.

FileDescriptors already existing at the given and higher indices will be moved to the next higher index to accommodate.

Succeeds if all of the following are true:

  • the pFileDescriptor pointer is valid.
  • index is less than or equal to the value returned by CountFileDescriptors().

If this method fails no state will be changed.

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

  • pFileDescriptor is null.

AAFRESULT_BADINDEX

Parameters:
index[in] index at which FileDescriptor is to be inserted
pFileDescriptor[in] FileDescriptor to append
HRESULT IAAFMultipleDescriptor::PrependFileDescriptor ( [in] IAAFFileDescriptor pFileDescriptor)

Prepend another FileDescriptor to this essence descriptor.

Use this function to add a FileDescriptor to to the beginning of the interleave pattern.

Succeeds if all of the following are true:

  • the pFileDescriptor pointer is valid.
  • the pFileDescriptor pointer indicates an object which is not already owned by any object

If this method fails no state will be changed.

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

  • pFileDescriptor is null.

AAFRESULT_OBJECT_ALREADY_ATTACHED

  • the object pointed to by pFileDescriptor is already owned by this or another object.
Parameters:
pFileDescriptor[in] FileDescriptor to append
HRESULT IAAFMultipleDescriptor::RemoveFileDescriptorAt ( [in] aafUInt32  index)

Removes the FileDescriptor at the given index.

FileDescriptors already existing at indices higher than the given index will be moved to the next lower index to accommodate.

Succeeds if all of the following are true:

If this method fails no state will be changed.

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_BADINDEX

Parameters:
index[in] index of FileDescriptor to remove

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