The IAAFKLVData interface is implemented by objects that specify an User defined tag and value. More...
Public Member Functions | |
HRESULT | Initialize ([in] aafUID_t key,[in] aafUInt32 length,[in, size_is(length)] aafDataBuffer_t pValue) |
Initializes a new KLVData object to be interpreted using the given given key. | |
HRESULT | GetKey ([out] aafUID_t *pKey) |
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 IAAFKLVData 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 IAAFKLVData also implement the following interfaces:
HRESULT IAAFKLVData::GetKey | ( | [out] aafUID_t * | pKey | ) |
Returns the type definition for this invocation.
Succeeds if all of the following are true:
If this method fails nothing will be written to *pKey.
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
pKey | [out] The key of this object |
HRESULT IAAFKLVData::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 IAAFKLVData::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 IAAFKLVData::Initialize | ( | [in] aafUID_t | key, |
[in] aafUInt32 | length, | ||
[in, size_is(length)] aafDataBuffer_t | pValue | ||
) |
Initializes a new KLVData object to be interpreted using the given given key.
The key must have been registered using dictionary->RegisterKLVDataKey() in order to use the byte swapping functionality of the type model.
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
AAFRESULT_NOT_VALID_KEY
key | [in] Key of the following value data |
length | [in] Length of preallocated buffer |
pValue | [in, size_is(length)] buffer containing value |
HRESULT IAAFKLVData::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 |