This interface is used with an object representing an AAF class definition. More...
Public Member Functions | |
HRESULT | RegisterSharedPlugins () |
Attempts to load and register all of the AAF plugin files found in shared installation directory. | |
HRESULT | RegisterPluginDirectory ([in] aafCharacter_constptr directoryName) |
Attempts to load and register all of the AAF plugin files found in the given directory. | |
HRESULT | RegisterPluginFile ([in] aafCharacter_constptr fileName) |
Attempts to load and register all of the AAF plugins found in the given file. | |
HRESULT | EnumLoadedPlugins ([in, ref] aafUID_constref categoryID,[out, retval] IEnumAAFLoadedPlugins **ppEnum) |
Returns an enumerator which enumerates over all of the loaded plugin choices through the *ppEnum argument. | |
HRESULT | CreatePluginDefinition ([in, ref] aafUID_constref pluginDefID,[in] IAAFDictionary *pDictionary,[out] IAAFDefObject **ppPluginDef) |
Given a plugin definition ID, find a plugin and manufactures a plugin descriptor of the correct class for this plugin, filling in the values, and returning the definition through the pPluginDesc argument. | |
HRESULT | CreateInstance ([in] REFCLSID rclsid,[in] IUnknown *pUnkOuter,[in] REFIID riid,[out, iid_is(riid)] void **ppPlugin) |
Create an object contained within one of the loaded plugin files. |
This interface is used with an object representing an AAF class definition.
The operations on a class definition include managing the position of the class within the class heirarchy, and accessing property definitions associated with the class.
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
HRESULT IAAFPluginManager::CreateInstance | ( | [in] REFCLSID | rclsid, |
[in] IUnknown * | pUnkOuter, | ||
[in] REFIID | riid, | ||
[out, iid_is(riid)] void ** | ppPlugin | ||
) |
Create an object contained within one of the loaded plugin files.
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
E_INVALIDARG
AAFRESULT_EXTENSION_NOT_FOUND
E_NOINTERFACE
rclsid | [in] The class id of the plugin object do you want to create |
pUnkOuter | [in] The controlling unknown of the new instance |
riid | [in] The IID of the initialial interface for the new plugin instance |
ppPlugin | [out,iid_is(riid)] The IID of the initialial interface for the new plugin instance |
HRESULT IAAFPluginManager::CreatePluginDefinition | ( | [in, ref] aafUID_constref | pluginDefID, |
[in] IAAFDictionary * | pDictionary, | ||
[out] IAAFDefObject ** | ppPluginDef | ||
) |
Given a plugin definition ID, find a plugin and manufactures a plugin descriptor of the correct class for this plugin, filling in the values, and returning the definition through the pPluginDesc argument.
The returned definition is AddRef()ed before it is returned. You must call QueryInterface on the result in order to find the correct interface, and are responsible for adding the definition to the correct place in the dictionary, as well as preventing duplicates. The resulting definiton has the plugin descriptor already attached.
Succeeds if all of the following are true:
If this method fails nothing will be written to *ppEnum.
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
pluginDefID | [in, ref] Which plugin definition do you want to create |
pDictionary | [in] The dictionary of the file where the descriptor is to be created |
ppPluginDef | [out] The interface of the returned definition |
HRESULT IAAFPluginManager::EnumLoadedPlugins | ( | [in, ref] aafUID_constref | categoryID, |
[out, retval] IEnumAAFLoadedPlugins ** | ppEnum | ||
) |
Returns an enumerator which enumerates over all of the loaded plugin choices through the *ppEnum argument.
The returned enumerator is AddRef()ed before it is returned.
Succeeds if all of the following are true:
If this method fails nothing will be written to *ppEnum.
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
categoryID | [in, ref] Which category ID do we want to enumerate |
ppEnum | [out,retval] Loaded Plugin Enumeration |
HRESULT IAAFPluginManager::RegisterPluginDirectory | ( | [in] aafCharacter_constptr | directoryName | ) |
Attempts to load and register all of the AAF plugin files found in the given directory.
directoryName | [in] Pointer to the name of directory to look for plugins. |
HRESULT IAAFPluginManager::RegisterPluginFile | ( | [in] aafCharacter_constptr | fileName | ) |
Attempts to load and register all of the AAF plugins found in the given file.
fileName | [in] Pointer to the name of plugin file to register. |
HRESULT IAAFPluginManager::RegisterSharedPlugins | ( | ) |
Attempts to load and register all of the AAF plugin files found in shared installation directory.