From: Stuart C. <stu...@us...> - 2009-07-28 05:49:18
|
Update of /cvsroot/aaf/AAF/ref-impl/include/ref-api In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv11855/ref-impl/include/ref-api Modified Files: AAF.h AAFPrivate_i.c AAF_i.c Log Message: Remove SubDescriptor class, types and property and associated API from toolkit. Involved removing the SubDescriptors property from EssenceDescriptor, the SubDescriptor class and the SubDescriptor StrongReference and StrongReferenceVector types. The AAFEssenceDescriptor2 API was also removed since it's purpose was to provide an API for manipulating SubDescriptors. Index: AAF_i.c =================================================================== RCS file: /cvsroot/aaf/AAF/ref-impl/include/ref-api/AAF_i.c,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** AAF_i.c 1 Jun 2009 11:47:00 -0000 1.32 --- AAF_i.c 28 Jul 2009 05:49:08 -0000 1.33 *************** *** 306,312 **** - const IID IID_IAAFSubDescriptor = {0x3e44c183,0x02de,0x4a0c,{0xa7,0x49,0x5c,0x3a,0x76,0x9d,0xc8,0xf2}}; - - const IID IID_IAAFTIFFDescriptor = {0xe684d76c,0xb935,0x11d2,{0xbf,0x9d,0x00,0x10,0x4b,0xc9,0x15,0x6d}}; --- 306,309 ---- *************** *** 480,486 **** - const IID IID_IEnumAAFSubDescriptors = {0x5b2f57e7,0x7170,0x445d,{0xb3,0x8b,0x6f,0x02,0xdb,0x84,0xf4,0xd3}}; - - const IID IID_IEnumAAFTaggedValueDefs = {0x9d1bd790,0x16a8,0x488c,{0x87,0x43,0xf9,0xa6,0x0a,0x1c,0xba,0x95}}; --- 477,480 ---- *************** *** 528,534 **** - const IID IID_IAAFEssenceDescriptor2 = {0x3ec92568,0x730d,0x45d7,{0x80,0x5f,0xd8,0x62,0x9a,0xa1,0x09,0x10}}; - - const IID IID_IAAFEssenceMultiAccess = {0xD815E2B4,0x2425,0x11d3,{0x80,0xAD,0x00,0x60,0x08,0x14,0x3E,0x6F}}; --- 522,525 ---- Index: AAFPrivate_i.c =================================================================== RCS file: /cvsroot/aaf/AAF/ref-impl/include/ref-api/AAFPrivate_i.c,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** AAFPrivate_i.c 1 Jun 2009 11:47:00 -0000 1.19 --- AAFPrivate_i.c 28 Jul 2009 05:49:08 -0000 1.20 *************** *** 47,50 **** --- 47,51 ---- #endif + const IID IID_IAAFRoot = {0x7C3712C2,0x390D,0x11D2,{0x84,0x1B,0x00,0x60,0x08,0x32,0xAC,0xB8}}; Index: AAF.h =================================================================== RCS file: /cvsroot/aaf/AAF/ref-impl/include/ref-api/AAF.h,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** AAF.h 15 Jun 2009 10:08:11 -0000 1.62 --- AAF.h 28 Jul 2009 05:49:08 -0000 1.63 *************** *** 136,140 **** interface IAAFSourceReference; interface IAAFStaticMobSlot; - interface IAAFSubDescriptor; interface IAAFTIFFDescriptor; interface IAAFTaggedValue; --- 136,139 ---- *************** *** 194,198 **** interface IEnumAAFRIFFChunks; interface IEnumAAFSegments; - interface IEnumAAFSubDescriptors; interface IEnumAAFTaggedValueDefs; interface IEnumAAFTaggedValues; --- 193,196 ---- *************** *** 210,214 **** interface IAAFEssenceDataEx; interface IAAFEssenceData2; - interface IAAFEssenceDescriptor2; interface IAAFEssenceMultiAccess; interface IAAFEventMobSlot2; --- 208,211 ---- *************** *** 316,320 **** typedef interface IAAFSourceReference IAAFSourceReference; typedef interface IAAFStaticMobSlot IAAFStaticMobSlot; - typedef interface IAAFSubDescriptor IAAFSubDescriptor; typedef interface IAAFTIFFDescriptor IAAFTIFFDescriptor; typedef interface IAAFTaggedValue IAAFTaggedValue; --- 313,316 ---- *************** *** 374,378 **** typedef interface IEnumAAFRIFFChunks IEnumAAFRIFFChunks; typedef interface IEnumAAFSegments IEnumAAFSegments; - typedef interface IEnumAAFSubDescriptors IEnumAAFSubDescriptors; typedef interface IEnumAAFTaggedValueDefs IEnumAAFTaggedValueDefs; typedef interface IEnumAAFTaggedValues IEnumAAFTaggedValues; --- 370,373 ---- *************** *** 390,394 **** typedef interface IAAFEssenceDataEx IAAFEssenceDataEx; typedef interface IAAFEssenceData2 IAAFEssenceData2; - typedef interface IAAFEssenceDescriptor2 IAAFEssenceDescriptor2; typedef interface IAAFEssenceMultiAccess IAAFEssenceMultiAccess; typedef interface IAAFEventMobSlot2 IAAFEventMobSlot2; --- 385,388 ---- *************** *** 8601,8604 **** --- 8595,8599 ---- /* *** IAAFEssenceDescriptor methods *** */ + //*********************************************************** // *************** *** 8816,8830 **** IEnumAAFLocators ** ppEnum) PURE; - - - - - - - - - - - END_INTERFACE }; --- 8811,8814 ---- *************** *** 8832,8835 **** --- 8816,8820 ---- + // IAAFEssenceFormat *************** *** 26415,26455 **** - // IAAFSubDescriptor - - // ************************ - // - // Interface IAAFSubDescriptor - // - // ************************ - - - - - #ifndef __IAAFSubDescriptor_INTERFACE_DEFINED__ - #define __IAAFSubDescriptor_INTERFACE_DEFINED__ - - EXTERN_C const IID IID_IAAFSubDescriptor; - - #undef INTERFACE - #define INTERFACE IAAFSubDescriptor - - DECLARE_INTERFACE_(IAAFSubDescriptor, IUnknown) - { - BEGIN_INTERFACE - - /* *** IUnknown methods *** */ - STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppvObj) PURE; - STDMETHOD_(ULONG,AddRef) (THIS) PURE; - STDMETHOD_(ULONG,Release) (THIS) PURE; - - /* *** IAAFSubDescriptor methods *** */ - - - END_INTERFACE - }; - #endif // __IAAFSubDescriptor_INTERFACE_DEFINED__ - - - // IAAFTIFFDescriptor --- 26400,26403 ---- *************** *** 39351,39535 **** - // IEnumAAFSubDescriptors - - // ************************ - // - // Interface IEnumAAFSubDescriptors - // - // ************************ - - - - - - #ifndef __IEnumAAFSubDescriptors_INTERFACE_DEFINED__ - #define __IEnumAAFSubDescriptors_INTERFACE_DEFINED__ - - EXTERN_C const IID IID_IEnumAAFSubDescriptors; - - #undef INTERFACE - #define INTERFACE IEnumAAFSubDescriptors - - DECLARE_INTERFACE_(IEnumAAFSubDescriptors, IUnknown) - { - BEGIN_INTERFACE - - /* *** IUnknown methods *** */ - STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppvObj) PURE; - STDMETHOD_(ULONG,AddRef) (THIS) PURE; - STDMETHOD_(ULONG,Release) (THIS) PURE; - - /* *** IEnumAAFSubDescriptors methods *** */ - - //*********************************************************** - // - // NextOne() - // - /// Enumerates to the next element in the enumerators list. The - /// caller is responsible for properly releasing the returned pointer - /// when it is no longer needed. - /// - /// Succeeds if all of the following are true: - /// - the ppSubDescriptors pointer is valid. - /// - there are SubDescriptor objects remaining to be returned. - /// - /// If this method fails nothing is written to *ppSubDescriptors. - /// - /// 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 - /// - ppSubDescriptors arg is NULL. - /// - /// AAFRESULT_NO_MORE_OBJECTS - /// - no SubDescriptor objects remaining to be returned. - /// - /// @param ppSubDescriptors [out,retval] The Next SubDescriptor - /// - STDMETHOD(NextOne) (THIS_ - IAAFSubDescriptor ** ppSubDescriptors) PURE; - - - //*********************************************************** - // - // Next() - // - /// Enumerates the next count elements (AAFSubDescriptor pointers) in the - /// enumerator's list, returning them in the given array along with - /// the actual number of enumerated elements in pNumFetched. The caller - /// is responsible for properly releasing the returned pointers. - /// - /// Succeeds if all of the following are true: - /// - The ppSubDescriptors pointer is valid. - /// - The pNumFetched pointer is valid. If count is 1, pNumFetched - /// can be NULL. - /// - There are SubDescriptor objects remaining to be returned. - /// - /// If this method fails nothing is written to *ppSubDescriptors or - /// pNumFetched. - /// - /// 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 - /// - Either ppSubDescriptors or pNumFetched arg is NULL. - /// - /// @param count [in] number of SubDescriptors requested - /// @param ppSubDescriptors [out, size_is(count), length_is(*pNumFetched)] array to receive elements - /// @param pNumFetched [out,ref] number of actual SubDescriptor objects fetched into ppSubDescriptors array - /// - STDMETHOD(Next) (THIS_ - aafUInt32 count, - IAAFSubDescriptor ** ppSubDescriptors, - aafUInt32 * pNumFetched) PURE; - - - //*********************************************************** - // - // Skip() - // - /// Instructs the enumerator to skip the next count elements in the - /// enumeration so that the next call to Next will not return those - /// elements. - /// - /// Succeeds if all of the following are true: - /// - count is less than or equal to the number of remaining objects. - /// - /// 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_NO_MORE_OBJECTS - /// - count exceeded number of remaining objects. - /// - /// @param count [in] Number of elements to skip - /// - STDMETHOD(Skip) (THIS_ - aafUInt32 count) PURE; - - - //*********************************************************** - // - // Reset() - // - /// Instructs the enumerator to position itself at the beginning of - /// the list of elements. - /// - /// 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.) - STDMETHOD(Reset) (THIS) PURE; - - - //*********************************************************** - // - // Clone() - // - /// Creates another enumerator with the same state as the current - /// enumerator to iterate over the same list. This method makes it - /// possible to record a point in the enumeration sequence in order - /// to return to that point at a later time. - /// - /// Note: The caller must release this new enumerator separately from - /// the first enumerator. - /// - /// Succeeds if all of the following are true: - /// - the ppEnum 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 - /// - ppEnum arg is NULL. - /// - /// @param ppEnum [out,retval] new enumeration - /// - STDMETHOD(Clone) (THIS_ - IEnumAAFSubDescriptors ** ppEnum) PURE; - - END_INTERFACE - }; - #endif // __IEnumAAFSubDescriptors_INTERFACE_DEFINED__ - - - // IEnumAAFTaggedValueDefs --- 39299,39302 ---- *************** *** 45545,46034 **** - // IAAFEssenceDescriptor2 - - // ************************ - // - // Interface IAAFEssenceDescriptor2 - // - // ************************ - - - - - - #ifndef __IAAFEssenceDescriptor2_INTERFACE_DEFINED__ - #define __IAAFEssenceDescriptor2_INTERFACE_DEFINED__ - - EXTERN_C const IID IID_IAAFEssenceDescriptor2; - - #undef INTERFACE - #define INTERFACE IAAFEssenceDescriptor2 - - DECLARE_INTERFACE_(IAAFEssenceDescriptor2, IUnknown) - { - BEGIN_INTERFACE - - /* *** IUnknown methods *** */ - STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppvObj) PURE; - STDMETHOD_(ULONG,AddRef) (THIS) PURE; - STDMETHOD_(ULONG,Release) (THIS) PURE; - - /* *** IAAFEssenceDescriptor2 methods *** */ - - //*********************************************************** - // - // CountLocators() - // - /// Return the number of locators attached to this essence - /// descriptor. The number of locators may be zero if the essence is - /// in the current file. - /// - /// Succeeds if all of the following are true: - /// - the pCount pointer is valid. - /// - /// If this method fails nothing is written to *pCount. - /// - /// 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 - /// - pCount is null. - /// - /// @param pResult [out] Returns the number of locators - /// - STDMETHOD(CountLocators) (THIS_ - aafUInt32 * pResult) PURE; - - - //*********************************************************** - // - // AppendLocator() - // - /// Append another locator to this essence descriptor. Use this - /// function to add a locator to be scanned last when searching for - /// the essence (a secondary location for the essence). - /// - /// Succeeds if all of the following are true: - /// - the pLocator pointer is valid. - /// - /// If this method fails no state will 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_NULL_PARAM - /// - pLocator is null. - /// - /// @param pLocator [in] Locator to append - /// - STDMETHOD(AppendLocator) (THIS_ - IAAFLocator * pLocator) PURE; - - - //*********************************************************** - // - // PrependLocator() - // - /// Prepend another locator to this essence descriptor. Use this - /// function to add a locator to be scanned first when searching for - /// the essence (a new primary location for the essence). - /// - /// Succeeds if all of the following are true: - /// - the pLocator pointer is valid. - /// - /// If this method fails no state will 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_NULL_PARAM - /// - pLocator is null. - /// - /// @param pLocator [in] Locator to append - /// - STDMETHOD(PrependLocator) (THIS_ - IAAFLocator * pLocator) PURE; - - - //*********************************************************** - // - // InsertLocatorAt() - // - /// Inserts the given locator at the given index. Locators already - /// existing at the given and higher indices will be moved to the - /// next higher index to accommodate. - /// - /// Succeeds if all of the following are true: - /// - the pLocator pointer is valid. - /// - index is less than or equal to the value returned by - /// CountLocators(). - /// - /// If this method fails no state will 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_NULL_PARAM - /// - pLocator is null. - /// - /// AAFRESULT_BADINDEX - /// - index is greater than the value returned by - /// CountLocators(). - /// - /// @param index [in] index at which locator is to be inserted - /// @param pLocator [in] Locator to append - /// - STDMETHOD(InsertLocatorAt) (THIS_ - aafUInt32 index, - IAAFLocator * pLocator) PURE; - - - //*********************************************************** - // - // GetLocatorAt() - // - /// Retrieves the locator at the given index. - /// - /// Succeeds if all of the following are true: - /// - the pLocator pointer is valid. - /// - index is less than the value returned by CountLocators(). - /// - /// If this method fails no state will 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_NULL_PARAM - /// - pLocator is null. - /// - /// AAFRESULT_BADINDEX - /// - index is greater than or equal to the value returned by - /// CountLocators(). - /// - /// @param index [in] index of locator to retrieve - /// @param ppLocator [out, retval] returned locator - /// - STDMETHOD(GetLocatorAt) (THIS_ - aafUInt32 index, - IAAFLocator ** ppLocator) PURE; - - - //*********************************************************** - // - // RemoveLocatorAt() - // - /// Removes the locator at the given index. Locators already - /// existing at indices higher than the given index will be moved to - /// the next lower index to accommodate. - /// - /// Succeeds if all of the following are true: - /// - index is less than the value returned by CountLocators(). - /// - /// If this method fails no state will 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_BADINDEX - /// - index is greater than or equal to the value returned by - /// CountLocators(). - /// - /// @param index [in] index of locator to remove - /// - STDMETHOD(RemoveLocatorAt) (THIS_ - aafUInt32 index) PURE; - - - //*********************************************************** - // - // GetLocators() - // - /// Returns an enumerator to the locators. The number of locators - /// may be zero if the essence is in the current file. - /// - /// Succeeds if all of the following are true: - /// - the ppEnum pointer is valid. - /// - /// 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 - /// - succeeded. (This is the only code indicating success.) - /// - /// AAFRESULT_NULL_PARAM - /// - ppEnum is null. - /// - /// @param ppEnum [out] An enumerator to the locators on this essence descriptor - /// - STDMETHOD(GetLocators) (THIS_ - IEnumAAFLocators ** ppEnum) PURE; - - - //*********************************************************** - // - // CountSubDescriptors() - // - /// Return the number of SubDescriptors attached to this essence - /// descriptor. The number of SubDescriptors may be zero if the essence is - /// in the current file. - /// - /// Succeeds if all of the following are true: - /// - the pCount pointer is valid. - /// - /// If this method fails nothing is written to *pCount. - /// - /// 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 - /// - pCount is null. - /// - /// @param pResult [out] Returns the number of SubDescriptors - /// - STDMETHOD(CountSubDescriptors) (THIS_ - aafUInt32 * pResult) PURE; - - - //*********************************************************** - // - // AppendSubDescriptor() - // - /// Append another SubDescriptor to this essence descriptor. Use this - /// function to add a SubDescriptor to be scanned last when searching for - /// the essence (a secondary location for the essence). - /// - /// Succeeds if all of the following are true: - /// - the pSubDescriptor pointer is valid. - /// - the pSubDescriptor pointer indicates an object which is not already - /// owned by any object - /// - /// If this method fails no state will 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_NULL_PARAM - /// - pSubDescriptor is null. - /// - /// AAFRESULT_OBJECT_ALREADY_ATTACHED - /// - the object pointed to by pSubDescriptor is already owned by this or - /// another object - /// - /// @param pSubDescriptors [in] SubDescriptor to append - /// - STDMETHOD(AppendSubDescriptor) (THIS_ - IAAFSubDescriptor * pSubDescriptors) PURE; - - - //*********************************************************** - // - // PrependSubDescriptor() - // - /// Prepend another SubDescriptor to this essence descriptor. Use this - /// function to add a SubDescriptor to be scanned first when searching for - /// the essence (a new primary location for the essence). - /// - /// Succeeds if all of the following are true: - /// - the pSubDescriptor pointer is valid. - /// - the pSubDescriptor pointer indicates an object which is not already - /// owned by any object - /// - /// If this method fails no state will 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_NULL_PARAM - /// - pSubDescriptor is null. - /// - /// AAFRESULT_OBJECT_ALREADY_ATTACHED - /// - the object pointed to by pSubDescriptor is already owned by this or - /// another object - /// - /// @param pSubDescriptor [in] SubDescriptor to append - /// - STDMETHOD(PrependSubDescriptor) (THIS_ - IAAFSubDescriptor * pSubDescriptor) PURE; - - - //*********************************************************** - // - // InsertSubDescriptorAt() - // - /// Inserts the given SubDescriptor at the given index. SubDescriptors already - /// existing at the given and higher indices will be moved to the - /// next higher index to accommodate. - /// - /// Succeeds if all of the following are true: - /// - the pSubDescriptor pointer is valid. - /// - the pSubDescriptor pointer indicates an object which is not already - /// owned by any object - /// - index is less than or equal to the value returned by - /// CountSubDescriptors(). - /// - /// If this method fails no state will 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_NULL_PARAM - /// - pSubDescriptor is null. - /// - /// AAFRESULT_OBJECT_ALREADY_ATTACHED - /// - the object pointed to by pSubDescriptor is already owned by this or - /// another object - /// - /// AAFRESULT_BADINDEX - /// - index is greater than the value returned by - /// CountSubDescriptors(). - /// - /// @param index [in] index at which SubDescriptor is to be inserted - /// @param pSubDescriptor [in] SubDescriptor to append - /// - STDMETHOD(InsertSubDescriptorAt) (THIS_ - aafUInt32 index, - IAAFSubDescriptor * pSubDescriptor) PURE; - - - //*********************************************************** - // - // GetSubDescriptorAt() - // - /// Retrieves the SubDescriptor at the given index. - /// - /// Succeeds if all of the following are true: - /// - the pSubDescriptor pointer is valid. - /// - index is less than the value returned by CountSubDescriptors(). - /// - /// If this method fails no state will 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_NULL_PARAM - /// - pSubDescriptor is null. - /// - /// AAFRESULT_BADINDEX - /// - index is greater than or equal to the value returned by - /// CountSubDescriptors(). - /// - /// @param index [in] index of SubDescriptor to retrieve - /// @param ppSubDescriptor [out, retval] returned SubDescriptor - /// - STDMETHOD(GetSubDescriptorAt) (THIS_ - aafUInt32 index, - IAAFSubDescriptor ** ppSubDescriptor) PURE; - - - //*********************************************************** - // - // RemoveSubDescriptorAt() - // - /// Removes the SubDescriptor at the given index. SubDescriptors already - /// existing at indices higher than the given index will be moved to - /// the next lower index to accommodate. - /// - /// Succeeds if all of the following are true: - /// - index is less than the value returned by CountSubDescriptors(). - /// - /// If this method fails no state will 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_BADINDEX - /// - index is greater than or equal to the value returned by - /// CountSubDescriptors(). - /// - /// @param index [in] index of SubDescriptor to remove - /// - STDMETHOD(RemoveSubDescriptorAt) (THIS_ - aafUInt32 index) PURE; - - - //*********************************************************** - // - // GetSubDescriptors() - // - /// Returns an enumerator to the SubDescriptors. The number of SubDescriptors - /// may be zero if the essence is in the current file. - /// - /// Succeeds if all of the following are true: - /// - the ppEnum pointer is valid. - /// - /// 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 - /// - succeeded. (This is the only code indicating success.) - /// - /// AAFRESULT_NULL_PARAM - /// - ppEnum is null. - /// - /// @param ppEnum [out] An enumerator to the SubDescriptors on this essence descriptor - /// - STDMETHOD(GetSubDescriptors) (THIS_ - IEnumAAFSubDescriptors ** ppEnum) PURE; - - END_INTERFACE - }; - #endif // __IAAFEssenceDescriptor2_INTERFACE_DEFINED__ - - - // IAAFEssenceMultiAccess --- 45312,45315 ---- |