AAFA Developer Support

Main Page | Class List | File List | Class Members | File Members

AAF.idl File Reference

Go to the source code of this file.

Functions

STDAPI AAFLoad (const char *dllname)
 Attempts to load the given implementation of AAF into the processes address space.
STDAPI AAFUnload ()
 Attempts to unload the current AAF dll loaded with a previous call to AAFLoad.
STDAPI AAFFileOpenExistingRead (") cpp_quote("aafCharacter_constptr pFileName,") cpp_quote("aafUInt32 modeFlags,") cpp_quote("IAAFFile **ppFile)
 Creates an object associated with with an existing filesystem file that contains data which is only to be read.
STDAPI AAFFileOpenExistingModify (") cpp_quote("aafCharacter_constptr pFileName,") cpp_quote("aafUInt32 modeFlags,") cpp_quote("aafProductIdentification_t *pIdent,") cpp_quote("IAAFFile **ppFile)
 Creates an object associated with with an existing filesystem file that contains data which is to be read and written.
STDAPI AAFFileOpenNewModify (") cpp_quote("aafCharacter_constptr pFileName,") cpp_quote("aafUInt32 modeFlags,") cpp_quote("aafProductIdentification_t *pIdent,") cpp_quote("IAAFFile **ppFile)
 Creates an object associated with with a new filesystem file that contains data which is to be read and written.
STDAPI AAFFileOpenNewModifyEx (") cpp_quote("aafCharacter_constptr pFileName,") cpp_quote("aafUID_constptr pFileKind,") cpp_quote("aafUInt32 modeFlags,") cpp_quote("aafProductIdentification_t *pIdent,") cpp_quote("IAAFFile **ppFile)
 Creates an object associated with with a new filesystem file that contains data which is to be read and written.
STDAPI AAFFileOpenTransient (") cpp_quote("aafProductIdentification_t *pIdent,") cpp_quote("IAAFFile **ppFile)
 Creates an object associated with with a transient file, meaning that it is not associated with any filesystem file but may still be used to contain AAF objects as if it was associated with a filesystem file.
STDAPI AAFFileIsAAFFile (") cpp_quote("aafCharacter_constptr pFileName,") cpp_quote("aafUID_t *pAAFFileKind,") cpp_quote("aafBool *pFileIsAAFFile)
 Is the named file an AAF file ?
STDAPI AAFRawStorageIsAAFFile (") cpp_quote("IAAFRawStorage *pRawStorage,") cpp_quote("aafUID_t *pAAFFileKind,") cpp_quote("aafBool *pRawStorageIsAAFFile)
 Does the storage contain an AAF file ?
STDAPI AAFGetPluginManager (IAAFPluginManager **ppPluginManager)
 Returns an interface of the plugin manager, which is used to select plugins for exporting.
STDAPI AAFCreateRawStorageMemory (") cpp_quote("aafFileAccess_t access,") cpp_quote("IAAFRawStorage **ppNewRawStorage)
 Create a raw storage providing a built-in implementation of IAAFRawStorage on memory.
STDAPI AAFCreateRawStorageDisk (") cpp_quote("aafCharacter_constptr pFilename,") cpp_quote("aafFileExistence_t existence,") cpp_quote("aafFileAccess_t access,") cpp_quote("IAAFRawStorage **ppNewRawStorage)
 Create a raw storage providing a built-in implementation of IAAFRawStorage on a file on disk.
STDAPI AAFCreateRawStorageCachedDisk (") cpp_quote("aafCharacter_constptr pFilename,") cpp_quote("aafFileExistence_t existence,") cpp_quote("aafFileAccess_t access,") cpp_quote("aafUInt32 pageCount,") cpp_quote("aafUInt32 pageSize,") cpp_quote("IAAFRawStorage **ppNewRawStorage)
 Create a raw storage providing a built-in implementation of IAAFRawStorage on a file on disk with caching.
STDAPI AAFCreateAAFFileOnRawStorage (") cpp_quote("IAAFRawStorage *pRawStorage,") cpp_quote("aafFileExistence_t existence,") cpp_quote("aafFileAccess_t access,") cpp_quote("aafUID_constptr pFileKind,") cpp_quote("aafUInt32 modeFlags,") cpp_quote("aafProductIdentification_constptr pIdent,") cpp_quote("IAAFFile **ppNewFile)
 Given an IAAFRawStorage, create an IAAFFile.
STDAPI AAFGetLibraryVersion (aafProductVersion_t *pVersion)
 Return the version of the AAF library currently running on this machine, which implements these interfaces.
STDAPI AAFGetLibraryPathNameBufLen (aafUInt32 *pBufSize)
 Returns size of buffer (in bytes) required for AAFGetLibraryPathName().
STDAPI AAFGetLibraryPathName (") cpp_quote("aafCharacter *pLibraryPathName,") cpp_quote("aafUInt32 bufSize)
 Get the pathname of the AAF library.


Function Documentation

STDAPI AAFCreateAAFFileOnRawStorage  )  const
 

Given an IAAFRawStorage, create an IAAFFile.

If pRawStorage is actually an IAAFRandomRawStorage, the created file will be an IAAFRandomFile.

Note that AAF files based on Binary Structured Storage will require the underlying IAAFRawStorage to be at least readable, even in the case of write-only AAF files.

Note also that only the following combinations of access and existence are legal:

existence access Legal? --------- ------ ------ existing read yes existing write no existing modify yes new read no new write yes new modify yes

This method will succeed if the following are true:

  • The pRawStorage pointer is valid.
  • The ppNewFile pointer is valid.
  • The accessibility of the specified raw storage matches that of the desired AAF File; additionally, if the file kind is Structured Storage Binary, the raw storage is also required to be at least readable.
  • A legal combination of existence and access flags is given.

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

  • pRawStorage or ppNewFile arg is NULL.

AAFRESULT_NOT_READABLE

  • The access parameter specifies readability or if this file is Binary Structured Storage, but the specified raw storage is not readable.

AAFRESULT_NOT_WRITEABLE

  • The access parameter specifies writeability but the specified raw storage is not writeable.

AAFRESULT_NULL_PARAM

  • existence is new, and pFileKind is NULL.

AAFRESULT_INVALID_PARAM

  • The access or existence parameters are not set to a legal combination of values.

Parameters:
pRawStorage [in] storage to be associated with this file
existence [in] Governs whether storage is on pre-existing data, or is newly created.
access [in] Governs whether stream may be read from and/or written to.
pFileKind [in] kind of file to be created; only used for new files
modeFlags [in] File mode flags
pIdent [in] Identification to be associated with this file; only used for new files
ppNewFile [out] newly-created file

STDAPI AAFCreateRawStorageCachedDisk  )  const
 

Create a raw storage providing a built-in implementation of IAAFRawStorage on a file on disk with caching.

Note that it is illegal to specify existence and access as "New" "Read".

This is considered a value-added function since clients could actually create their own.

Succeeds if:

  • The pFilename pointer is valid.
  • The ppNewRawStorage pointer is valid.
  • If the open mode is one of read, write, or modify.
  • If the file existence is one of new or existing.

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

  • pFilename or ppNewRawStorage arg is NULL.

AAFRESULT_WRONG_OPENMODE

  • If none of read, modify, or write are specified as open mode, or if neither new or existing is specified for the existence.

Parameters:
pFilename [in] Name of file to be associated with this storage
existence [in] Governs whether storage is on pre-existing data, or is newly created.
access [in] Governs whether stream may be read from and/or written to.
pageCount [in] Count of cache pages
pageSize [in] Cache page size in bytes
ppNewRawStorage [out] Newly created storage

STDAPI AAFCreateRawStorageDisk  )  const
 

Create a raw storage providing a built-in implementation of IAAFRawStorage on a file on disk.

Note that it is illegal to specify existence and access as "New" "Read".

This is considered a value-added function since clients could actually create their own.

Succeeds if:

  • The pFilename pointer is valid.
  • The ppNewRawStorage pointer is valid.
  • If the open mode is one of read, write, or modify.
  • If the file existence is one of new or existing.

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

  • pFilename or ppNewRawStorage arg is NULL.

AAFRESULT_WRONG_OPENMODE

  • If none of read, modify, or write are specified as open mode, or if neither new or existing is specified for the existence.

Parameters:
pFilename [in] Name of file to be associated with this storage
existence [in] Governs whether storage is on pre-existing data, or is newly created.
access [in] Governs whether stream may be read from and/or written to.
ppNewRawStorage [out] Newly created storage

STDAPI AAFCreateRawStorageMemory  ) 
 

Create a raw storage providing a built-in implementation of IAAFRawStorage on memory.

This is considered a value-added function since clients could actually create their own.

Succeeds if:

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

  • ppNewRawStorage arg is NULL.

Parameters:
access [in] Governs whether stream may be read from and/or written to.
ppNewRawStorage [out] Newly created storage

STDAPI AAFFileIsAAFFile  )  const
 

Is the named file an AAF file ?

Note that the function result is returned via the pFileIsAAFFile argument. If this function succeeds it returns AAFRESULT_SUCCESS even if the named file is not an AAF file.

This function 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

  • at least one of the pointer arguments is NULL.

AAFRESULT_FILE_NOT_FOUND

  • the file named by pFileName cannot be found.

Parameters:
pFileName [in, string] Null-terminated string containing name of filesystem file.
pAAFFileKind [out] Pointer to an AUID indicating the file kind
pFileIsAAFFile [out,retval] Returns AAFTrue if the given file is an AAF file, returns AAFFalse otherwise.

STDAPI AAFFileOpenExistingModify  )  const
 

Creates an object associated with with an existing filesystem file that contains data which is to be read and written.

Associates the given identification with it. Does the following:

  • Opens the existing named file in the filesystem for reading and writing.
  • Associates an object with that filesystem file.
  • Places the object into the Open-read-write state.
  • This AAFFile object then can be used as the root of the containment tree representing all AAF objects contained within the file.

Succeeds if:

  • This object is currently Closed.
  • The pFileName argument is valid.
  • The pIdent argument is valid.
  • Only valid flags have been specified.
  • A valid combination of flags has been specified.
  • The named file exists in the filesystem.
  • The named filesystem file is readable.
  • The named filesystem file is writable.
  • The named file represents itself as a valid AAF file. Even if this succeeds, it is not guaranteed that the named file is in fact a valid AAF file.

This function 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

  • either pFileName or pIdent pointer argument is NULL.

AAFRESULT_BAD_FLAGS

  • one or more illegal flags were specified.

AAFRESULT_BAD_FLAG_COMBINATION

  • illegal combination of otherwise valid flags was specified.

AAFRESULT_FILE_NOT_FOUND

  • The named file does not exist in the filesystem.

AAFRESULT_NOT_READABLE

  • The named file cannot be read.

AAFRESULT_NOT_WRITEABLE

  • The named file cannot be written.

AAFRESULT_NOTAAFFILE

  • The named file is not a valid AAF file.

Parameters:
pFileName [in, string] Null-terminated string containing name of filesystem file to be opened for modification. Filename must be in a form that would be acceptable to StgOpenStorage() for this platform.
modeFlags [in] File open mode flags. May be any of the following ORed together. All other bits must be set to zero.
  • kAAFFileModeUnbuffered to indicate unbuffered mode. Default is buffered.
  • kAAFFileModeRevertable to indicate that Revert is possible on this file (for all changes except those to essence).
    Parameters:
    pIdent [in] Identification of the application which is modifying this file.
    ppFile [out] Pointer to buffer to receive pointer to new file.

STDAPI AAFFileOpenExistingRead  )  const
 

Creates an object associated with with an existing filesystem file that contains data which is only to be read.

Does the following:

  • Opens the existing named file in the filesystem for reading.
  • Associates an object with that filesystem file.
  • Places the object into the Open-read-only state.
  • This AAFFile object then can be used as the root of the containment tree representing all AAF objects contained within the file.

Succeeds if:

  • The pFileName argument is valid.
  • Only valid flags have been specified.
  • A valid combination of flags has been specified.
  • The named file exists in the filesystem.
  • The named filesystem file is readable.
  • The named file represents itself as a valid AAF file. Even if this succeeds, it is not guaranteed that the named file is in fact a valid AAF file.

This function 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

  • the pFileName pointer arg is NULL.

AAFRESULT_BAD_FLAGS

  • one or more illegal flags were specified.

AAFRESULT_BAD_FLAG_COMBINATION

  • illegal combination of otherwise valid flags was specified.

AAFRESULT_FILE_NOT_FOUND

  • The named file does not exist in the filesystem.

AAFRESULT_NOT_READABLE

  • The named file cannot be read.

AAFRESULT_NOT_AAF_FILE

  • The named file does not claim to be a valid AAF file.

Parameters:
pFileName [in, string] Null-terminated string containing name of filesystem file to be opened for reading. Filename must be in a form that would be acceptable to StgOpenStorage() for this platform.
modeFlags [in] File open mode flags. May be any of the following ORed together. All other bits must be set to zero.
  • kAAFFileModeUnbuffered - to indicate buffered mode. Default is buffered.
    Parameters:
    ppFile [out] Pointer to buffer to receive pointer to new file.

STDAPI AAFFileOpenNewModify  )  const
 

Creates an object associated with with a new filesystem file that contains data which is to be read and written.

Associates the given identification with it. Does the following:

  • Creates a new file in the filesystem with the given name.
  • Opens the filesystem file for reading and writing.
  • Associates this object with that filesystem file.
  • Places this object into the Open state.
  • This AAFFile object then can be used as the root of the containment tree representing all AAF objects contained within the file.

Succeeds if:

  • The pFileName argument is valid.
  • The pIdent argument is valid.
  • Only valid flags have been specified.
  • A valid combination of flags has been specified.
  • The named file does not exists in the filesystem.
  • There is sufficient space in the filesystem to create the file.

This function 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

  • either pFileName or pIdent pointer argument is NULL.

AAFRESULT_BAD_FLAGS

  • one or more illegal flags were specified.

AAFRESULT_BAD_FLAG_COMBINATION

  • illegal combination of otherwise valid flags was specified.

AAFRESULT_FILE_EXISTS

  • The named file already exists in the filesystem.

AAFRESULT_INSUFFICIENT_SPACE

  • There is insufficient space in the filesystem to create this file.

Parameters:
pFileName [in, string] Null-terminated string containing name of filesystem file to be opened for modification. Filename must be in a form that would be acceptable to StgOpenStorage() for this platform.
modeFlags [in] File open mode flags. May be any of the following ORed together. All other bits must be set to zero.
  • kAAFFileModeUnbuffered to indicate unbuffered mode. Default is buffered.
  • kAAFFileModeRevertable to indicate that Revert is possible on this file (for all changes except those to essence).
    Parameters:
    pIdent [in] Identification of the application which is creating this file.
    ppFile [out] Pointer to buffer to receive pointer to new file.

STDAPI AAFFileOpenNewModifyEx  )  const
 

Creates an object associated with with a new filesystem file that contains data which is to be read and written.

Associates the given identification with it. Does the following:

  • Creates a new file in the filesystem with the given name.
  • Opens the filesystem file for reading and writing.
  • Associates this object with that filesystem file.
  • Places this object into the Open state.
  • This AAFFile object then can be used as the root of the containment tree representing all AAF objects contained within the file.

Succeeds if:

  • The pFileName argument is valid.
  • The pFileKind argument is valid.
  • The pIdent argument is valid.
  • Only valid flags have been specified.
  • A valid combination of flags has been specified.
  • The named file does not exists in the filesystem.
  • There is sufficient space in the filesystem to create the file.

This function 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

  • either pFileName or pIdent pointer argument is NULL.

AAFRESULT_BAD_FLAGS

  • one or more illegal flags were specified.

AAFRESULT_BAD_FLAG_COMBINATION

  • illegal combination of otherwise valid flags was specified.

AAFRESULT_FILE_EXISTS

  • The named file already exists in the filesystem.

AAFRESULT_INSUFFICIENT_SPACE

  • There is insufficient space in the filesystem to create this file.

Parameters:
pFileName [in, string] Null-terminated string containing name of filesystem file to be opened for modification.
pFileKind [in] kind of file to be created
modeFlags [in] File open mode flags
pIdent [in] Identification of the application which is creating this file.
ppFile [out] Pointer to buffer to receive pointer to new file.

STDAPI AAFFileOpenTransient  ) 
 

Creates an object associated with with a transient file, meaning that it is not associated with any filesystem file but may still be used to contain AAF objects as if it was associated with a filesystem file.

Associates the given identification with this file.

Transient files are never considered Revertable.

Succeeds if:

  • This object has already been Initialize()d.
  • The pIdent argument is valid.
  • This object is currently closed.

This function 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_ALREADY_OPEN

  • This object is already open.

AAFRESULT_NULL_PARAM

  • the pIdent pointer argument is NULL.

Parameters:
pIdent [in] Identification which is to be associated with this file.
ppFile [out] Pointer to buffer to receive pointer to new file.

STDAPI AAFGetLibraryPathName  ) 
 

Get the pathname of the AAF library.

Writes the LibraryPathName, with a trailing null character, into the pLibraryPathName buffer. The buffer is allocated by the caller. The size of the buffer is given by bufSize.

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

If this method fails nothing will be written to pLibraryPathName.

Succeeds if:

  • The pLibraryPathName pointer is valid.
  • bufSize indicates that the buffer is large enough to hold LibraryPathName.

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

  • pLibraryPathName arg is NULL.

AAFRESULT_SMALLBUF

  • bufSize indicates that the allocated buffer is not large enough to hold LibraryPathName.

Parameters:
pLibraryPathName [out, string, size_is(bufSize)] buffer into which LibraryPathName is to be written
bufSize [in] size of *pLibraryPathName buffer in bytes

STDAPI AAFGetLibraryPathNameBufLen aafUInt32 *  pBufSize  ) 
 

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

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

STDAPI AAFGetLibraryVersion aafProductVersion_t *  pVersion  ) 
 

Return the version of the AAF library currently running on this machine, which implements these interfaces.

Succeeds if all of the following are true:

  • the pVersion pointer is valid.

If this method fails nothing is 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_NULL_PARAM

  • pVersion is null.

Parameters:
pVersion [out, retval] The library version

STDAPI AAFGetPluginManager IAAFPluginManager **  ppPluginManager  ) 
 

Returns an interface of the plugin manager, which is used to select plugins for exporting.

Parameters:
ppPluginManager [out] Pointer to the interface of the plugin manager.

STDAPI AAFLoad const char *  dllname  ) 
 

Attempts to load the given implementation of AAF into the processes address space.

Only one implementation of AAF can be active. Note: once AAFUnload has been called all subsequent access to AAF interfaces will fail

To use this function link to the stub library aaf.lib (or aafd.lib for the debugging version). If the client is statically linking to the AAF dll's export library then the function will always succeed.

Parameters:
dllname [in] Pointer to the name of AAF dll to load. If this pointer is NULL the function will attempt to load the default AAF dll.

STDAPI AAFRawStorageIsAAFFile  ) 
 

Does the storage contain an AAF file ?

Note that the function result is returned via the pRawStorageIsAAFFile argument. If this function succeeds it returns AAFRESULT_SUCCESS even if the storage is not an AAF file.

This function 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

  • at least one of the pointer arguments is NULL.

Parameters:
pRawStorage [in] storage containing the purported file
pAAFFileKind [out] Pointer to an AUID indicating the file kind
pRawStorageIsAAFFile [out,retval] Returns AAFTrue if the given storage contains an AAF file, returns AAFFalse otherwise.

STDAPI AAFUnload  ) 
 

Attempts to unload the current AAF dll loaded with a previous call to AAFLoad.


Generated on Thu Feb 17 09:34:12 2005 for AAF COM API by doxygen 1.4.1