AAFA Developer Support

Public Member Functions
IAAFTypeDefOpaque Interface Reference

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

List of all members.

Public Member Functions

HRESULT GetActualTypeID ([in] IAAFPropertyValue *pOpaquePropertyValue,[out] aafUID_t *pActualTypeID)
 Return the type id of the actual data within the opaque property value.
HRESULT GetHandle ([in] IAAFPropertyValue *pPropVal,[in] aafUInt32 handleSize,[out, size_is(handleSize), length_is(*bytesRead)] aafDataBuffer_t pHandle,[out] aafUInt32 *bytesRead)
 Used to read and save an unknown property without having to know its contents.
HRESULT GetHandleBufLen ([in] IAAFPropertyValue *pPropVal,[out] aafUInt32 *pLen)
 Returns the length of buffer required for the GetHandle() method.
HRESULT SetHandle ([in] IAAFPropertyValue *pPropVal,[in] aafUInt32 handleSize,[in, size_is(handleSize)] aafDataBuffer_t pHandle)
 This call takes a block of unknown data created by a previous call to GetHandle() and saved in you application, and sets an opaque property value.
HRESULT CreateValueFromHandle ([in, size_is(initDataSize)] aafMemPtr_t pInitData,[in] aafUInt32 initDataSize,[out] IAAFPropertyValue **ppOpaquePropertyValue)
 This call takes a block of unknown data created by GetHandle() and saved in you application, and creates an opaque property value.

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 IAAFTypeDefOpaque also implement the following interfaces:

Definition at line 31142 of file AAF.idl.


Member Function Documentation

HRESULT IAAFTypeDefOpaque::CreateValueFromHandle ( [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
[in] aafUInt32  initDataSize,
[out] IAAFPropertyValue **  ppOpaquePropertyValue 
)

This call takes a block of unknown data created by GetHandle() and saved in you application, and creates an opaque property value.

Returns the newly-created property value in ppOpaquePropertyValue.

Succeeds if all of the following are true:

  • the pInitData pointer is valid.
  • the ppOpaquePropertyValue 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 *ppOpaquePropertyValue.

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 pInitData or ppOpaquePropertyValue arg is NULL.

AAFRESULT_ILLEGAL_VALUE

  • initDataSize indicates pInitData is of the wrong size.
Parameters:
pInitData[in, size_is(initDataSize)] pointer to buffer containing handle to use
initDataSize[in] size of handle in pInitData
ppOpaquePropertyValue[out] newly created property value
HRESULT IAAFTypeDefOpaque::GetActualTypeID ( [in] IAAFPropertyValue pOpaquePropertyValue,
[out] aafUID_t *  pActualTypeID 
)

Return the type id of the actual data within the opaque property value.

Succeeds if all of the following are true:

  • the pOpaquePropertyValue 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 pOpaquePropertyValue or pActualTypeID arg is NULL.

AAFRESULT_ILLEGAL_VALUE

  • the type of pOpaquePropertyValue was not opaque.
Parameters:
pOpaquePropertyValue[in] indirect property value to read
pActualTypeID[out] the type id of the actual data
HRESULT IAAFTypeDefOpaque::GetHandle ( [in] IAAFPropertyValue pPropVal,
[in] aafUInt32  handleSize,
[out, size_is(handleSize), length_is(*bytesRead)] aafDataBuffer_t  pHandle,
[out] aafUInt32 *  bytesRead 
)

Used to read and save an unknown property without having to know its contents.

This call fills in a handle to a block of data which can be saved in you application, and later written to another file using SetHandle(). Writes the data into the pHandle buffer. The buffer is allocated by the caller, and the size of the buffer is given by handleSize.

Caller may call GetHandleBufLen() to determine the required buffer size.

Succeeds if all of the following are true:

  • the pHandle pointer is valid.
  • handleSize indicates the buffer is large enough to hold the name.

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

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

  • pHandle arg is NULL.

AAFRESULT_SMALLBUF

  • handleSize indicates the buffer is too small to hold the handle.
Parameters:
pPropVal[in] value to get data from.
handleSize[in] Size of preallocated buffer
pHandle[out, size_is(handleSize),length_is(*bytesRead)] Preallocated buffer to hold handle
bytesRead[out] Number of actual bytes read
HRESULT IAAFTypeDefOpaque::GetHandleBufLen ( [in] IAAFPropertyValue pPropVal,
[out] aafUInt32 *  pLen 
)

Returns the length of buffer required for the GetHandle() method.

The handle is placed into the location specified by pLen.

Succeeds if all of the following are true:

  • the pLen pointer is valid.

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

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

  • pLen arg is NULL.
Parameters:
pPropVal[in] value to set.
pLen[out] Pointer to an variable used to return the length
HRESULT IAAFTypeDefOpaque::SetHandle ( [in] IAAFPropertyValue pPropVal,
[in] aafUInt32  handleSize,
[in, size_is(handleSize)] aafDataBuffer_t  pHandle 
)

This call takes a block of unknown data created by a previous call to GetHandle() and saved in you application, and sets an opaque property value.

Succeeds if all of the following are true:

  • the pHandle 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

  • pHandle is null.
Parameters:
pPropVal[in] value to write data to.
handleSize[in] Size of preallocated buffer
pHandle[in, size_is(handleSize)] buffer containing handle

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