The IAAFTaggedValue interface is implemented by objects that specify an User defined tag and value. More...
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. |
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:
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:
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
AAFRESULT_NULL_PARAM
AAFRESULT_SMALL_BUF
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:
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
AAFRESULT_NULL_PARAM
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:
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
AAFRESULT_NOT_INITIALIZED
AAFRESULT_PROP_NOT_PRESENT
AAFRESULT_NULL_PARAM
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:
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
AAFRESULT_NULL_PARAM
AAFRESULT_SMALLBUF
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:
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
AAFRESULT_NULL_PARAM
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:
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
AAFRESULT_ALREADY_INITIALIZED
AAFRESULT_NULL_PARAM
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:
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
AAFRESULT_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
valueSize | [in] Size of preallocated buffer |
pValue | [in, size_is(valueSize)] buffer containing value |