AAFA Developer Support

Public Member Functions
IAAFTypeDefIndirect Interface Reference

This interface is used to define Integer types used in AAF persistent objects. More...

List of all members.

Public Member Functions

HRESULT CreateValueFromActualValue ([in] IAAFPropertyValue *pActualValue,[out] IAAFPropertyValue **ppIndirectPropertyValue)
 Creates an indirect property value which contains the actual type.
HRESULT CreateValueFromActualData ([in] IAAFTypeDef *pActualType,[in, size_is(initDataSize)] aafMemPtr_t pInitData,[in] aafUInt32 initDataSize,[out] IAAFPropertyValue **ppIndirectPropertyValue)
 Creates an indirect property value which contains data of the actual type.
HRESULT GetActualValue ([in] IAAFPropertyValue *pIndirectPropertyValue,[out] IAAFPropertyValue **ppActualPropertyValue)
 Gets a property value corresponding to the actual data.
HRESULT GetActualSize ([in] IAAFPropertyValue *pIndirectPropertyValue,[out] aafUInt32 *pActualSize)
 )
HRESULT GetActualType ([in] IAAFPropertyValue *pIndirectPropertyValue,[out] IAAFTypeDef **pActualType)
 Return the type definition of the actual data within the indirect property value.
HRESULT GetActualData ([in] IAAFPropertyValue *pPropVal,[out, size_is(dataSize)] aafMemPtr_t pData,[in] aafUInt32 dataSize)
 Copies all the actual data contained in the given indirect property value, interpreted as the actual type for this indirect property value, into the buffer pointed to by pData.

Detailed Description

This interface is used to define Integer types used in AAF persistent objects.

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

Objects that implement IAAFTypeDefIndirect also implement the following interfaces:

Definition at line 30401 of file AAF.idl.


Member Function Documentation

HRESULT IAAFTypeDefIndirect::CreateValueFromActualData ( [in] IAAFTypeDef pActualType,
[in, size_is(initDataSize)] aafMemPtr_t  pInitData,
[in] aafUInt32  initDataSize,
[out] IAAFPropertyValue **  ppIndirectPropertyValue 
)

Creates an indirect property value which contains data of the actual type.

Returns the newly-created property value in ppIndirectPropertyValue.

Succeeds if all of the following are true:

  • the pActualType pointer is valid and registered
  • the pInitData pointer is valid.
  • the ppIndirectPropertyValue pointer is valid.
  • initDataSize indicates pInitData is the correct size for the actual type.
  • compile-time struct has had its member offests registered.

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

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_NOT_INITIALIZED

  • This object has not yet had Initialize() called on it.

AAFRESULT_NULL_PARAM

  • either pActualType or InitData or ppIndirectPropertyValue arg is NULL.

AAFRESULT_ILLEGAL_VALUE

  • initDataSize indicates pInitData is of the wrong size.

AAFRESULT_NOT_REGISTERED

  • struct offsets have not yet been registered for this typedef.
Parameters:
pActualType[in] the actual type of the data
pInitData[in, size_is(initDataSize)] pointer to buffer containing data to use
initDataSize[in] size of data in pInitData
ppIndirectPropertyValue[out] newly created property value
HRESULT IAAFTypeDefIndirect::CreateValueFromActualValue ( [in] IAAFPropertyValue pActualValue,
[out] IAAFPropertyValue **  ppIndirectPropertyValue 
)

Creates an indirect property value which contains the actual type.

Returns the newly-created property value in ppIndirectPropertyValue.

Succeeds if all of the following are true:

  • the pActualValue pointer is valid.
  • the ppIndirectPropertyValue pointer is valid.

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

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_NOT_INITIALIZED

  • This object has not yet had Initialize() called on it.

AAFRESULT_NULL_PARAM

  • either pActualValue or ppIndirectPropertyValue arg is NULL.

AAFRESULT_ILLEGAL_VALUE

  • initDataSize indicates pInitData is of the wrong size.

AAFRESULT_NOT_REGISTERED

  • struct offsets have not yet been registered for this typedef.
Parameters:
pActualValue[in] pointer to actual value
ppIndirectPropertyValue[out] newly created property value
HRESULT IAAFTypeDefIndirect::GetActualData ( [in] IAAFPropertyValue pPropVal,
[out, size_is(dataSize)] aafMemPtr_t  pData,
[in] aafUInt32  dataSize 
)

Copies all the actual data contained in the given indirect property value, interpreted as the actual type for this indirect property value, into the buffer pointed to by pData.

Succeeds if all of the following are true:

  • the pPropVal pointer is valid.
  • the pData pointer is valid.
  • dataSize indicates pData is large enough to hold the data.

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

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_NOT_INITIALIZED

  • This object has not yet had Initialize() called on it.

AAFRESULT_NULL_PARAM

  • either pPropVal or pData arg is NULL.

AAFRESULT_ILLEGAL_VALUE

  • dataSize indicates pData is too small.

AAFRESULT_TYPE_NOT_FOUND

  • the actual type cannot be found in the dictionary.

AAFRESULT_NOT_REGISTERED

  • struct offsets have not yet been registered for the actual typedef.
Parameters:
pPropVal[in] indirect property value to read
pData[out, size_is(dataSize)] buffer into which actual data should be written
dataSize[in] size of pData buffer in bytes
HRESULT IAAFTypeDefIndirect::GetActualSize ( [in] IAAFPropertyValue pIndirectPropertyValue,
[out] aafUInt32 *  pActualSize 
)

)

Return the size of the actual data withing the indirect property value.

Succeeds if all of the following are true:

  • the pIndirectPropertyValue pointer is valid.
  • the pActualSize pointer is valid.

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

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_NOT_INITIALIZED

  • This object has not yet had Initialize() called on it.

AAFRESULT_NULL_PARAM

  • either pIndirectPropertyValue or pActualSize arg is NULL.

AAFRESULT_ILLEGAL_VALUE

  • the type of pIndirectPropertyValue was not indirect.

AAFRESULT_TYPE_NOT_FOUND

  • the actual type cannot be found in the dictionary.

AAFRESULT_NOT_REGISTERED

  • struct offsets have not yet been registered for the actual typedef.
Parameters:
pIndirectPropertyValue[in] indirect property value to read
pActualSize[out] actual data size
HRESULT IAAFTypeDefIndirect::GetActualType ( [in] IAAFPropertyValue pIndirectPropertyValue,
[out] IAAFTypeDef **  pActualType 
)

Return the type definition of the actual data within the indirect property value.

Succeeds if all of the following are true:

  • the pIndirectPropertyValue pointer is valid.
  • the pActualType 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_NOT_INITIALIZED

  • This object has not yet had Initialize() called on it.

AAFRESULT_NULL_PARAM

  • either pIndirectPropertyValue or pActualType arg is NULL.

AAFRESULT_ILLEGAL_VALUE

  • the type of pIndirectPropertyValue was not indirect.

AAFRESULT_TYPE_NOT_FOUND

  • the actual type cannot be found in the dictionary.

AAFRESULT_NOT_REGISTERED

  • struct offsets have not yet been registered for the actual typedef.
Parameters:
pIndirectPropertyValue[in] indirect property value to read
pActualType[out] the type definition of the actual data
HRESULT IAAFTypeDefIndirect::GetActualValue ( [in] IAAFPropertyValue pIndirectPropertyValue,
[out] IAAFPropertyValue **  ppActualPropertyValue 
)

Gets a property value corresponding to the actual data.

Succeeds if:

  • Initialize() has already been called on this object.
  • The pIndirectPropertyValue pointer is valid.
  • The ppActualPropertyValue 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_NOT_INITIALIZED

  • This object has not yet had Initialize() called on it.

AAFRESULT_NULL_PARAM

  • either pIndirectPropertyValue or ppActualPropertyValue arg is NULL.

AAFRESULT_ILLEGAL_VALUE

  • initDataSize indicates pInitData is of the wrong size.

AAFRESULT_NOT_REGISTERED

  • struct offsets have not yet been registered for this typedef.
Parameters:
pIndirectPropertyValue[in] indirect property value to read
ppActualPropertyValue[out] value that is read

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