AAFA Developer Support

Public Member Functions
IAAFTaggedValue Interface Reference

The IAAFTaggedValue interface is implemented by objects that specify an User defined tag and value. More...

List of all members.

Public Member Functions

HRESULT Initialize ([in, string] aafCharacter_constptr pName,[in] IAAFTypeDef *pTypeDef,[in] aafUInt32 valueSize,[in, size_is(valueSize)] aafDataBuffer_t pValue)
 Initializes a new tagged value object to be identified with the given the given type, and with the given human-legible name.
HRESULT GetName ([out, string, size_is(bufSize)] aafCharacter *pName,[in] aafUInt32 bufSize)
 Gets the Name string property.
HRESULT GetNameBufLen ([out] aafUInt32 *pBufSize)
 Returns size of buffer (in bytes) required for GetName().
HRESULT GetTypeDefinition ([out] IAAFTypeDef **ppTypeDef)
 Returns the type definition for this invocation.
HRESULT GetValue ([in] aafUInt32 valueSize,[out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t pValue,[out] aafUInt32 *bytesRead)
 Writes the value into the pValue buffer.
HRESULT GetValueBufLen ([out] aafUInt32 *pLen)
 Returns the length of buffer required for the GetValue() method.
HRESULT SetValue ([in] aafUInt32 valueSize,[in, size_is(valueSize)] aafDataBuffer_t pValue)
 The data value is set from a buffer of size valueSize and type.

Detailed Description

The IAAFTaggedValue interface is implemented by objects that specify an User defined tag and value.

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

Definition at line 26804 of file AAF.idl.


Member Function Documentation

HRESULT IAAFTaggedValue::GetName ( [out, string, size_is(bufSize)] aafCharacter *  pName,
[in] aafUInt32  bufSize 
)

Gets the Name string property.

Writes the Name property, with a trailing null character, into the pName buffer. The buffer is allocated by the caller. The size of the buffer is given by bufSize. If the Name property has not yet been set, a zero-length string will be written (that is, only the trailing null character).

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

If this method fails nothing will be written to pName.

Succeeds if:

  • The pName pointer is valid.
  • bufSize indicates that the buffer is large enough to hold Name.

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

  • pName arg is NULL.

AAFRESULT_SMALL_BUF

  • bufSize indicates that the allocated buffer is not large enough to hold Name.
Parameters:
pName[out, string, size_is(bufSize)] buffer into which Name is to be written
bufSize[in] size of *pName buffer in bytes
HRESULT IAAFTaggedValue::GetNameBufLen ( [out] aafUInt32 *  pBufSize)

Returns size of buffer (in bytes) required for GetName().

Succeeds if:

  • The pBufSize 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

  • pBufSize arg is NULL.
Parameters:
pBufSize[out] size of required buffer, in bytes
HRESULT IAAFTaggedValue::GetTypeDefinition ( [out] IAAFTypeDef **  ppTypeDef)

Returns the type definition for this invocation.

Succeeds if all of the following are true:

  • the ppTypeDef pointer is valid.

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

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

AAFRESULT_PROP_NOT_PRESENT

  • This property does not exist in the file.

AAFRESULT_NULL_PARAM

  • ppTypeDef arg is NULL.
Parameters:
ppTypeDef[out] Type definition object
HRESULT IAAFTaggedValue::GetValue ( [in] aafUInt32  valueSize,
[out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t  pValue,
[out] aafUInt32 *  bytesRead 
)

Writes the value into the pValue buffer.

The buffer is allocated by the caller, and the size of the buffer is given by valueSize.

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

Succeeds if all of the following are true:

  • the pValue pointer is valid.
  • valueSize indicates the buffer is large enough to hold the name.

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

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

  • pValue arg is NULL.

AAFRESULT_SMALLBUF

  • valueSize indicates the buffer is too small to hold the value.
Parameters:
valueSize[in] Size of preallocated buffer
pValue[out, size_is(valueSize), length_is(*bytesRead)] Preallocated buffer to hold value
bytesRead[out] Number of actual bytes read
HRESULT IAAFTaggedValue::GetValueBufLen ( [out] aafUInt32 *  pLen)

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

The value 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:
pLen[out] Pointer to an variable used to return the length
HRESULT IAAFTaggedValue::Initialize ( [in, string] aafCharacter_constptr  pName,
[in] IAAFTypeDef pTypeDef,
[in] aafUInt32  valueSize,
[in, size_is(valueSize)] aafDataBuffer_t  pValue 
)

Initializes a new tagged value object to be identified with the given the given type, and with the given human-legible name.

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

Succeeds if:

  • Initialize() has not yet been called on this object.
  • pName is a valid pointer.
  • pTypeDef is a valid pointer and registered
  • pValue is a valid pointer

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

AAFRESULT_NULL_PARAM

  • pName or pTypeDef or pValue arg is NULL.
Parameters:
pName[in, string] User defined name (tag) of this tagged value object
pTypeDef[in] Type Definition of the following value data
valueSize[in] Size of preallocated buffer
pValue[in, size_is(valueSize)] buffer containing value
HRESULT IAAFTaggedValue::SetValue ( [in] aafUInt32  valueSize,
[in, size_is(valueSize)] aafDataBuffer_t  pValue 
)

The data value is set from a buffer of size valueSize and type.

Succeeds if all of the following are true:

  • pTypeDef is valid and registered with the object's dictionary.
  • the pValue 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

AAFRESULT_NULL_PARAM

  • ppTypeDef is null.
Parameters:
valueSize[in] Size of preallocated buffer
pValue[in, size_is(valueSize)] buffer containing value

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