AAFA Developer Support

Public Member Functions
IAAFIdentification Interface Reference

The IAAFIdentification interface provides information about an application that either created or modified the AAF file. More...

List of all members.

Public Member Functions

HRESULT Initialize ([in] aafCharacter_constptr companyName,[in] aafCharacter_constptr productName,[in] aafCharacter_constptr productVersionString,[in] aafUID_constref productID)
 Initializes a newly allocated IAAFIdentification-supporting object.
HRESULT GetCompanyName ([out, string, size_is(bufSize)] aafCharacter *pCompanyName,[in] aafUInt32 bufSize)
 Gets the Company Name string property.
HRESULT GetCompanyNameBufLen ([out] aafUInt32 *pBufSize)
 Returns size of buffer (in bytes) required for GetCompanyName().
HRESULT GetProductName ([out, string, size_is(bufSize)] aafCharacter *pProductName,[in] aafUInt32 bufSize)
 Gets the Product Name string property.
HRESULT GetProductNameBufLen ([out] aafUInt32 *pBufSize)
 Returns size of buffer (in bytes) required for GetProductName().
HRESULT GetProductVersionString ([out, string, size_is(bufSize)] aafCharacter *pProductVersionString,[in] aafUInt32 bufSize)
 Gets the Product Version string property.
HRESULT GetProductVersionStringBufLen ([out] aafUInt32 *pBufSize)
 Returns size of buffer (in bytes) required for GetProductVersionString().
HRESULT GetProductVersion ([out] aafProductVersion_t *pVersion)
 Gets the Product Version property associated with this identification object and places it into *pVersion.
HRESULT SetProductVersion ([in] aafProductVersion_constref version)
 Set the Product Version property to the value specified in pVersion.
HRESULT GetProductID ([out] aafUID_t *pProductID)
 Obtains the Product ID, which is the identification number assigned to the application and vendor of the application which attached this object to the AAF file.
HRESULT GetDate ([out] aafTimeStamp_t *pTimestamp)
 Writes the Date-time Stamp property into the caller-allocated aafTimeStamp_t specified by the pTimeStamp argument.
HRESULT GetRefImplVersion ([out] aafProductVersion_t *pVersion)
 Obtains the version of the Reference Implementation which created this identification object and writes it into the caller-allocated aafProductVersion_t specified by the pVersion argument.
HRESULT GetPlatform ([out, string, size_is(bufSize)] aafCharacter *pPlatform,[in] aafUInt32 bufSize)
 Gets the Platform string property.
HRESULT GetPlatformBufLen ([out] aafUInt32 *pBufSize)
 Returns size of buffer (in bytes) required for GetPlatform().
HRESULT GetGenerationID ([out] aafUID_t *pGeneration)
 Obtains the generation of this AAF file, which was generated at the time this identification object was created.

Detailed Description

The IAAFIdentification interface provides information about an application that either created or modified the AAF file.

If a file was opened for modification by many applications in its lifetime, then there will be multiple Identification objects. These are kept in an ordered array, with the first entry being the file creator, and the last entry being the last application to modify the file.

The identification object is useful for technical support when diagnosing problem AAF files, as it tells which applications (and versions) have touched the file. If a file has been modified by multiple applications, then the date and productID fields can be used to tell which changes to the file were made by a particular application.

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

IAAFObject

Definition at line 11792 of file AAF.idl.


Member Function Documentation

HRESULT IAAFIdentification::GetCompanyName ( [out, string, size_is(bufSize)] aafCharacter *  pCompanyName,
[in] aafUInt32  bufSize 
)

Gets the Company Name string property.

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

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

If this method fails nothing will be written to pCompanyName.

Succeeds if:

  • The pCompanyName pointer is valid.
  • bufSize indicates that the buffer is large enough to hold CompanyName.

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

  • pCompanyName arg is NULL.

AAFRESULT_SMALL_BUF

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

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

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 IAAFIdentification::GetDate ( [out] aafTimeStamp_t *  pTimestamp)

Writes the Date-time Stamp property into the caller-allocated aafTimeStamp_t specified by the pTimeStamp argument.

The date-time stamp recorded in this object corresponds to the time that this file was created or modified upon the occasion that this object was added to the file.

Note: This is a read-only property.

Succeeds if all of the following are true:

  • the pTimeStamp pointer is valid.

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

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

  • pTimeStamp arg is NULL.
Parameters:
pTimestamp[out] The date-time stamp
HRESULT IAAFIdentification::GetGenerationID ( [out] aafUID_t *  pGeneration)

Obtains the generation of this AAF file, which was generated at the time this identification object was created.

If a file was opened for modification by many applications in its lifetime, then there will be multiple Identification objects. This is written into the caller-allocated aafUID_t specified by the pGeneration argument.

Note: This is a read-only property.

Succeeds if all of the following are true:

  • the pGeneration pointer is valid.

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

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

  • pGeneration arg is NULL.
Parameters:
pGeneration[out] The unique generation
HRESULT IAAFIdentification::GetPlatform ( [out, string, size_is(bufSize)] aafCharacter *  pPlatform,
[in] aafUInt32  bufSize 
)

Gets the Platform string property.

This information is provided only to allow diagnostic printing of platform information to be read by humans. The format of the strings is not guaranteed to remain the same for a given platform. Having said that, the possible values currently returned are:

  • "Win32" for Intel/Win32 platforms
  • "MacOS" for MacOS platforms
  • "Unknown" for unknown platforms

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

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

If this method fails nothing will be written to pPlatform.

Succeeds if:

  • The pPlatform pointer is valid.
  • bufSize indicates that the buffer is large enough to hold Platform.

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

  • pPlatform arg is NULL.

AAFRESULT_SMALL_BUF

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

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

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 IAAFIdentification::GetProductID ( [out] aafUID_t *  pProductID)

Obtains the Product ID, which is the identification number assigned to the application and vendor of the application which attached this object to the AAF file.

This ID is written into the caller-allocated aafUID_t specified by the pProductID argument.

Succeeds if all of the following are true:

  • the pProductID pointer is valid.

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

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

  • pProductID arg is NULL.
Parameters:
pProductID[out] The Product ID
HRESULT IAAFIdentification::GetProductName ( [out, string, size_is(bufSize)] aafCharacter *  pProductName,
[in] aafUInt32  bufSize 
)

Gets the Product Name string property.

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

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

If this method fails nothing will be written to pProductName.

Succeeds if:

  • The pProductName pointer is valid.
  • bufSize indicates that the buffer is large enough to hold ProductName.

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

  • pProductName arg is NULL.

AAFRESULT_SMALL_BUF

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

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

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 IAAFIdentification::GetProductVersion ( [out] aafProductVersion_t *  pVersion)

Gets the Product Version property associated with this identification object and places it into *pVersion.

Succeeds if all of the following are true:

  • the pVersion pointer is valid.

If this method fails, nothing will be written to *pVersion.

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

  • pVersion arg is NULL.
Parameters:
pVersion[out] The Product Version
HRESULT IAAFIdentification::GetProductVersionString ( [out, string, size_is(bufSize)] aafCharacter *  pProductVersionString,
[in] aafUInt32  bufSize 
)

Gets the Product Version string property.

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

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

If this method fails nothing will be written to pProductVersionString.

Succeeds if:

  • The pProductVersionString pointer is valid.
  • bufSize indicates that the buffer is large enough to hold ProductVersionString.

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

  • pProductVersionString arg is NULL.

AAFRESULT_SMALL_BUF

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

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

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 IAAFIdentification::GetRefImplVersion ( [out] aafProductVersion_t *  pVersion)

Obtains the version of the Reference Implementation which created this identification object and writes it into the caller-allocated aafProductVersion_t specified by the pVersion argument.

Note: This is a read-only property.

Succeeds if all of the following are true:

  • the pVersion pointer is valid.

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

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

  • pVersion arg is NULL.
Parameters:
pVersion[out] The Reference Implementation Version
HRESULT IAAFIdentification::Initialize ( [in] aafCharacter_constptr  companyName,
[in] aafCharacter_constptr  productName,
[in] aafCharacter_constptr  productVersionString,
[in] aafUID_constref  productID 
)

Initializes a newly allocated IAAFIdentification-supporting object.

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

This method fills in the mandatory properties of the object. The values of the following required properties are set based on the information given in arguments to this method:

  • companyName
  • productname
  • productVersionString
  • productID

The following mandatory properties will be filled in automatically by the reference implementation:

  • date
  • generationAUID

Succeeds if:

  • Initialize() has not yet been called on this object.
  • companyName is a valid pointer
  • productName is a valid pointer
  • productVersionString 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

  • companyName, productName, or productVersionString is NULL.
Parameters:
companyName[in] company name string
productName[in] product name string
productVersionString[in] product version string
productID[in] product identification
HRESULT IAAFIdentification::SetProductVersion ( [in] aafProductVersion_constref  version)

Set the Product Version property to the value specified in pVersion.

A copy is made of the data so the caller retains ownership of the *pVersion struct and is responsible for de-allocating it.

If this method fails the Product Version property will not be changed.

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

Parameters:
version[in] The Product Version

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