AAFA Developer Support

AAF.idl
Go to the documentation of this file.
00001 
00005 cpp_quote("//=---------------------------------------------------------------------=")
00006 cpp_quote("//")
00007 cpp_quote("// This file was GENERATED for the AAF SDK")
00008 cpp_quote("//")
00009 cpp_quote("// $Id: AAF.idl,v 1.64 2012/06/26 20:54:40 jptrainor Exp $ $Name:  $")
00010 cpp_quote("//")
00011 cpp_quote("// The contents of this file are subject to the AAF SDK Public Source")
00012 cpp_quote("// License Agreement Version 2.0 (the \"License\"); You may not use this")
00013 cpp_quote("// file except in compliance with the License.  The License is available")
00014 cpp_quote("// in AAFSDKPSL.TXT, or you may obtain a copy of the License from the")
00015 cpp_quote("// Advanced Media Workflow Association, Inc., or its successor.")
00016 cpp_quote("//")
00017 cpp_quote("// Software distributed under the License is distributed on an \"AS IS\"")
00018 cpp_quote("// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See")
00019 cpp_quote("// the License for the specific language governing rights and limitations")
00020 cpp_quote("// under the License.  Refer to Section 3.3 of the License for proper use")
00021 cpp_quote("// of this Exhibit.")
00022 cpp_quote("//")
00023 cpp_quote("// WARNING:  Please contact the Advanced Media Workflow Association,")
00024 cpp_quote("// Inc., for more information about any additional licenses to")
00025 cpp_quote("// intellectual property covering the AAF Standard that may be required")
00026 cpp_quote("// to create and distribute AAF compliant products.")
00027 cpp_quote("// (http://www.amwa.tv/policies).")
00028 cpp_quote("//")
00029 cpp_quote("// Copyright Notices:")
00030 cpp_quote("// The Original Code of this file is Copyright 1998-2012, licensor of the")
00031 cpp_quote("// Advanced Media Workflow Association.  All rights reserved.")
00032 cpp_quote("//")
00033 cpp_quote("// The Initial Developer of the Original Code of this file and the")
00034 cpp_quote("// licensor of the Advanced Media Workflow Association is")
00035 cpp_quote("// Avid Technology.")
00036 cpp_quote("// All rights reserved.")
00037 cpp_quote("//")
00038 cpp_quote("//=---------------------------------------------------------------------=")
00039 
00040 cpp_quote("//=--------------------------------------------------------------------------=")
00041 cpp_quote("// AAF Interfaces.")
00042 cpp_quote("//=--------------------------------------------------------------------------=")
00043 cpp_quote("//")
00044 
00045 #ifndef DO_NO_IMPORTS
00046 import "unknwn.idl";
00047 #endif
00048 
00049 #ifndef DO_NO_IMPORTS
00050 import "objidl.idl";
00051 #endif
00052 
00053 #ifndef DO_NO_IMPORTS
00054 import "AAFTypes.idl";
00055 #endif
00056 
00057 interface IAAFAES3PCMDescriptor;
00058 interface IAAFAIFCDescriptor;
00059 interface IAAFAuxiliaryDescriptor;
00060 interface IAAFBWFImportDescriptor;
00061 interface IAAFCDCIDescriptor;
00062 interface IAAFCachePageAllocator;
00063 interface IAAFClassDef;
00064 interface IAAFCodecDef;
00065 interface IAAFCommentMarker;
00066 interface IAAFComponent;
00067 interface IAAFCompositionMob;
00068 interface IAAFConstantValue;
00069 interface IAAFContainerDef;
00070 interface IAAFContentStorage;
00071 interface IAAFControlPoint;
00072 interface IAAFDataDef;
00073 interface IAAFDataEssenceDescriptor;
00074 interface IAAFDefObject;
00075 interface IAAFDescriptiveClip;
00076 interface IAAFDescriptiveFramework;
00077 interface IAAFDescriptiveMarker;
00078 interface IAAFDescriptiveObject;
00079 interface IAAFDictionary;
00080 interface IAAFDigitalImageDescriptor;
00081 interface IAAFEdgecode;
00082 interface IAAFEssenceAccess;
00083 interface IAAFEssenceData;
00084 interface IAAFEssenceDescriptor;
00085 interface IAAFEssenceFormat;
00086 interface IAAFEssenceGroup;
00087 interface IAAFEvent;
00088 interface IAAFEventMobSlot;
00089 interface IAAFFile;
00090 interface IAAFFileDescriptor;
00091 interface IAAFFileEncoding;
00092 interface IAAFFiller;
00093 interface IAAFFilmDescriptor;
00094 interface IAAFFindSourceInfo;
00095 interface IAAFGPITrigger;
00096 interface IAAFGetFileBits;
00097 interface IAAFHeader;
00098 interface IAAFIdentification;
00099 interface IAAFImportDescriptor;
00100 interface IAAFInterpolationDef;
00101 interface IAAFKLVData;
00102 interface IAAFKLVDataDefinition;
00103 interface IAAFLocator;
00104 interface IAAFMasterMob;
00105 interface IAAFMetaDefinition;
00106 interface IAAFMob;
00107 interface IAAFMobSlot;
00108 interface IAAFMPEGVideoDescriptor;
00109 interface IAAFMultipleDescriptor;
00110 interface IAAFNestedScope;
00111 interface IAAFNetworkLocator;
00112 interface IAAFObject;
00113 interface IAAFOperationDef;
00114 interface IAAFOperationGroup;
00115 interface IAAFPCMDescriptor;
00116 interface IAAFParameter;
00117 interface IAAFParameterDef;
00118 interface IAAFPhysicalDescriptor;
00119 interface IAAFPlainEssenceData;
00120 interface IAAFPlainStreamData;
00121 interface IAAFPluginDef;
00122 interface IAAFPluginManager;
00123 interface IAAFProperty;
00124 interface IAAFPropertyDef;
00125 interface IAAFPropertyValue;
00126 interface IAAFPulldown;
00127 interface IAAFRGBADescriptor;
00128 interface IAAFRandomFile;
00129 interface IAAFRandomRawStorage;
00130 interface IAAFRawStorage;
00131 interface IAAFRIFFChunk;
00132 interface IAAFRecordingDescriptor;
00133 interface IAAFScopeReference;
00134 interface IAAFSegment;
00135 interface IAAFSelector;
00136 interface IAAFSequence;
00137 interface IAAFSetFileBits;
00138 interface IAAFSoundDescriptor;
00139 interface IAAFSourceClip;
00140 interface IAAFSourceMob;
00141 interface IAAFSourceReference;
00142 interface IAAFStaticMobSlot;
00143 interface IAAFTIFFDescriptor;
00144 interface IAAFTaggedValue;
00145 interface IAAFTaggedValueDefinition;
00146 interface IAAFTapeDescriptor;
00147 interface IAAFTextLocator;
00148 interface IAAFTimecode;
00149 interface IAAFTimecodeStream;
00150 interface IAAFTimecodeStream12M;
00151 interface IAAFTimelineMobSlot;
00152 interface IAAFTransition;
00153 interface IAAFTypeDef;
00154 interface IAAFTypeDefCharacter;
00155 interface IAAFTypeDefEnum;
00156 interface IAAFTypeDefExtEnum;
00157 interface IAAFTypeDefFixedArray;
00158 interface IAAFTypeDefIndirect;
00159 interface IAAFTypeDefInt;
00160 interface IAAFTypeDefObjectRef;
00161 interface IAAFTypeDefOpaque;
00162 interface IAAFTypeDefRecord;
00163 interface IAAFTypeDefRename;
00164 interface IAAFTypeDefSet;
00165 interface IAAFTypeDefStream;
00166 interface IAAFTypeDefString;
00167 interface IAAFTypeDefStrongObjRef;
00168 interface IAAFTypeDefVariableArray;
00169 interface IAAFTypeDefWeakObjRef;
00170 interface IAAFVaryingValue;
00171 interface IAAFWAVEDescriptor;
00172 interface IEnumAAFClassDefs;
00173 interface IEnumAAFCodecDefs;
00174 interface IEnumAAFCodecFlavours;
00175 interface IEnumAAFComponents;
00176 interface IEnumAAFContainerDefs;
00177 interface IEnumAAFControlPoints;
00178 interface IEnumAAFDataDefs;
00179 interface IEnumAAFEssenceData;
00180 interface IEnumAAFFileDescriptors;
00181 interface IEnumAAFFileEncodings;
00182 interface IEnumAAFIdentifications;
00183 interface IEnumAAFInterpolationDefs;
00184 interface IEnumAAFKLVData;
00185 interface IEnumAAFKLVDataDefs;
00186 interface IEnumAAFLoadedPlugins;
00187 interface IEnumAAFLocators;
00188 interface IEnumAAFMobSlots;
00189 interface IEnumAAFMobs;
00190 interface IEnumAAFOperationDefs;
00191 interface IEnumAAFParameterDefs;
00192 interface IEnumAAFParameters;
00193 interface IEnumAAFPluginDefs;
00194 interface IEnumAAFPluginLocators;
00195 interface IEnumAAFProperties;
00196 interface IEnumAAFPropertyDefs;
00197 interface IEnumAAFPropertyValues;
00198 interface IEnumAAFRIFFChunks;
00199 interface IEnumAAFSegments;
00200 interface IEnumAAFTaggedValueDefs;
00201 interface IEnumAAFTaggedValues;
00202 interface IEnumAAFTypeDefs;
00203 interface IAAFAES3PCMDescriptor2;
00204 interface IAAFCDCIDescriptor2;
00205 interface IAAFComponent2;
00206 interface IAAFCompositionMob2;
00207 interface IAAFDataDef2;
00208 interface IAAFDataDef3;
00209 interface IAAFDiagnosticOutput;
00210 interface IAAFDictionary2;
00211 interface IAAFDigitalImageDescriptor2;
00212 interface IAAFEndian;
00213 interface IAAFEssenceDataEx;
00214 interface IAAFEssenceData2;
00215 interface IAAFEssenceMultiAccess;
00216 interface IAAFEventMobSlot2;
00217 interface IAAFFileDescriptor2;
00218 interface IAAFHeader2;
00219 interface IAAFKLVEssenceDataParameters;
00220 interface IAAFKLVStreamParameters;
00221 interface IAAFMasterMob2;
00222 interface IAAFMasterMob3;
00223 interface IAAFMasterMobEx;
00224 interface IAAFMob2;
00225 interface IAAFProgress;
00226 interface IAAFRGBADescriptor2;
00227 interface IAAFSearchSource;
00228 interface IAAFSourceReference2;
00229 interface IAAFStreamAccess;
00230 interface IAAFTimelineMobSlot2;
00231 interface IAAFTypeDefStreamEx;
00232 interface IAAFTypeDefStream3;
00233 interface IAAFTypeDefVariableArrayEx;
00234 
00235 
00236 // ************************
00237 //
00238 // Interface IAAFAES3PCMDescriptor
00239 //
00240 // ************************
00256 
00257 
00267 [
00268     object,
00269     uuid(2EBFFDE0-5997-414D-808B-6BAA4A74F40F),
00270     helpstring("IAAFAES3PCMDescriptor Interface"),
00271     pointer_default(unique)
00272 ]
00273 interface IAAFAES3PCMDescriptor : IUnknown
00274 {
00275 
00276   //***********************************************************
00277   //
00278   // Initialize()
00279   //
00297   HRESULT Initialize ();
00298 
00299 
00300 
00301 
00302 
00303 
00304 
00305 
00306 
00307 
00308 
00309 
00310 
00311 
00312 
00313 
00314 
00315 }
00316 
00317 
00318 // ************************
00319 //
00320 // Interface IAAFAIFCDescriptor
00321 //
00322 // ************************
00342 [
00343     object,
00344     uuid(e684d774-b935-11d2-bf9d-00104bc9156d),
00345     helpstring("IAAFAIFCDescriptor Interface"),
00346     pointer_default(unique)
00347 ]
00348 interface IAAFAIFCDescriptor : IUnknown
00349 {
00350 
00351   //***********************************************************
00352   //
00353   // Initialize()
00354   //
00373   HRESULT Initialize ();
00374 
00375 
00376   //***********************************************************
00377   //
00378   // GetSummary()
00379   //
00403   HRESULT GetSummary (
00404     [in] aafUInt32  size,
00405     [out, size_is(size)] aafDataValue_t  pSummary);
00406 
00407   //***********************************************************
00408   //
00409   // GetSummaryBufferSize()
00410   //
00430   HRESULT GetSummaryBufferSize (
00431     [out] aafUInt32 *  pSize);
00432 
00433   //***********************************************************
00434   //
00435   // SetSummary()
00436   //
00457   HRESULT SetSummary (
00458     [in] aafUInt32  size,
00459     [in, size_is(size)] aafDataValue_t  pSummary);
00460 
00461 
00462 }
00463 
00464 
00465 
00466 // ************************
00467 //
00468 // Interface IAAFAuxiliaryDescriptor
00469 //
00470 // ************************
00471 
00489 [
00490     object,
00491     uuid(197a9cb2-48de-40a3-b965-59531d3fcf23),
00492     helpstring("IAAFAuxiliaryDescriptor Interface"),
00493     pointer_default(unique)
00494 ]
00495 
00496 interface IAAFAuxiliaryDescriptor : IUnknown
00497 {
00498 
00499 
00500   //***********************************************************
00501   //
00502   // Initialize()
00503   //
00516   HRESULT Initialize ();
00517 
00518   //***********************************************************
00519   //
00520   // SetMimeType()
00521   //
00550   HRESULT SetMimeType (
00551     [in, string] aafCharacter_constptr  pMimeType);
00552 
00553 
00554   //***********************************************************
00555   //
00556   // GetMimeType()
00557   //
00595   HRESULT GetMimeType (
00596     [out, string, size_is(bufSize)] aafCharacter *  pMimeType,
00597     [in] aafUInt32  bufSize);
00598 
00599 
00600   //***********************************************************
00601   //
00602   // GetMimeTypeBufLen()
00603   //
00621   HRESULT GetMimeTypeBufLen (
00622     [out] aafUInt32 *  pBufSize);
00623 
00624   //***********************************************************
00625   //
00626   // SetCharSet()
00627   //
00656   HRESULT SetCharSet (
00657     [in, string] aafCharacter_constptr  pCharSet);
00658 
00659 
00660   //***********************************************************
00661   //
00662   // GetCharSet()
00663   //
00701   HRESULT GetCharSet (
00702     [out, string, size_is(bufSize)] aafCharacter *  pCharSet,
00703     [in] aafUInt32  bufSize);
00704 
00705 
00706   //***********************************************************
00707   //
00708   // GetCharSetBufLen()
00709   //
00727   HRESULT GetCharSetBufLen (
00728     [out] aafUInt32 *  pBufSize);
00729 
00730 }
00731 
00732 
00733 
00734 // ************************
00735 //
00736 // Interface IAAFBWFImportDescriptor
00737 //
00738 // ************************
00758 [
00759     object,
00760     uuid(480b4328-da10-44d4-bb50-1bafbfbaf86a),
00761     helpstring("IAAFBWFImportDescriptor Interface"),
00762     pointer_default(unique)
00763 ]
00764 
00765 interface IAAFBWFImportDescriptor : IUnknown
00766 {
00767 
00768   //***********************************************************
00769   //
00770   // Initialize()
00771   //
00790   HRESULT Initialize ();
00791 
00792 
00793   //***********************************************************
00794   //
00795   // SetFileSecurityReport()
00796   //
00809   HRESULT SetFileSecurityReport (
00810     [in] aafUInt32  fileSecurityReport);
00811 
00812 
00813   //***********************************************************
00814   //
00815   // GetFileSecurityReport()
00816   //
00838   HRESULT GetFileSecurityReport (
00839     [out] aafUInt32 *  pFileSecurityReport);
00840 
00841 
00842   //***********************************************************
00843   //
00844   // SetFileSecurityWave()
00845   //
00858   HRESULT SetFileSecurityWave (
00859     [in] aafUInt32  fileSecurityWave);
00860 
00861 
00862   //***********************************************************
00863   //
00864   // GetFileSecurityWave()
00865   //
00887   HRESULT GetFileSecurityWave (
00888     [out] aafUInt32 *  pFileSecurityWave);
00889 
00890 
00891   //***********************************************************
00892   //
00893   // CountUnknownBWFChunks()
00894   //
00914   HRESULT CountUnknownBWFChunks (
00915     [out] aafUInt32 *  pNumData);
00916 
00917   //***********************************************************
00918   //
00919   // AppendUnknownBWFChunk()
00920   //
00947   HRESULT AppendUnknownBWFChunk (
00948     [in] IAAFRIFFChunk * pData);
00949   
00950 
00951   //***********************************************************
00952   //
00953   // PrependUnknownBWFChunk()
00954   //
00981   HRESULT PrependUnknownBWFChunk (
00982     [in] IAAFRIFFChunk * pData);
00983 
00984 
00985 
00986   //***********************************************************
00987   //
00988   // InsertUnknownBWFChunkAt()
00989   //
01025   HRESULT InsertUnknownBWFChunkAt (
01026     [in] aafUInt32  index,
01027     [in] IAAFRIFFChunk * pData);
01028 
01029 
01030   //***********************************************************
01031   //
01032   // GetUnknownBWFChunkAt()
01033   //
01060   HRESULT GetUnknownBWFChunkAt (
01061     [in] aafUInt32  index,
01062     [out, retval] IAAFRIFFChunk ** ppData);
01063 
01064 
01065   //***********************************************************
01066   //
01067   // RemoveUnknownBWFChunkAt()
01068   //
01092   HRESULT RemoveUnknownBWFChunkAt (
01093     [in] aafUInt32  index);
01094 
01095 
01096   //***********************************************************
01097   //
01098   // GetUnknownBWFChunks()
01099   //
01121   HRESULT GetUnknownBWFChunks (
01122     [out] IEnumAAFRIFFChunks ** ppEnum);
01123 
01124 
01125   //***********************************************************
01126   //
01127   // SetCodingHistory()
01128   //
01157   HRESULT SetCodingHistory (
01158     [in, string] aafCharacter_constptr  pCodingHistory);
01159 
01160 
01161   //***********************************************************
01162   //
01163   // GetCodingHistory()
01164   //
01202   HRESULT GetCodingHistory (
01203     [out, string, size_is(bufSize)] aafCharacter *  pCodingHistory,
01204     [in] aafUInt32  bufSize);
01205 
01206 
01207   //***********************************************************
01208   //
01209   // GetCodingHistoryBufLen()
01210   //
01228   HRESULT GetCodingHistoryBufLen (
01229     [out] aafUInt32 *  pBufSize);
01230      
01231   //***********************************************************
01232   //
01233   // SetBasicData()
01234   //
01263   HRESULT SetBasicData (
01264     [in, string] aafCharacter_constptr  pBasicData);
01265 
01266 
01267   //***********************************************************
01268   //
01269   // GetBasicData()
01270   //
01308   HRESULT GetBasicData (
01309     [out, string, size_is(bufSize)] aafCharacter *  pBasicData,
01310     [in] aafUInt32  bufSize);
01311 
01312 
01313   //***********************************************************
01314   //
01315   // GetBasicDataBufLen()
01316   //
01334   HRESULT GetBasicDataBufLen (
01335     [out] aafUInt32 *  pBufSize);
01336 
01337   //***********************************************************
01338   //
01339   // SetStartOfModulation()
01340   //
01369   HRESULT SetStartOfModulation (
01370     [in, string] aafCharacter_constptr  pStartOfModulation);
01371 
01372 
01373   //***********************************************************
01374   //
01375   // GetStartOfModulation()
01376   //
01414   HRESULT GetStartOfModulation (
01415     [out, string, size_is(bufSize)] aafCharacter *  pStartOfModulation,
01416     [in] aafUInt32  bufSize);
01417 
01418 
01419   //***********************************************************
01420   //
01421   // GetStartOfModulationBufLen()
01422   //
01440   HRESULT GetStartOfModulationBufLen (
01441     [out] aafUInt32 *  pBufSize);
01442      
01443   //***********************************************************
01444   //
01445   // SetQualityEvent()
01446   //
01475   HRESULT SetQualityEvent (
01476     [in, string] aafCharacter_constptr  pQualityEvent);
01477 
01478 
01479   //***********************************************************
01480   //
01481   // GetQualityEvent()
01482   //
01520   HRESULT GetQualityEvent (
01521     [out, string, size_is(bufSize)] aafCharacter *  pQualityEvent,
01522     [in] aafUInt32  bufSize);
01523 
01524 
01525   //***********************************************************
01526   //
01527   // GetQualityEventBufLen()
01528   //
01546   HRESULT GetQualityEventBufLen (
01547     [out] aafUInt32 *  pBufSize);
01548 
01549   //***********************************************************
01550   //
01551   // SetEndOfModulation()
01552   //
01581   HRESULT SetEndOfModulation (
01582     [in, string] aafCharacter_constptr  pEndOfModulation);
01583 
01584 
01585   //***********************************************************
01586   //
01587   // GetEndOfModulation()
01588   //
01626   HRESULT GetEndOfModulation (
01627     [out, string, size_is(bufSize)] aafCharacter *  pEndOfModulation,
01628     [in] aafUInt32  bufSize);
01629 
01630 
01631   //***********************************************************
01632   //
01633   // GetEndOfModulationBufLen()
01634   //
01652   HRESULT GetEndOfModulationBufLen (
01653     [out] aafUInt32 *  pBufSize);
01654      
01655   //***********************************************************
01656   //
01657   // SetQualityParameter()
01658   //
01687   HRESULT SetQualityParameter (
01688     [in, string] aafCharacter_constptr  pQualityParameter);
01689 
01690 
01691   //***********************************************************
01692   //
01693   // GetQualityParameter()
01694   //
01732   HRESULT GetQualityParameter (
01733     [out, string, size_is(bufSize)] aafCharacter *  pQualityParameter,
01734     [in] aafUInt32  bufSize);
01735 
01736 
01737   //***********************************************************
01738   //
01739   // GetQualityParameterBufLen()
01740   //
01758   HRESULT GetQualityParameterBufLen (
01759     [out] aafUInt32 *  pBufSize);
01760      
01761   //***********************************************************
01762   //
01763   // SetOperatorComment()
01764   //
01793   HRESULT SetOperatorComment (
01794     [in, string] aafCharacter_constptr  pOperatorComment);
01795 
01796 
01797   //***********************************************************
01798   //
01799   // GetOperatorComment()
01800   //
01838   HRESULT GetOperatorComment (
01839     [out, string, size_is(bufSize)] aafCharacter *  pOperatorComment,
01840     [in] aafUInt32  bufSize);
01841 
01842 
01843   //***********************************************************
01844   //
01845   // GetOperatorCommentBufLen()
01846   //
01864   HRESULT GetOperatorCommentBufLen (
01865     [out] aafUInt32 *  pBufSize);
01866      
01867   //***********************************************************
01868   //
01869   // SetCueSheet()
01870   //
01899   HRESULT SetCueSheet (
01900     [in, string] aafCharacter_constptr  pCueSheet);
01901 
01902 
01903   //***********************************************************
01904   //
01905   // GetCueSheet()
01906   //
01944   HRESULT GetCueSheet (
01945     [out, string, size_is(bufSize)] aafCharacter *  pCueSheet,
01946     [in] aafUInt32  bufSize);
01947 
01948 
01949   //***********************************************************
01950   //
01951   // GetCueSheetBufLen()
01952   //
01970   HRESULT GetCueSheetBufLen (
01971     [out] aafUInt32 *  pBufSize);
01972 
01973 }
01974 
01975 
01976 
01977 // ************************
01978 //
01979 // Interface IAAFCDCIDescriptor
01980 //
01981 // ************************
01998 
01999 
02009 [
02010     object,
02011     uuid(44861703-8AEA-11d2-813C-006097310172),
02012     helpstring("IAAFCDCIDescriptor Interface"),
02013     pointer_default(unique)
02014 ]
02015 
02016 interface IAAFCDCIDescriptor : IUnknown
02017 {
02018 
02019   //***********************************************************
02020   //
02021   // Initialize()
02022   //
02040   HRESULT Initialize ();
02041 
02042 
02043   //***********************************************************
02044   //
02045   // SetComponentWidth()
02046   //
02069   HRESULT SetComponentWidth (
02070     [in] aafInt32  ComponentWidth);
02071 
02072 
02073   //***********************************************************
02074   //
02075   // GetComponentWidth()
02076   //
02104   HRESULT GetComponentWidth (
02105     [out] aafInt32 *  pComponentWidth);
02106 
02107 
02108   //***********************************************************
02109   //
02110   // SetHorizontalSubsampling()
02111   //
02132   HRESULT SetHorizontalSubsampling (
02133     [in] aafUInt32  HorizontalSubsampling);
02134 
02135 
02136   //***********************************************************
02137   //
02138   // GetHorizontalSubsampling()
02139   //
02166   HRESULT GetHorizontalSubsampling (
02167     [out] aafUInt32 *  pHorizontalSubsampling);
02168 
02169 
02170   //***********************************************************
02171   //
02172   // SetVerticalSubsampling()
02173   //
02194   HRESULT SetVerticalSubsampling (
02195     [in] aafUInt32  VerticalSubsampling);
02196 
02197 
02198   //***********************************************************
02199   //
02200   // GetVerticalSubsampling()
02201   //
02228   HRESULT GetVerticalSubsampling (
02229     [out] aafUInt32 *  pVerticalSubsampling);
02230 
02231 
02232   //***********************************************************
02233   //
02234   // SetColorSiting()
02235   //
02274   HRESULT SetColorSiting (
02275     [in] aafColorSiting_t  ColorSiting);
02276 
02277 
02278   //***********************************************************
02279   //
02280   // GetColorSiting()
02281   //
02324   HRESULT GetColorSiting (
02325     [out] aafColorSiting_t *  pColorSiting);
02326 
02327 
02328   //***********************************************************
02329   //
02330   // SetBlackReferenceLevel()
02331   //
02358   HRESULT SetBlackReferenceLevel (
02359     [in] aafUInt32  BlackReferenceLevel);
02360 
02361 
02362   //***********************************************************
02363   //
02364   // GetBlackReferenceLevel()
02365   //
02395   HRESULT GetBlackReferenceLevel (
02396     [out] aafUInt32 *  pBlackReferenceLevel);
02397 
02398 
02399   //***********************************************************
02400   //
02401   // SetWhiteReferenceLevel()
02402   //
02427   HRESULT SetWhiteReferenceLevel (
02428     [in] aafUInt32  WhiteReferenceLevel);
02429 
02430 
02431   //***********************************************************
02432   //
02433   // GetWhiteReferenceLevel()
02434   //
02461   HRESULT GetWhiteReferenceLevel (
02462     [out] aafUInt32 *  pWhiteReferenceLevel);
02463 
02464 
02465   //***********************************************************
02466   //
02467   // SetColorRange()
02468   //
02498   HRESULT SetColorRange (
02499     [in] aafUInt32  ColorRange);
02500 
02501 
02502   //***********************************************************
02503   //
02504   // GetColorRange()
02505   //
02535   HRESULT GetColorRange (
02536     [out] aafUInt32 *  pColorRange);
02537 
02538 
02539   //***********************************************************
02540   //
02541   // SetPaddingBits()
02542   //
02561   HRESULT SetPaddingBits (
02562     [in] aafInt16  PaddingBits);
02563 
02564 
02565   //***********************************************************
02566   //
02567   // GetPaddingBits()
02568   //
02591   HRESULT GetPaddingBits (
02592     [out] aafInt16 *  pPaddingBits);
02593 
02594 
02595 
02596 
02597 
02598 
02599 }
02600 
02601 
02602 // ************************
02603 //
02604 // Interface IAAFCachePageAllocator
02605 //
02606 // ************************
02649 
02650 
02651 [
02652     object,
02653     uuid(23630652-56E9-4A17-AC31-796FE6E26E80),
02654     helpstring("IAAFCachePageAllocator Interface"),
02655     pointer_default(unique)
02656 ]
02657 interface IAAFCachePageAllocator : IUnknown
02658 {
02659 
02660   //***********************************************************
02661   //
02662   // Initialize()
02663   //
02669   HRESULT Initialize (
02670     [in] aafUInt32  pageCount,
02671     [in] aafUInt32  pageSize);
02672 
02673   //***********************************************************
02674   //
02675   // Allocate()
02676   //
02681   HRESULT Allocate (
02682     [out] aafMemPtr_t *  pPage);
02683 
02684   //***********************************************************
02685   //
02686   // Deallocate()
02687   //
02692   HRESULT Deallocate (
02693     [in] aafMemPtr_t  page);
02694 
02695 }
02696 
02697 
02698 
02699 // ************************
02700 //
02701 // Interface IAAFClassDef
02702 //
02703 // ************************
02720 [
02721     object,
02722     uuid(dfbd6525-1d81-11d2-bf96-006097116212),
02723     helpstring("IAAFClassDef Interface"),
02724     pointer_default(unique)
02725 ]
02726 interface IAAFClassDef : IUnknown
02727 {
02728 
02729   //***********************************************************
02730   //
02731   // Initialize()
02732   //
02758   HRESULT Initialize (
02759     [in, ref] aafUID_constref  classID,
02760     [in] IAAFClassDef * pParentClass,
02761     [in, string] aafCharacter_constptr  pClassName,
02762     [in] aafBoolean_t  isConcrete);
02763 
02764 
02765   //***********************************************************
02766   //
02767   // GetPropertyDefs()
02768   //
02787   HRESULT GetPropertyDefs (
02788     [out, retval] IEnumAAFPropertyDefs ** ppEnum);
02789 
02790 
02791   //***********************************************************
02792   //
02793   // CountPropertyDefs()
02794   //
02812   HRESULT CountPropertyDefs (
02813     [out] aafUInt32 *  pCount);
02814 
02815 
02816   //***********************************************************
02817   //
02818   // RegisterNewPropertyDef()
02819   //
02867   HRESULT RegisterNewPropertyDef (
02868     [in, ref] aafUID_constref  id,
02869     [in, string] aafCharacter_constptr  pName,
02870     [in] IAAFTypeDef * pTypeDef,
02871     [in] aafBoolean_t  isOptional,
02872     [in] aafBoolean_t  isUniqueIdentifier,
02873     [out] IAAFPropertyDef ** ppPropDef);
02874 
02875 
02876   //***********************************************************
02877   //
02878   // RegisterOptionalPropertyDef()
02879   //
02916   HRESULT RegisterOptionalPropertyDef (
02917     [in, ref] aafUID_constref  id,
02918     [in, string] aafCharacter_constptr  pName,
02919     [in] IAAFTypeDef * pTypeDef,
02920     [out] IAAFPropertyDef ** ppPropDef);
02921 
02922 
02923   //***********************************************************
02924   //
02925   // LookupPropertyDef()
02926   //
02953   HRESULT LookupPropertyDef (
02954     [in, ref] aafUID_constref  propID,
02955     [out] IAAFPropertyDef ** ppPropDef);
02956 
02957 
02958   //***********************************************************
02959   //
02960   // GetName()
02961   //
03002   HRESULT GetName (
03003     [out, string, size_is(bufSize)] aafCharacter *  pName,
03004     [in] aafUInt32  bufSize);
03005 
03006 
03007   //***********************************************************
03008   //
03009   // GetNameBufLen()
03010   //
03028   HRESULT GetNameBufLen (
03029     [out] aafUInt32 *  pBufSize);
03030 
03031 
03032   //***********************************************************
03033   //
03034   // GetParent()
03035   //
03055   HRESULT GetParent (
03056     [out, retval] IAAFClassDef ** ppClassDef);
03057 
03058 
03059   //***********************************************************
03060   //
03061   // IsConcrete()
03062   //
03081   HRESULT IsConcrete (
03082     [out, retval] aafBoolean_t*  pResult);
03083 
03084 
03085   //***********************************************************
03086   //
03087   // IsRoot()
03088   //
03107   HRESULT IsRoot (
03108     [out, retval] aafBoolean_t*  isRoot);
03109 
03110 
03111   //***********************************************************
03112   //
03113   // IsUniquelyIdentified()
03114   //
03132   HRESULT IsUniquelyIdentified (
03133     [out, retval] aafBoolean_t*  pIsUniquelyIdentified);
03134 
03135 
03136   //***********************************************************
03137   //
03138   // GetUniqueIdentifier()
03139   //
03162   HRESULT GetUniqueIdentifier (
03163     [out, retval] IAAFPropertyDef ** ppUniqueIdentifier);
03164 
03165 
03166   //***********************************************************
03167   //
03168   // CreateInstance()
03169   //
03190   HRESULT CreateInstance(
03191     [in, ref] REFIID riid,
03192     [out, iid_is(riid)] IUnknown ** ppvObject);
03193 
03194 }
03195 
03196 
03197 
03198 // ************************
03199 //
03200 // Interface IAAFCodecDef
03201 //
03202 // ************************
03220 [
03221     object,
03222     uuid(AD1BB856-DBB2-11d2-809C-006008143E6F),
03223     helpstring("IAAFCodecDef Interface"),
03224     pointer_default(unique)
03225 ]
03226 interface IAAFCodecDef : IUnknown
03227 {
03228 
03229   //***********************************************************
03230   //
03231   // Initialize()
03232   //
03239   HRESULT Initialize (
03240     [in, ref] aafUID_constref  id,
03241     [in, string] aafCharacter_constptr  pName,
03242     [in, string] aafCharacter_constptr  pDescription);
03243 
03244 
03245   //***********************************************************
03246   //
03247   // IsEssenceKindSupported()
03248   //
03271   HRESULT IsEssenceKindSupported (
03272     [in] IAAFDataDef * pEssenceKind,
03273     [out,retval] aafBoolean_t*  pIsSupported);
03274 
03275  
03276   //***********************************************************
03277   //
03278   // AddEssenceKind()
03279   //
03300   HRESULT AddEssenceKind (
03301     [in] IAAFDataDef * pEssenceKind);
03302 
03303 
03304   //***********************************************************
03305   //
03306   // RemoveEssenceKind()
03307   //
03328   HRESULT RemoveEssenceKind (
03329     [in] IAAFDataDef * pEssenceKind);
03330 
03331 
03332   //***********************************************************
03333   //
03334   // CountEssenceKinds()
03335   //
03352   HRESULT CountEssenceKinds (
03353     [out, retval] aafUInt32 *  pResult);
03354 
03355 
03356   //***********************************************************
03357   //
03358   // GetEssenceKinds()
03359   //
03389   HRESULT GetEssenceKinds (
03390     [out, retval] IEnumAAFDataDefs ** ppEnum);
03391 
03392 
03393   //***********************************************************
03394   //
03395   // AreThereFlavours()
03396   //
03422   HRESULT AreThereFlavours (
03423     [out,retval] aafBoolean_t *  pResult);
03424 
03425 
03426   //***********************************************************
03427   //
03428   // GetFileDescriptorClass()
03429   //
03456   HRESULT GetFileDescriptorClass (
03457     [out] IAAFClassDef ** ppClass);
03458 
03459 
03460   //***********************************************************
03461   //
03462   // SetFileDescriptorClass()
03463   //
03485   HRESULT SetFileDescriptorClass (
03486     [in] IAAFClassDef * pClass);
03487 
03488 
03489   //***********************************************************
03490   //
03491   // EnumCodecFlavours()
03492   //
03520   HRESULT EnumCodecFlavours (
03521     [out,retval] IEnumAAFCodecFlavours ** ppEnum);
03522   
03523 }
03524 
03525 
03526 
03527 // ************************
03528 //
03529 // Interface IAAFCommentMarker
03530 //
03531 // ************************
03532 
03562 [
03563     object,
03564     uuid(e684d78a-b935-11d2-bf9d-00104bc9156d),
03565     helpstring("IAAFCommentMarker Interface"),
03566     pointer_default(unique)
03567 ]
03568 interface IAAFCommentMarker : IUnknown
03569 {
03570 
03571 
03572   //***********************************************************
03573   //
03574   // GetAnnotation()
03575   //
03596   HRESULT GetAnnotation (
03597     [out,retval] IAAFSourceReference ** ppResult);
03598 
03599   //***********************************************************
03600   //
03601   // SetAnnotation()
03602   //
03616   HRESULT SetAnnotation (
03617     [in] IAAFSourceReference * pAnnotation);
03618 
03619 }
03620 
03621 
03622 
03623 // ************************
03624 //
03625 // Interface IAAFComponent
03626 //
03627 // ************************
03657 [
03658     object,
03659     uuid(38e6f8a1-2a2c-11d2-8411-00600832acb8),
03660     helpstring("IAAFComponent Interface"),
03661     pointer_default(unique)
03662 ]
03663 interface IAAFComponent : IUnknown
03664 {
03665   //***********************************************************
03666   //
03667   // SetLength()
03668   //
03692   HRESULT SetLength (
03693     [in] aafLength_constref  length);
03694 
03695 
03696   //***********************************************************
03697   //
03698   // GetLength()
03699   //
03726   HRESULT GetLength (
03727     [retval][out] aafLength_t *  pLength);
03728         
03729 
03730   //***********************************************************
03731   //
03732   // SetDataDef()
03733   //
03751   HRESULT SetDataDef (
03752     [in] IAAFDataDef * pDataDef);
03753 
03754 
03755   //***********************************************************
03756   //
03757   // GetDataDef()
03758   //
03778   HRESULT GetDataDef (
03779     [out, retval] IAAFDataDef ** ppDatadef);
03780 
03781   //***********************************************************
03782   //
03783   // AppendKLVData()
03784   //
03805   HRESULT AppendKLVData (
03806     [in] IAAFKLVData * pData);
03807 
03808 
03809   //***********************************************************
03810   //
03811   // CountKLVData()
03812   //
03832   HRESULT CountKLVData (
03833     [out] aafUInt32 *  pNumData);
03834 
03835 
03836   //***********************************************************
03837   //
03838   // GetKLVData()
03839   //
03861   HRESULT GetKLVData (
03862     [out] IEnumAAFKLVData ** ppEnum);
03863 
03864 
03865   //***********************************************************
03866   //
03867   // RemoveKLVData()
03868   //
03892   HRESULT RemoveKLVData (
03893     [in] IAAFKLVData * pData);
03894 
03895 
03896 
03897 
03898 
03899 
03900 
03901 
03902 
03903 
03904 
03905 }
03906 
03907 
03908 
03909 // ************************
03910 //
03911 // Interface IAAFCompositionMob
03912 //
03913 // ************************
03930 
03931 
03938 [
03939     object,
03940     uuid(91920d63-2a2e-11D2-bfA3-006097116212),
03941     helpstring("IAAFCompositionMob Interface"),
03942     pointer_default(unique)
03943 ]
03944 interface IAAFCompositionMob : IUnknown
03945 {
03946   //***********************************************************
03947   //
03948   // Initialize()
03949   //
03971   HRESULT Initialize (
03972     [in, string] aafCharacter_constptr  pName);
03973 
03974 
03975   //***********************************************************
03976   //
03977   // GetDefaultFade()
03978   //
04003   HRESULT GetDefaultFade (
04004     [out] aafDefaultFade_t *  pResult);
04005         
04006 
04007   //***********************************************************
04008   //
04009   // SetDefaultFade()
04010   //
04036   HRESULT SetDefaultFade (
04037     [in] aafLength_t  fadeLength,
04038     [in] aafFadeType_t  fadeType,
04039     [in] aafRational_t  fadeEditUnit);
04040 
04041 
04042 
04043 
04044 
04045 }
04046 
04047 
04048 // ************************
04049 //
04050 // Interface IAAFConstantValue
04051 //
04052 // ************************
04071 [
04072     object,
04073     uuid(b8ddc080-2afa-11D2-bfA5-006097116212),
04074     helpstring("IAAFConstantValue Interface"),
04075     pointer_default(unique)
04076 ]
04077 interface IAAFConstantValue : IUnknown
04078 {
04079 
04080 
04081   //***********************************************************
04082   //
04083   // Initialize()
04084   //
04113   HRESULT Initialize (
04114     [in] IAAFParameterDef * pParameterDef,
04115     [in] aafUInt32  valueSize,
04116     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
04117 
04118 
04119   //***********************************************************
04120   //
04121   // GetValue()
04122   //
04155   HRESULT GetValue (
04156     [in] aafUInt32  valueSize,
04157     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
04158     [out] aafUInt32*  bytesRead);
04159 
04160 
04161   //***********************************************************
04162   //
04163   // GetValueBufLen()
04164   //
04186   HRESULT GetValueBufLen (
04187     [out] aafUInt32 *  pLen);
04188 
04189   //***********************************************************
04190   //
04191   // GetTypeDefinition()
04192   //
04211   HRESULT GetTypeDefinition (
04212     [out,retval] IAAFTypeDef ** ppTypeDef);
04213 
04214   //***********************************************************
04215   //
04216   // SetValue()
04217   //
04240   HRESULT SetValue (
04241     [in] aafUInt32  valueSize,
04242     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
04243 
04244 }
04245 
04246 
04247 
04248 // ************************
04249 //
04250 // Interface IAAFContainerDef
04251 //
04252 // ************************
04266 
04267 
04272 [
04273     object,
04274     uuid(AD1BB858-DBB2-11d2-809C-006008143E6F),
04275     helpstring("IAAFContainerDef Interface"),
04276     pointer_default(unique)
04277 ]
04278 interface IAAFContainerDef : IUnknown
04279 {
04280 
04281   //***********************************************************
04282   //
04283   // Initialize()
04284   //
04291   HRESULT Initialize (
04292     [in, ref] aafUID_constref  id,
04293     [in, string] aafCharacter_constptr  pName,
04294     [in, string] aafCharacter_constptr  pDescription);
04295 
04296 
04297   //***********************************************************
04298   //
04299   // EssenceIsIdentified()
04300   //
04326   HRESULT EssenceIsIdentified (
04327     [out] aafBoolean_t *  pEssenceIsIdentified);
04328 
04329 
04330   //***********************************************************
04331   //
04332   // SetEssenceIsIdentified()
04333   //
04350   HRESULT SetEssenceIsIdentified (
04351     [in] aafBoolean_t  EssenceIsIdentified);
04352 }
04353 
04354 
04355 
04356 // ************************
04357 //
04358 // Interface IAAFContentStorage
04359 //
04360 // ************************
04361 
04362 
04366 [
04367     object,
04368     uuid(54D4C482-5F8B-11d2-8073-006008143E6F),
04369     helpstring("IAAFContentStorage Interface"),
04370     pointer_default(unique)
04371 ]
04372 
04373 
04374 
04375 interface IAAFContentStorage : IUnknown
04376 {
04377 
04378 
04379   //***********************************************************
04380   //
04381   // LookupMob()
04382   //
04408   HRESULT LookupMob (
04409     [in, ref] aafMobID_constref  mobID,
04410     [out,retval] IAAFMob ** ppMob);
04411 
04412 
04413   //***********************************************************
04414   //
04415   // CountMobs()
04416   //
04438   HRESULT CountMobs (
04439     [in] aafMobKind_t  mobKind,
04440     [out, retval] aafNumSlots_t *  pResult);
04441 
04442 
04443   //***********************************************************
04444   //
04445   // GetMobs()
04446   //
04472   HRESULT GetMobs (
04473     [in] aafSearchCrit_t *  pSearchCriteria,
04474     [out, retval] IEnumAAFMobs ** ppEnum);
04475 
04476 
04477   //***********************************************************
04478   //
04479   // AddMob()
04480   //
04505   HRESULT AddMob (
04506     [in] IAAFMob * pMob);
04507 
04508 
04509   //***********************************************************
04510   //
04511   // RemoveMob()
04512   //
04536   HRESULT RemoveMob (
04537     [in] IAAFMob * pMob);
04538 
04539 
04540   //***********************************************************
04541   //
04542   // CountEssenceData()
04543   //
04565   HRESULT CountEssenceData (
04566     [out, retval] aafUInt32 *  pResult);
04567 
04568 
04569   //***********************************************************
04570   //
04571   // IsEssenceDataPresent()
04572   //
04594   HRESULT IsEssenceDataPresent (
04595     [in, ref] aafMobID_constref  fileMobID,
04596     [in] aafFileFormat_t  fmt,
04597     [out,retval] aafBoolean_t *  pResult);
04598 
04599 
04600   //***********************************************************
04601   //
04602   // EnumEssenceData()
04603   //
04626   HRESULT EnumEssenceData (
04627     [out,retval] IEnumAAFEssenceData ** ppEnum);
04628 
04629 
04630   //***********************************************************
04631   //
04632   // AddEssenceData()
04633   //
04657   HRESULT AddEssenceData (
04658     [in] IAAFEssenceData * pEssenceData);
04659 
04660   //***********************************************************
04661   //
04662   // RemoveEssenceData()
04663   //
04687   HRESULT RemoveEssenceData (
04688     [in] IAAFEssenceData * pEssenceData);
04689 
04690   //***********************************************************
04691   //
04692   // LookupEssenceData()
04693   //
04719   HRESULT LookupEssenceData (
04720     [in, ref] aafMobID_constref  mobID,
04721     [out,retval] IAAFEssenceData ** ppEssenceData);
04722 
04723 }
04724 
04725 
04726 
04727 // ************************
04728 //
04729 // Interface IAAFControlPoint
04730 //
04731 // ************************
04750 [
04751     object,
04752     uuid(86192db1-2a23-11D2-BFa3-006097116212),
04753     helpstring("IAAFControlPoint Interface"),
04754     pointer_default(unique)
04755 ]
04756 interface IAAFControlPoint : IUnknown
04757 {
04758 
04759 
04760   //***********************************************************
04761   //
04762   // Initialize()
04763   //
04794   HRESULT Initialize (
04795     [in] IAAFVaryingValue * pVaryingValue,
04796     [in] aafRational_constref  time,
04797     [in] aafUInt32  valueSize,
04798     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
04799 
04800   //***********************************************************
04801   //
04802   // GetTime()
04803   //
04830   HRESULT GetTime (
04831     [out,retval] aafRational_t *  pTime);
04832 
04833   //***********************************************************
04834   //
04835   // GetEditHint()
04836   //
04863   HRESULT GetEditHint (
04864     [out,retval] aafEditHint_t *  pEditHint);
04865 
04866   //***********************************************************
04867   //
04868   // GetValueBufLen()
04869   //
04890   HRESULT GetValueBufLen (
04891     [out] aafUInt32 *  pLen);
04892 
04893   //***********************************************************
04894   //
04895   // GetValue()
04896   //
04926   HRESULT GetValue (
04927     [in] aafUInt32  valueSize,
04928     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
04929     [out] aafUInt32*  bytesRead);
04930 
04931   //***********************************************************
04932   //
04933   // SetTime()
04934   //
04950   HRESULT SetTime (
04951     [in] aafRational_t  pTime);
04952 
04953   //***********************************************************
04954   //
04955   // SetEditHint()
04956   //
04972   HRESULT SetEditHint (
04973     [in] aafEditHint_t  editHint);
04974 
04975   //***********************************************************
04976   //
04977   // GetTypeDefinition()
04978   //
04997   HRESULT GetTypeDefinition (
04998     [out,retval] IAAFTypeDef ** ppTypeDef);
04999 
05000   //***********************************************************
05001   //
05002   // SetValue()
05003   //
05026   HRESULT SetValue (
05027     [in] aafUInt32  valueSize,
05028     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
05029 
05030 }
05031 
05032 
05033 
05034 
05035 // ************************
05036 //
05037 // Interface IAAFDataDef
05038 //
05039 // ************************
05047 [
05048     object,
05049     uuid(dfbd6529-1d81-11d2-bf96-006097116212),
05050     helpstring("IAAFDataDef Interface"),
05051     pointer_default(unique)
05052 ]
05053 interface IAAFDataDef : IUnknown
05054 {
05055   //***********************************************************
05056   //
05057   // Initialize()
05058   //
05065   HRESULT Initialize (
05066     [in, ref] aafUID_constref  id,
05067     [in, string] aafCharacter_constptr  pName,
05068     [in, string] aafCharacter_constptr  pDescription);
05069 
05070 
05071   //***********************************************************
05072   //
05073   // IsPictureKind()
05074   //
05079   HRESULT IsPictureKind (
05080     [retval,out] aafBoolean_t *  bIsPictureKind);
05081 
05082 
05083   //***********************************************************
05084   //
05085   // IsMatteKind()
05086   //
05091   HRESULT IsMatteKind (
05092     [retval,out] aafBoolean_t *  bIsMatteKind);
05093 
05094 
05095   //***********************************************************
05096   //
05097   // IsPictureWithMatteKind()
05098   //
05103   HRESULT IsPictureWithMatteKind (
05104     [retval,out] aafBoolean_t *  bIsPictureWithMatteKind);
05105 
05106 
05107   //***********************************************************
05108   //
05109   // IsSoundKind()
05110   //
05115   HRESULT IsSoundKind (
05116     [retval,out] aafBoolean_t *  bIsSoundKind);
05117 
05118 
05119   //***********************************************************
05120   //
05121   // DoesDataDefConvertTo()
05122   //
05130   HRESULT DoesDataDefConvertTo (
05131     [in] IAAFDataDef * id,
05132     [retval, out] aafBoolean_t *  bDoesConvertTo);
05133                    
05134 
05135   //***********************************************************
05136   //
05137   // IsDataDefOf()
05138   //
05146   HRESULT IsDataDefOf (
05147     [in] IAAFDataDef * pDataDef,
05148     [retval, out] aafBoolean_t *  bIsDataDefOf);
05149 
05150 
05151   //***********************************************************
05152   //
05153   // DoesDataDefConvertFrom()
05154   //
05162   HRESULT DoesDataDefConvertFrom (
05163     [in] IAAFDataDef * pDataDef,
05164     [retval, out] aafBoolean_t *  bDoesConvertFrom);
05165 
05166 
05167 
05168 
05169 
05170 
05171 
05172 }
05173 
05174 
05175 // ************************
05176 //
05177 // Interface IAAFDataEssenceDescriptor
05178 //
05179 // ************************
05181 
05195 [
05196     object,
05197     uuid(28aef97c-5127-4435-98c8-baf906b5a6a9),
05198     helpstring("IAAFDataEssenceDescriptor Interface"),
05199     pointer_default(unique)
05200 ]
05201 
05202 interface IAAFDataEssenceDescriptor : IUnknown
05203 {
05204 
05205 
05206 
05207   //***********************************************************
05208   //
05209   // Initialize()
05210   //
05228   HRESULT Initialize ();
05229 
05230   //***********************************************************
05231   //
05232   // SetDataEssenceCoding()
05233   //
05247   HRESULT SetDataEssenceCoding (
05248     [in] aafUID_constref  dataEssenceCoding);
05249 
05250 
05251   //***********************************************************
05252   //
05253   // GetDataEssenceCoding()
05254   //
05274   HRESULT GetDataEssenceCoding (
05275     [out] aafUID_t *  pDataEssenceCoding);
05276 
05277 }
05278 
05279 
05280 
05281 // ************************
05282 //
05283 // Interface IAAFDefObject
05284 //
05285 // ************************
05309 [
05310     object,
05311     uuid(dfbd6527-1d81-11d2-bf96-006097116212),
05312     helpstring("IAAFDefObject Interface"),
05313     pointer_default(unique)
05314 ]
05315 interface IAAFDefObject : IUnknown
05316 {
05317 
05318   //***********************************************************
05319   //
05320   // SetName()
05321   //
05350   HRESULT SetName (
05351     [in, string] aafCharacter_constptr  pName);
05352 
05353 
05354   //***********************************************************
05355   //
05356   // GetName()
05357   //
05395   HRESULT GetName (
05396     [out, string, size_is(bufSize)] aafCharacter *  pName,
05397     [in] aafUInt32  bufSize);
05398 
05399 
05400   //***********************************************************
05401   //
05402   // GetNameBufLen()
05403   //
05421   HRESULT GetNameBufLen (
05422     [out] aafUInt32 *  pBufSize);
05423 
05424 
05425   //***********************************************************
05426   //
05427   // SetDescription()
05428   //
05457   HRESULT SetDescription (
05458     [in, string] aafCharacter_constptr  pDescription);
05459 
05460 
05461   //***********************************************************
05462   //
05463   // GetDescription()
05464   //
05502   HRESULT GetDescription (
05503     [out, string, size_is(bufSize)] aafCharacter *  pDescription,
05504     [in] aafUInt32  bufSize);
05505 
05506 
05507   //***********************************************************
05508   //
05509   // GetDescriptionBufLen()
05510   //
05528   HRESULT GetDescriptionBufLen (
05529     [out] aafUInt32 *  pBufSize);
05530 
05531 
05532   //***********************************************************
05533   //
05534   // Initialize()
05535   //
05541   HRESULT Initialize (
05542     [in, ref] aafUID_constref  id,
05543     [in, string] aafCharacter_constptr  pName);
05544 
05545 
05546   //***********************************************************
05547   //
05548   // GetAUID()
05549   //
05554   HRESULT GetAUID (
05555     [retval,out] aafUID_t *  pAuid);
05556 
05557 }
05558 
05559 
05560 
05561 // ************************
05562 //
05563 // Interface IAAFDescriptiveClip
05564 //
05565 // ************************
05567 
05594 [
05595     object,
05596     uuid(2e777356-b7e4-43ba-bfd4-f964d90bc5e3),
05597     helpstring("IAAFDescriptiveClip Interface"),
05598     pointer_default(unique)
05599 ]
05600 
05601 interface IAAFDescriptiveClip : IUnknown
05602 {
05603 
05604 
05605   //***********************************************************
05606   //
05607   // Initialize()
05608   //
05633   HRESULT Initialize (
05634     [in] IAAFDataDef * pDataDef,
05635     [in] aafLength_constref  length,
05636     [in] aafSourceRef_t  sourceRef);
05637 
05638 
05639   //***********************************************************
05640   //
05641   // CountDescribedSlotIDs()
05642   //
05667   HRESULT CountDescribedSlotIDs (
05668     [out, retval] aafUInt32*  pCount);
05669 
05670 
05671   //***********************************************************
05672   //
05673   // GetDescribedSlotIDs()
05674   //
05708   HRESULT GetDescribedSlotIDs (
05709     [in] aafUInt32  maxDescribedSlotIDCount,
05710     [out, size_is(maxDescribedSlotIDCount)] aafUInt32 *  pDescribedSlotIDs);
05711 
05712 
05713   //***********************************************************
05714   //
05715   // IsDescribedSlotIDPresent()
05716   //
05743   HRESULT IsDescribedSlotIDPresent (
05744     [in] aafUInt32  DescribedSlotID,
05745     [out,retval] aafBoolean_t*  pIsPresent);
05746 
05747 
05748   //***********************************************************
05749   //
05750   // AddDescribedSlotID()
05751   //
05772   HRESULT AddDescribedSlotID (
05773     [in] aafUInt32  DescribedSlotID);
05774 
05775 
05776   //***********************************************************
05777   //
05778   // RemoveDescribedSlotID()
05779   //
05807   HRESULT RemoveDescribedSlotID (
05808     [in] aafUInt32  DescribedSlotID);
05809 
05810 
05811 }
05812 
05813 
05814 
05815 // ************************
05816 //
05817 // Interface IAAFDescriptiveFramework
05818 //
05819 // ************************
05820 
05822 
05837 [
05838     object,
05839     uuid(1cded29f-b8f0-437d-abb0-2144dd35b4aa),
05840     helpstring("IAAFDescriptiveFramework Interface"),
05841     pointer_default(unique)
05842 ]
05843 interface IAAFDescriptiveFramework : IUnknown
05844 {
05845 
05846 
05847 }
05848 
05849 
05850 
05851 // ************************
05852 //
05853 // Interface IAAFDescriptiveMarker
05854 //
05855 // ************************
05856 
05858 
05888 [
05889     object,
05890     uuid(c377b78e-591f-4ba9-a069-18438c626e34),
05891     helpstring("IAAFDescriptiveMarker Interface"),
05892     pointer_default(unique)
05893 ]
05894 
05895 interface IAAFDescriptiveMarker : IUnknown
05896 {
05897 
05898 
05899   //***********************************************************
05900   //
05901   // Initialize()
05902   //
05915   HRESULT Initialize ();
05916 
05917 
05918   //***********************************************************
05919   //
05920   // SetDescribedSlotIDs()
05921   //
05937   HRESULT SetDescribedSlotIDs (
05938     [in] aafUInt32  numberElements,
05939     [in] aafUInt32*  pDescribedSlotIDs);
05940 
05941 
05942   //***********************************************************
05943   //
05944   // GetDescribedSlotIDs()
05945   //
05968   HRESULT GetDescribedSlotIDs (
05969     [in] aafUInt32  numberElements,
05970     [in] aafUInt32*  pDescribedSlotIDs);
05971 
05972   //***********************************************************
05973   //
05974   // GetDescribedSlotIDsSize()
05975   //
05988   HRESULT GetDescribedSlotIDsSize (
05989     [out] aafUInt32 *  numberElements);
05990 
05991   //***********************************************************
05992   //
05993   // SetDescriptiveFramework()
05994   //
06007   HRESULT SetDescriptiveFramework (
06008     [in] IAAFDescriptiveFramework * pDescriptiveFramework);
06009 
06010   //***********************************************************
06011   //
06012   // GetDescriptiveFramework()
06013   //
06026   HRESULT GetDescriptiveFramework (
06027     [out,retval] IAAFDescriptiveFramework ** ppDescriptiveFramework);
06028 
06029 }
06030 
06031 
06032 
06033 // ************************
06034 //
06035 // Interface IAAFDescriptiveObject
06036 //
06037 // ************************
06038 
06040 
06055 [
06056     object,
06057     uuid(08a98e21-8995-4bb9-98d4-166f24a5ac66),
06058     helpstring("IAAFDescriptiveObject Interface"),
06059     pointer_default(unique)
06060 ]
06061 
06062 interface IAAFDescriptiveObject : IUnknown
06063 {
06064 
06065 
06066 }
06067 
06068 
06069 
06070 // ************************
06071 //
06072 // Interface IAAFDictionary
06073 //
06074 // ************************
06090 [
06091     object,
06092     uuid(B1A21398-1A7D-11D2-BF78-00104BC9156D),
06093     helpstring("IAAFDictionary Interface"),
06094     pointer_default(unique)
06095 ]
06096 
06097 interface IAAFDictionary : IUnknown
06098 {
06099 
06100   //***********************************************************
06101   //
06102   // CreateInstance()
06103   //
06114   HRESULT CreateInstance(
06115     [in, ref] aafUID_constref id,
06116     [in, ref] REFIID riid,
06117     [out, iid_is(riid)] IUnknown ** ppvObject);
06118 
06119 
06120   //***********************************************************
06121   //
06122   // CreateMetaInstance()
06123   //
06134   HRESULT CreateMetaInstance(
06135     [in, ref] aafUID_constref id,
06136     [in, ref] REFIID riid,
06137     [out, iid_is(riid)] IUnknown ** ppMetaDefinition);
06138 
06139 
06140 
06141   //***********************************************************
06142   //
06143   // RegisterClassDef()
06144   //
06167   HRESULT RegisterClassDef (
06168     [in] IAAFClassDef * pClassDef);
06169 
06170 
06171   //***********************************************************
06172   //
06173   // LookupClassDef()
06174   //
06198   HRESULT LookupClassDef (
06199     [in, ref] aafUID_constref  classId,
06200     [out,retval] IAAFClassDef ** ppClassDef);
06201 
06202 
06203   //***********************************************************
06204   //
06205   // GetClassDefs()
06206   //
06224   HRESULT GetClassDefs (
06225     [out,retval] IEnumAAFClassDefs ** ppEnum);
06226 
06227 
06228   //***********************************************************
06229   //
06230   // CountClassDefs()
06231   //
06252   HRESULT CountClassDefs (
06253     [out, retval] aafUInt32 *  pResult);
06254 
06255   //***********************************************************
06256   //
06257   // CreateForwardClassReference()
06258   //
06277   HRESULT CreateForwardClassReference (
06278     [in, ref] aafUID_constref  classId);
06279 
06280   //***********************************************************
06281   //
06282   // HasForwardClassReference()
06283   //
06307   HRESULT HasForwardClassReference (
06308     [in, ref] aafUID_constref  classId,
06309     [out,retval] aafBoolean_t *  pResult);
06310 
06311   //***********************************************************
06312   //
06313   // RegisterTypeDef()
06314   //
06336   HRESULT RegisterTypeDef (
06337     [in] IAAFTypeDef * pTypeDef);
06338 
06339 
06340   //***********************************************************
06341   //
06342   // LookupTypeDef()
06343   //
06367   HRESULT LookupTypeDef (
06368     [in, ref] aafUID_constref  typeId,
06369     [out,retval] IAAFTypeDef ** ppTypeDef);
06370 
06371 
06372   //***********************************************************
06373   //
06374   // GetTypeDefs()
06375   //
06393   HRESULT GetTypeDefs (
06394     [out,retval] IEnumAAFTypeDefs ** ppEnum);
06395 
06396 
06397   //***********************************************************
06398   //
06399   // CountTypeDefs()
06400   //
06421   HRESULT CountTypeDefs (
06422     [out, retval] aafUInt32 *  pResult);
06423 
06424 
06425   //***********************************************************
06426   //
06427   // RegisterOpaqueTypeDef()
06428   //
06450   HRESULT RegisterOpaqueTypeDef (
06451     [in] IAAFTypeDef * pTypeDef);
06452 
06453 
06454   //***********************************************************
06455   //
06456   // LookupOpaqueTypeDef()
06457   //
06481   HRESULT LookupOpaqueTypeDef (
06482     [in, ref] aafUID_constref  typeId,
06483     [out,retval] IAAFTypeDef ** ppTypeDef);
06484 
06485 
06486   //***********************************************************
06487   //
06488   // GetOpaqueTypeDefs()
06489   //
06507   HRESULT GetOpaqueTypeDefs (
06508     [out,retval] IEnumAAFTypeDefs ** ppEnum);
06509 
06510 
06511   //***********************************************************
06512   //
06513   // CountOpaqueTypeDefs()
06514   //
06535   HRESULT CountOpaqueTypeDefs (
06536     [out, retval] aafUInt32 *  pResult);
06537 
06538   //***********************************************************
06539   //
06540   // RegisterKLVDataKey()
06541   //
06566   HRESULT RegisterKLVDataKey (
06567     [in] aafUID_t  pUID,
06568     [in] IAAFTypeDef * pTypeDef);
06569 
06570   //***********************************************************
06571   //
06572   // RegisterDataDef()
06573   //
06578   HRESULT RegisterDataDef (
06579     [in] IAAFDataDef * pDataDef);
06580 
06581 
06582   //***********************************************************
06583   //
06584   // LookupDataDef()
06585   //
06591   HRESULT LookupDataDef (
06592     [in, ref] aafUID_constref  dataDefinitionId,
06593     [out,retval] IAAFDataDef ** ppDataDef);
06594 
06595 
06596   //***********************************************************
06597   //
06598   // GetDataDefs()
06599   //
06604   HRESULT GetDataDefs (
06605     [out,retval] IEnumAAFDataDefs ** ppEnum);
06606 
06607 
06608   //***********************************************************
06609   //
06610   // CountDataDefs()
06611   //
06632   HRESULT CountDataDefs (
06633     [out, retval] aafUInt32 *  pResult);
06634 
06635 
06636   //***********************************************************
06637   //
06638   // RegisterOperationDef()
06639   //
06644   HRESULT RegisterOperationDef (
06645     [in] IAAFOperationDef * pOperationDef);
06646 
06647 
06648   //***********************************************************
06649   //
06650   // LookupOperationDef()
06651   //
06657   HRESULT LookupOperationDef (
06658     [in, ref] aafUID_constref  operationId,
06659     [out,retval] IAAFOperationDef ** ppOperationDef);
06660 
06661 
06662   //***********************************************************
06663   //
06664   // GetOperationDefs()
06665   //
06670   HRESULT GetOperationDefs (
06671     [out,retval] IEnumAAFOperationDefs ** ppEnum);
06672 
06673 
06674   //***********************************************************
06675   //
06676   // CountOperationDefs()
06677   //
06698   HRESULT CountOperationDefs (
06699     [out, retval] aafUInt32 *  pResult);
06700 
06701 
06702   //***********************************************************
06703   //
06704   // RegisterParameterDef()
06705   //
06710   HRESULT RegisterParameterDef (
06711     [in] IAAFParameterDef * pParmDef);
06712 
06713 
06714   //***********************************************************
06715   //
06716   // LookupParameterDef()
06717   //
06723   HRESULT LookupParameterDef (
06724     [in, ref] aafUID_constref  parameterId,
06725     [out,retval] IAAFParameterDef ** ppParmDef);
06726 
06727 
06728   //***********************************************************
06729   //
06730   // GetParameterDefs()
06731   //
06736   HRESULT GetParameterDefs (
06737     [out,retval] IEnumAAFParameterDefs ** ppEnum);
06738 
06739 
06740   //***********************************************************
06741   //
06742   // CountParameterDefs()
06743   //
06764   HRESULT CountParameterDefs (
06765     [out, retval] aafUInt32 *  pResult);
06766 
06767 
06768   //***********************************************************
06769   //
06770   // RegisterCodecDef()
06771   //
06776   HRESULT RegisterCodecDef (
06777     [in] IAAFCodecDef * pParmDef);
06778 
06779 
06780   //***********************************************************
06781   //
06782   // LookupCodecDef()
06783   //
06789   HRESULT LookupCodecDef (
06790     [in, ref] aafUID_constref  parameterId,
06791     [out,retval] IAAFCodecDef ** ppParmDef);
06792 
06793 
06794   //***********************************************************
06795   //
06796   // GetCodecDefs()
06797   //
06802   HRESULT GetCodecDefs (
06803     [out,retval] IEnumAAFCodecDefs ** ppEnum);
06804 
06805 
06806   //***********************************************************
06807   //
06808   // CountCodecDefs()
06809   //
06830   HRESULT CountCodecDefs (
06831     [out, retval] aafUInt32 *  pResult);
06832 
06833 
06834   //***********************************************************
06835   //
06836   // RegisterContainerDef()
06837   //
06842   HRESULT RegisterContainerDef (
06843     [in] IAAFContainerDef * pParmDef);
06844 
06845 
06846   //***********************************************************
06847   //
06848   // LookupContainerDef()
06849   //
06855   HRESULT LookupContainerDef (
06856     [in, ref] aafUID_constref  parameterId,
06857     [out,retval] IAAFContainerDef ** ppParmDef);
06858 
06859 
06860   //***********************************************************
06861   //
06862   // GetContainerDefs()
06863   //
06868   HRESULT GetContainerDefs (
06869     [out,retval] IEnumAAFContainerDefs ** ppEnum);
06870 
06871 
06872   //***********************************************************
06873   //
06874   // CountContainerDefs()
06875   //
06896   HRESULT CountContainerDefs (
06897     [out, retval] aafUInt32 *  pResult);
06898 
06899 
06900   //***********************************************************
06901   //
06902   // RegisterInterpolationDef()
06903   //
06908   HRESULT RegisterInterpolationDef (
06909     [in] IAAFInterpolationDef * pInterpolationDef);
06910 
06911 
06912   //***********************************************************
06913   //
06914   // LookupInterpolationDef()
06915   //
06921   HRESULT LookupInterpolationDef (
06922     [in, ref] aafUID_constref  parameterId,
06923     [out,retval] IAAFInterpolationDef ** ppInterpolationDef);
06924 
06925 
06926   //***********************************************************
06927   //
06928   // GetInterpolationDefs()
06929   //
06934   HRESULT GetInterpolationDefs (
06935     [out,retval] IEnumAAFInterpolationDefs ** ppEnum);
06936 
06937 
06938   //***********************************************************
06939   //
06940   // CountInterpolationDefs()
06941   //
06962   HRESULT CountInterpolationDefs (
06963     [out, retval] aafUInt32 *  pResult);
06964 
06965 
06966   //***********************************************************
06967   //
06968   // RegisterPluginDef()
06969   //
06974   HRESULT RegisterPluginDef (
06975     [in] IAAFPluginDef * pPlugDef);
06976 
06977 
06978   //***********************************************************
06979   //
06980   // LookupPluginDef()
06981   //
06987   HRESULT LookupPluginDef (
06988     [in, ref] aafUID_constref  parameterId,
06989     [out,retval] IAAFPluginDef ** ppPlugDef);
06990 
06991 
06992   //***********************************************************
06993   //
06994   // GetPluginDefs()
06995   //
07000   HRESULT GetPluginDefs (
07001     [out,retval] IEnumAAFPluginDefs ** ppEnum);
07002 
07003 
07004   //***********************************************************
07005   //
07006   // CountPluginDefs()
07007   //
07028   HRESULT CountPluginDefs (
07029     [out, retval] aafUInt32 *  pResult);
07030 
07031 
07032 
07033 
07034 
07035 
07036 
07037 
07038 
07039 
07040 
07041 
07042 
07043 
07044 
07045 
07046 
07047 
07048 
07049 
07050 
07051 
07052 
07053 
07054 }
07055 
07056 
07057 // ************************
07058 //
07059 // Interface IAAFDigitalImageDescriptor
07060 //
07061 // ************************
07151 
07152 
07160 [
07161     object,
07162     uuid(44861701-8AEA-11d2-813C-006097310172),
07163     helpstring("IAAFDigitalImageDescriptor Interface"),
07164     pointer_default(unique)
07165 ]
07166 
07167 interface IAAFDigitalImageDescriptor : IUnknown
07168 {
07169 
07170   //***********************************************************
07171   //
07172   // SetCompression()
07173   //
07188   HRESULT SetCompression (
07189     [in] aafUID_constref  compression);
07190 
07191 
07192   //***********************************************************
07193   //
07194   // GetCompression()
07195   //
07215   HRESULT GetCompression (
07216     [out] aafUID_t *  pCompression);
07217 
07218 
07219   //***********************************************************
07220   //
07221   // SetStoredView()
07222   //
07238   HRESULT SetStoredView (
07239     [in] aafUInt32  StoredHeight,
07240     [in] aafUInt32  StoredWidth);
07241 
07242 
07243   //***********************************************************
07244   //
07245   // GetStoredView()
07246   //
07268   HRESULT GetStoredView (
07269     [out] aafUInt32 *  pStoredHeight,
07270     [out] aafUInt32 *  pStoredWidth);
07271 
07272 
07273   //***********************************************************
07274   //
07275   // SetSampledView()
07276   //
07310   HRESULT SetSampledView (
07311     [in] aafUInt32  SampledHeight,
07312     [in] aafUInt32  SampledWidth,
07313     [in] aafInt32  SampledXOffset,
07314     [in] aafInt32  SampledYOffset);
07315 
07316 
07317   //***********************************************************
07318   //
07319   // GetSampledView()
07320   //
07350   HRESULT GetSampledView (
07351     [out] aafUInt32 *  pSampledHeight,
07352     [out] aafUInt32 *  pSampledWidth,
07353     [out] aafInt32 *  pSampledXOffset,
07354     [out] aafInt32 *  pSampledYOffset);
07355 
07356 
07357   //***********************************************************
07358   //
07359   // SetDisplayView()
07360   //
07398   HRESULT SetDisplayView (
07399     [in] aafUInt32  DisplayHeight,
07400     [in] aafUInt32  DisplayWidth,
07401     [in] aafInt32  DisplayXOffset,
07402     [in] aafInt32  DisplayYOffset);
07403 
07404 
07405   //***********************************************************
07406   //
07407   // GetDisplayView()
07408   //
07438   HRESULT GetDisplayView (
07439     [out] aafUInt32 *  pDisplayHeight,
07440     [out] aafUInt32 *  pDisplayWidth,
07441     [out] aafInt32 *  pDisplayXOffset,
07442     [out] aafInt32 *  pDisplayYOffset);
07443 
07444 
07445   //***********************************************************
07446   //
07447   // SetFrameLayout()
07448   //
07482   HRESULT SetFrameLayout (
07483     [in] aafFrameLayout_t  FrameLayout);
07484 
07485 
07486   //***********************************************************
07487   //
07488   // GetFrameLayout()
07489   //
07522   HRESULT GetFrameLayout (
07523     [out] aafFrameLayout_t *  pFrameLayout);
07524 
07525 
07526   //***********************************************************
07527   //
07528   // SetVideoLineMap()
07529   //
07553   HRESULT SetVideoLineMap (
07554     [in] aafUInt32  numberElements,
07555     [in, size_is(numberElements)] aafInt32 *  pVideoLineMap);
07556 
07557 
07558   //***********************************************************
07559   //
07560   // GetVideoLineMap()
07561   //
07593   HRESULT GetVideoLineMap (
07594     [in] aafUInt32  numberElements,
07595     [out, size_is(numberElements)] aafInt32 *  pVideoLineMap);
07596 
07597 
07598   //***********************************************************
07599   //
07600   // GetVideoLineMapSize()
07601   //
07619   HRESULT GetVideoLineMapSize (
07620     [out] aafUInt32 *  pNumberElements);
07621 
07622 
07623   //***********************************************************
07624   //
07625   // SetImageAspectRatio()
07626   //
07644   HRESULT SetImageAspectRatio (
07645     [in] aafRational_t  ImageAspectRatio);
07646 
07647 
07648   //***********************************************************
07649   //
07650   // GetImageAspectRatio()
07651   //
07671   HRESULT GetImageAspectRatio (
07672     [out] aafRational_t *  pImageAspectRatio);
07673 
07674 
07675   //***********************************************************
07676   //
07677   // SetAlphaTransparency()
07678   //
07703   HRESULT SetAlphaTransparency (
07704     [in] aafAlphaTransparency_t  AlphaTransparency);
07705 
07706 
07707   //***********************************************************
07708   //
07709   // GetAlphaTransparency()
07710   //
07732   HRESULT GetAlphaTransparency (
07733     [out] aafAlphaTransparency_t *  pAlphaTransparency);
07734 
07735 
07736   //***********************************************************
07737   //
07738   // SetGamma()
07739   //
07755   HRESULT SetGamma (
07756     [in] aafUID_t  Gamma);
07757 
07758 
07759   //***********************************************************
07760   //
07761   // GetGamma()
07762   //
07780   HRESULT GetGamma (
07781     [out] aafUID_t *  pGamma);
07782 
07783 
07784   //***********************************************************
07785   //
07786   // SetImageAlignmentFactor()
07787   //
07807   HRESULT SetImageAlignmentFactor (
07808     [in] aafUInt32  ImageAlignmentFactor);
07809 
07810 
07811   //***********************************************************
07812   //
07813   // GetImageAlignmentFactor()
07814   //
07837   HRESULT GetImageAlignmentFactor (
07838     [out] aafUInt32 *  pImageAlignmentFactor);
07839 
07840 
07841 
07842 
07843 
07844 
07845 
07846 
07847 
07848 
07849 
07850 
07851 
07852 
07853 
07854 
07855 
07856 
07857 
07858 
07859 
07860 
07861 }
07862 
07863 
07864 // ************************
07865 //
07866 // Interface IAAFEdgecode
07867 //
07868 // ************************
07869  
07876 [
07877     object,
07878     uuid(38e6f8a4-2a2c-11d2-8411-00600832acb8),
07879     helpstring("IAAFEdgecode Interface"),
07880     pointer_default(unique)
07881 ]
07882 interface IAAFEdgecode : IUnknown
07883 {
07884 
07885 
07886   //***********************************************************
07887   //
07888   // Initialize()
07889   //
07898   HRESULT Initialize (
07899     [in] aafLength_t    length  ,
07900     [in] aafEdgecode_t  edgecode);
07901 
07902   //***********************************************************
07903   //
07904   // GetEdgecode()
07905   //
07911   HRESULT GetEdgecode (
07912     [out] aafEdgecode_t *  edgecode);
07913 
07914 }
07915 
07916 
07917 
07918 // ************************
07919 //
07920 // Interface IAAFEssenceAccess
07921 //
07922 // ************************
07923 
07946 [
07947     object,
07948     uuid(aed97eb0-2bc8-11D2-bfaa-006097116212),
07949     helpstring("IAAFEssenceAccess Interface"),
07950     pointer_default(unique)
07951 ]
07952 interface IAAFEssenceAccess : IUnknown
07953 {
07954 
07955 
07956   //***********************************************************
07957   //
07958   // SetEssenceCodecFlavour()
07959   //
07967   HRESULT SetEssenceCodecFlavour (
07968     [in, ref] aafUID_constref  flavour);
07969 
07970 
07971   //***********************************************************
07972   //
07973   // WriteSamples()
07974   //
07993   HRESULT WriteSamples (
07994     [in] aafUInt32  nSamples,
07995     [in] aafUInt32  buflen,
07996     [in,size_is(buflen)] aafDataBuffer_t  buffer,
07997     [out, ref] aafUInt32 *  samplesWritten,
07998     [out, ref] aafUInt32 *  bytesWritten);
07999 
08000 
08001   //***********************************************************
08002   //
08003   // GetLargestSampleSize()
08004   //
08017   HRESULT GetLargestSampleSize (
08018     [in] IAAFDataDef * pDataDef,
08019     [out] aafLength_t*  maxSize);
08020 
08021 
08022   //***********************************************************
08023   //
08024   // GetIndexedSampleSize()
08025   //
08044   HRESULT GetIndexedSampleSize (
08045     [in] IAAFDataDef * pDataDef,
08046     [in] aafPosition_t  frameNum,
08047     [out] aafLength_t*  frameSize);
08048 
08049 
08050   //***********************************************************
08051   //
08052   // SetTransformParameters()
08053   //
08069   HRESULT SetTransformParameters (
08070     [in] IAAFEssenceFormat * op);
08071          
08072 
08073   //***********************************************************
08074   //
08075   // CountSamples()
08076   //
08085   HRESULT CountSamples (
08086     [in] IAAFDataDef * pDataDef,
08087     [out] aafLength_t *  result);
08088 
08089 
08090   //***********************************************************
08091   //
08092   // ReadSamples()
08093   //
08115   HRESULT ReadSamples (
08116     [in] aafUInt32  nSamples,
08117     [in] aafUInt32  buflen,
08118     [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t  buffer,
08119     [out, ref] aafUInt32 *  samplesRead,
08120     [out, ref] aafUInt32 *  bytesRead);
08121 
08122 
08123   //***********************************************************
08124   //
08125   // Seek()
08126   //
08140   HRESULT Seek (
08141     [in] aafPosition_t  sampleFrameNum);
08142 
08143 
08144   //***********************************************************
08145   //
08146   // GetFileFormat()
08147   //
08154   HRESULT GetFileFormat (
08155     [in] IAAFEssenceFormat * opsTemplate,
08156     [out] IAAFEssenceFormat ** opsResult);
08157 
08158 
08159   //***********************************************************
08160   //
08161   // GetFileFormatParameterList()
08162   //
08168   HRESULT GetFileFormatParameterList (
08169     [out] IAAFEssenceFormat ** ops);
08170 
08171 
08172   //***********************************************************
08173   //
08174   // GetEmptyFileFormat()
08175   //
08181   HRESULT GetEmptyFileFormat (
08182     [out] IAAFEssenceFormat ** ops);
08183 
08184 
08185   //***********************************************************
08186   //
08187   // PutFileFormat()
08188   //
08194   HRESULT PutFileFormat (
08195     [in] IAAFEssenceFormat * ops);
08196 
08197 
08198   //***********************************************************
08199   //
08200   // GetCodecName()
08201   //
08218   HRESULT GetCodecName (
08219     [in] aafUInt32  namelen,
08220     [out,size_is(namelen)] aafCharacter *  name);
08221 
08222 
08223   //***********************************************************
08224   //
08225   // GetCodecID()
08226   //
08236   HRESULT GetCodecID (
08237     [out] aafCodecID_t *  codecID);
08238 
08239 
08240   //***********************************************************
08241   //
08242   // CompleteWrite()
08243   //
08253   HRESULT CompleteWrite ();
08254 
08255 
08256 
08257 
08258 
08259 }
08260 
08261 
08262 // ************************
08263 //
08264 // Interface IAAFEssenceData
08265 //
08266 // ************************
08267 
08294 [
08295     object,
08296     uuid(6a33f4e2-8ed6-11d2-bf9d-00104bc9156d),
08297     helpstring("IAAFEssenceData Interface"),
08298     pointer_default(unique)
08299 ]
08300 interface IAAFEssenceData : IUnknown
08301 {
08302 
08303   //***********************************************************
08304   //
08305   // Initialize()
08306   //
08328   HRESULT Initialize (
08329     [in] IAAFSourceMob * pFileMob);
08330 
08331   //***********************************************************
08332   //
08333   // Write()
08334   //
08341   HRESULT Write (
08342     [in] aafUInt32  bytes,
08343     [out, size_is(bytes)] aafDataBuffer_t  buffer,
08344     [out,ref] aafUInt32 *  bytesWritten);
08345 
08346 
08347   //***********************************************************
08348   //
08349   // Read()
08350   //
08357   HRESULT Read (
08358     [in] aafUInt32  bytes,
08359     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
08360     [out,ref] aafUInt32 *  bytesRead);
08361 
08362 
08363   //***********************************************************
08364   //
08365   // SetPosition()
08366   //
08371   HRESULT SetPosition (
08372     [in] aafPosition_t  offset);
08373 
08374 
08375   //***********************************************************
08376   //
08377   // GetPosition()
08378   //
08383   HRESULT GetPosition (
08384     [out] aafPosition_t*  pOffset);
08385 
08386 
08387   //***********************************************************
08388   //
08389   // GetSize()
08390   //
08395   HRESULT GetSize (
08396     [out] aafLength_t *  pSize );
08397 
08398 
08399   //***********************************************************
08400   //
08401   // SetFileMob()
08402   //
08424   HRESULT SetFileMob (
08425     [in] IAAFSourceMob * pFileMob);
08426 
08427 
08428   //***********************************************************
08429   //
08430   // GetFileMob()
08431   //
08454   HRESULT GetFileMob (
08455     [in] IAAFSourceMob ** ppFileMob);
08456 
08457 
08458   //***********************************************************
08459   //
08460   // GetFileMobID()
08461   //
08468   HRESULT GetFileMobID (
08469     [out] aafMobID_t *  pFileMobID);
08470 
08471 
08472 
08473 
08474 
08475 
08476 
08477 }
08478 
08479 
08480 // ************************
08481 //
08482 // Interface IAAFEssenceDescriptor
08483 //
08484 // ************************
08509 [
08510     object,
08511     uuid(94659783-2a3c-11D2-bfA4-006097116212),
08512     helpstring("IAAFEssenceDescriptor Interface"),
08513     pointer_default(unique)
08514 ]
08515 interface IAAFEssenceDescriptor : IUnknown
08516 {
08517 
08518   //***********************************************************
08519   //
08520   // CountLocators()
08521   //
08543   HRESULT CountLocators (
08544     [out] aafUInt32 *  pResult);
08545 
08546 
08547   //***********************************************************
08548   //
08549   // AppendLocator()
08550   //
08572   HRESULT AppendLocator (
08573     [in] IAAFLocator * pLocator);
08574 
08575 
08576   //***********************************************************
08577   //
08578   // PrependLocator()
08579   //
08601   HRESULT PrependLocator (
08602     [in] IAAFLocator * pLocator);
08603 
08604 
08605   //***********************************************************
08606   //
08607   // InsertLocatorAt()
08608   //
08637   HRESULT InsertLocatorAt (
08638     [in] aafUInt32  index,
08639     [in] IAAFLocator * pLocator);
08640 
08641 
08642   //***********************************************************
08643   //
08644   // GetLocatorAt()
08645   //
08671   HRESULT GetLocatorAt (
08672     [in] aafUInt32  index,
08673     [out, retval] IAAFLocator ** ppLocator);
08674 
08675 
08676   //***********************************************************
08677   //
08678   // RemoveLocatorAt()
08679   //
08702   HRESULT RemoveLocatorAt (
08703     [in] aafUInt32  index);
08704 
08705 
08706   //***********************************************************
08707   //
08708   // GetLocators()
08709   //
08730   HRESULT GetLocators (
08731     [out] IEnumAAFLocators ** ppEnum);
08732 }
08733 
08734 
08735 
08736 // ************************
08737 //
08738 // Interface IAAFEssenceFormat
08739 //
08740 // ************************
08763 
08764 
08765 [
08766     object,
08767     uuid(34C2DC82-904C-11d2-8088-006008143E6F),
08768     helpstring("IAAFEssenceFormat Interface"),
08769     pointer_default(unique)
08770 ]
08771 interface IAAFEssenceFormat : IUnknown
08772 {
08773 
08774   //***********************************************************
08775   //
08776   // AddFormatSpecifier()
08777   //
08790   HRESULT AddFormatSpecifier (
08791     [in] aafUID_constref  essenceFormatCode,
08792     [in] aafInt32  valueSize,
08793     [in, size_is(valueSize)] aafDataBuffer_t  value);
08794 
08795 
08796   //***********************************************************
08797   //
08798   // GetFormatSpecifier()
08799   //
08812   HRESULT GetFormatSpecifier (
08813     [in] aafUID_constref  essenceFormatCode,
08814     [in] aafInt32  valueSize,
08815     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  value,
08816     [out] aafInt32*  bytesRead);
08817 
08818 
08819   //***********************************************************
08820   //
08821   // NumFormatSpecifiers()
08822   //
08828   HRESULT NumFormatSpecifiers (
08829     [out] aafInt32*  numSpecifiers);
08830 
08831 
08832   //***********************************************************
08833   //
08834   // GetIndexedFormatSpecifier()
08835   //
08845   HRESULT GetIndexedFormatSpecifier (
08846     [in] aafInt32  index,
08847     [out] aafUID_t*  essenceFormatCode,
08848     [in] aafInt32  valueSize,
08849     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  value,
08850     [out] aafInt32*  bytesRead);
08851 }
08852 
08853 
08854 
08855 // ************************
08856 //
08857 // Interface IAAFEssenceGroup
08858 //
08859 // ************************
08882 [
08883     object,
08884     uuid(e58a8567-2a3e-11D2-bfa4-006097116212),
08885     helpstring("IAAFEssenceGroup Interface"),
08886     pointer_default(unique)
08887 ]
08888 interface IAAFEssenceGroup : IUnknown
08889 {
08890 
08891   //***********************************************************
08892   //
08893   // SetStillFrame()
08894   //
08913   HRESULT SetStillFrame (
08914     [in] IAAFSourceClip * pStillFrame);
08915     
08916 
08917   //***********************************************************
08918   //
08919   // GetStillFrame()
08920   //
08938   HRESULT GetStillFrame (
08939     [out] IAAFSourceClip ** ppStillFrame);
08940 
08941 
08942   //***********************************************************
08943   //
08944   // AppendChoice()
08945   //
08965   HRESULT AppendChoice (
08966     [in] IAAFSegment * pChoice);
08967 
08968 
08969   //***********************************************************
08970   //
08971   // PrependChoice()
08972   //
08992   HRESULT PrependChoice (
08993     [in] IAAFSegment * pChoice);
08994 
08995 
08996   //***********************************************************
08997   //
08998   // InsertChoiceAt()
08999   //
09028   HRESULT InsertChoiceAt (
09029     [in] aafUInt32  index,
09030     [in] IAAFSegment * pChoice);
09031 
09032 
09033   //***********************************************************
09034   //
09035   // CountChoices()
09036   //
09057   HRESULT CountChoices (
09058     [out] aafUInt32*   pCount);
09059 
09060 
09061   //***********************************************************
09062   //
09063   // GetChoiceAt()
09064   //
09088   HRESULT GetChoiceAt (
09089     [in] aafUInt32  index,
09090     [out] IAAFSegment  ** ppChoice);
09091 
09092 
09093   //***********************************************************
09094   //
09095   // RemoveChoiceAt()
09096   //
09122   HRESULT RemoveChoiceAt (
09123     [in] aafUInt32  index);
09124 }
09125 
09126 
09127 
09128 // ************************
09129 //
09130 // Interface IAAFEvent
09131 //
09132 // ************************
09133 
09162 [
09163     object,
09164     uuid(e684d790-b935-11d2-bf9d-00104bc9156d),
09165     helpstring("IAAFEvent Interface"),
09166     pointer_default(unique)
09167 ]
09168 interface IAAFEvent : IUnknown
09169 {
09170 
09171 
09172   //***********************************************************
09173   //
09174   // GetPosition()
09175   //
09196   HRESULT GetPosition (
09197     [out,retval] aafPosition_t *  pPosition);
09198 
09199   //***********************************************************
09200   //
09201   // SetPosition()
09202   //
09217   HRESULT SetPosition (
09218     [in] aafPosition_t  Position);
09219 
09220 
09221   //***********************************************************
09222   //
09223   // SetComment()
09224   //
09253   HRESULT SetComment (
09254     [in, string] aafCharacter_constptr  pComment);
09255 
09256 
09257   //***********************************************************
09258   //
09259   // GetComment()
09260   //
09298   HRESULT GetComment (
09299     [out, string, size_is(bufSize)] aafCharacter *  pComment,
09300     [in] aafUInt32  bufSize);
09301 
09302 
09303   //***********************************************************
09304   //
09305   // GetCommentBufLen()
09306   //
09324   HRESULT GetCommentBufLen (
09325     [out] aafUInt32 *  pBufSize);
09326 
09327 }
09328 
09329 
09330 
09331 // ************************
09332 //
09333 // Interface IAAFEventMobSlot
09334 //
09335 // ************************
09336 
09345 
09346 
09352 [
09353     object,
09354     uuid(e684d766-b935-11d2-bf9d-00104bc9156d),
09355     helpstring("IAAFEventMobSlot Interface"),
09356     pointer_default(unique)
09357 ]
09358 interface IAAFEventMobSlot : IUnknown
09359 {
09360   //***********************************************************
09361   //
09362   // GetEditRate()
09363   //
09384   HRESULT GetEditRate (
09385     [out,retval] aafRational_t *  pEditRate);
09386 
09387 
09388   //***********************************************************
09389   //
09390   // SetEditRate()
09391   //
09412   HRESULT SetEditRate (
09413     [in] aafRational_t *  pEditRate);
09414 
09415 
09416 
09417 
09418 
09419 
09420 
09421 
09422 }
09423 
09424 
09425 // ************************
09426 //
09427 // Interface IAAFFile
09428 //
09429 // ************************
09451 [
09452     object,
09453     uuid(9346ACD3-2713-11d2-8035-006008143E6F),
09454     helpstring("IAAFFile Interface"),
09455     pointer_default(unique)
09456 ]
09457 interface IAAFFile : IUnknown
09458 {
09459 
09460   //***********************************************************
09461   //
09462   // Open()
09463   //
09481   HRESULT Open ();
09482 
09483 
09484   //***********************************************************
09485   //
09486   // SaveCopyAs()
09487   //
09513   HRESULT SaveCopyAs (
09514     [in] IAAFFile * pDestFile);
09515 
09516 
09517   //***********************************************************
09518   //
09519   // GetHeader()
09520   //
09555   HRESULT GetHeader (
09556     [out, retval] IAAFHeader ** ppHeader);
09557 
09558 
09559   //***********************************************************
09560   //
09561   // GetRevision()
09562   //
09587   HRESULT GetRevision (
09588     [out, retval] aafFileRev_t *  pRev);
09589 
09590 
09591   //***********************************************************
09592   //
09593   // Save()
09594   //
09620   HRESULT Save ();
09621 
09622 
09623   //***********************************************************
09624   //
09625   // Close()
09626   //
09652   HRESULT Close ();
09653 
09654   //***********************************************************
09655   //
09656   // GetDictionary()
09657   //
09680   HRESULT GetDictionary (
09681     [out, retval] IAAFDictionary ** ppDictionary);
09682 
09683 }
09684 
09685 
09686 
09687 // ************************
09688 //
09689 // Interface IAAFFileDescriptor
09690 //
09691 // ************************
09715 
09716 
09722 [
09723     object,
09724     uuid(e58a8561-2a3e-11D2-bfa4-006097116212),
09725     helpstring("IAAFFileDescriptor Interface"),
09726     pointer_default(unique)
09727 ]
09728 interface IAAFFileDescriptor : IUnknown
09729 {
09730   //***********************************************************
09731   //
09732   // SetLength()
09733   //
09747   HRESULT SetLength (
09748     [in] aafLength_t  length);
09749 
09750 
09751   //***********************************************************
09752   //
09753   // GetLength()
09754   //
09774   HRESULT GetLength (
09775     [out] aafLength_t *  pLength);
09776 
09777 
09778   //***********************************************************
09779   //
09780   // SetCodecDef()
09781   //
09795   HRESULT SetCodecDef (
09796     [in] IAAFCodecDef * codecDef);
09797 
09798 
09799   //***********************************************************
09800   //
09801   // GetCodecDef()
09802   //
09828   HRESULT GetCodecDef (
09829     [out] IAAFCodecDef ** pCodecDef);
09830 
09831 
09832   //***********************************************************
09833   //
09834   // SetSampleRate()
09835   //
09850   HRESULT SetSampleRate (
09851     [in] aafRational_constref  rate);
09852 
09853 
09854   //***********************************************************
09855   //
09856   // GetSampleRate()
09857   //
09878   HRESULT GetSampleRate (
09879     [out] aafRational_t*  pRate);
09880 
09881 
09882   //***********************************************************
09883   //
09884   // SetContainerFormat()
09885   //
09901   HRESULT SetContainerFormat (
09902     [in] IAAFContainerDef * format);
09903 
09904 
09905   //***********************************************************
09906   //
09907   // GetContainerFormat()
09908   //
09934   HRESULT GetContainerFormat (
09935     [out] IAAFContainerDef ** pFormat);
09936 
09937 
09938 
09939 
09940 
09941 }
09942 
09943 
09944 // ************************
09945 //
09946 // Interface IAAFFileEncoding
09947 //
09948 // ************************
09962 
09963 
09964 [
09965     object,
09966     uuid(56904725-a95c-40f4-a746-8754e7d16f6d),
09967     helpstring("IAAFFileEncoding Interface"),
09968     pointer_default(unique)
09969 ]
09970 interface IAAFFileEncoding : IUnknown
09971 {
09972 
09973   //***********************************************************
09974   //
09975   // GetName()
09976   //
10014   HRESULT GetName (
10015     [out, string, size_is(bufSize)] aafCharacter *  pName,
10016     [in] aafUInt32  bufSize);
10017 
10018 
10019   //***********************************************************
10020   //
10021   // GetNameBufLen()
10022   //
10040   HRESULT GetNameBufLen (
10041     [out] aafUInt32 *  pBufSize);
10042 
10043 
10044   //***********************************************************
10045   //
10046   // GetDescription()
10047   //
10085   HRESULT GetDescription (
10086     [out, string, size_is(bufSize)] aafCharacter *  pDescription,
10087     [in] aafUInt32  bufSize);
10088 
10089 
10090   //***********************************************************
10091   //
10092   // GetDescriptionBufLen()
10093   //
10111   HRESULT GetDescriptionBufLen (
10112     [out] aafUInt32 *  pBufSize);
10113 
10114 
10115 
10116   //***********************************************************
10117   //
10118   // GetFileKind()
10119   //
10143   HRESULT GetFileKind (
10144     [out] aafUID_t *  pFileKind);
10145 
10146 }
10147 
10148 
10149 
10150 // ************************
10151 //
10152 // Interface IAAFFiller
10153 //
10154 // ************************
10177 [
10178     object,
10179     uuid(38e6f8a9-2a2c-11d2-8411-00600832acb8),
10180     helpstring("IAAFFiller Interface"),
10181     pointer_default(unique)
10182 ]
10183 
10184 interface IAAFFiller : IUnknown
10185 {
10186 
10187   //***********************************************************
10188   //
10189   // Initialize()
10190   //
10218   HRESULT Initialize (
10219     [in] IAAFDataDef * pDataDef,
10220     [in] aafLength_t  length);
10221 }
10222 
10223 
10224 
10225 // ************************
10226 //
10227 // Interface IAAFFilmDescriptor
10228 //
10229 // ************************
10247 [
10248     object,
10249     uuid(e58a8563-2a3e-11D2-bfa4-006097116212),
10250     helpstring("IAAFFilmDescriptor Interface"),
10251     pointer_default(unique)
10252 ]
10253 interface IAAFFilmDescriptor : IUnknown
10254 {
10255 
10256   //***********************************************************
10257   //
10258   // SetFilmManufacturer()
10259   //
10288   HRESULT SetFilmManufacturer (
10289     [in, string] aafCharacter_constptr  pFilmManufacturer);
10290 
10291 
10292   //***********************************************************
10293   //
10294   // GetFilmManufacturer()
10295   //
10333   HRESULT GetFilmManufacturer (
10334     [out, string, size_is(bufSize)] aafCharacter *  pFilmManufacturer,
10335     [in] aafUInt32  bufSize);
10336 
10337 
10338   //***********************************************************
10339   //
10340   // GetFilmManufacturerBufLen()
10341   //
10359   HRESULT GetFilmManufacturerBufLen (
10360     [out] aafUInt32 *  pBufSize);
10361 
10362 
10363   //***********************************************************
10364   //
10365   // SetFilmModel()
10366   //
10395   HRESULT SetFilmModel (
10396     [in, string] aafCharacter_constptr  pFilmModel);
10397 
10398 
10399   //***********************************************************
10400   //
10401   // GetFilmModel()
10402   //
10440   HRESULT GetFilmModel (
10441     [out, string, size_is(bufSize)] aafCharacter *  pFilmModel,
10442     [in] aafUInt32  bufSize);
10443 
10444 
10445   //***********************************************************
10446   //
10447   // GetFilmModelBufLen()
10448   //
10466   HRESULT GetFilmModelBufLen (
10467     [out] aafUInt32 *  pBufSize);
10468 
10469 
10470   //***********************************************************
10471   //
10472   // GetFilmFormat()
10473   //
10500   HRESULT GetFilmFormat (
10501     [out] aafFilmType_t*  pFilmFormat);
10502 
10503 
10504   //***********************************************************
10505   //
10506   // GetFrameRate()
10507   //
10528   HRESULT GetFrameRate (
10529     [out] aafUInt32*  pRate);
10530 
10531 
10532   //***********************************************************
10533   //
10534   // GetPerfPerFrame()
10535   //
10556   HRESULT GetPerfPerFrame (
10557     [out] aafUInt8*  pPerfPerFrame);
10558 
10559 
10560   //***********************************************************
10561   //
10562   // GetFilmAspectRatio()
10563   //
10584   HRESULT GetFilmAspectRatio (
10585     [out] aafRational_t*  pAspectRatio);
10586 
10587 
10588   //***********************************************************
10589   //
10590   // SetFilmFormat()
10591   //
10617   HRESULT SetFilmFormat (
10618     [in] aafFilmType_t  filmFormat);
10619 
10620 
10621   //***********************************************************
10622   //
10623   // SetFrameRate()
10624   //
10639   HRESULT SetFrameRate (
10640     [in] aafUInt32  rate);
10641 
10642 
10643   //***********************************************************
10644   //
10645   // SetPerfPerFrame()
10646   //
10661   HRESULT SetPerfPerFrame (
10662     [in] aafUInt8  perfPerFrame);
10663 
10664 
10665   //***********************************************************
10666   //
10667   // SetFilmAspectRatio()
10668   //
10683   HRESULT SetFilmAspectRatio (
10684     [in] aafRational_t  aspectRatio);
10685 }
10686 
10687 
10688 
10689 // ************************
10690 //
10691 // Interface IAAFFindSourceInfo
10692 //
10693 // ************************
10694 [
10695     object,
10696     uuid(9346ACD1-2713-11d2-8035-006008143E6F),
10697     helpstring("IAAFFindSourceInfo Interface"),
10698     pointer_default(unique)
10699 ]
10700 interface IAAFFindSourceInfo : IUnknown
10701 {
10702 
10703 
10704   //***********************************************************
10705   //
10706   // GetMob()
10707   //
10731   HRESULT GetMob (
10732     [out] IAAFMob ** ppMob);
10733 
10734   //***********************************************************
10735   //
10736   // GetSourceReference()
10737   //
10765   HRESULT GetSourceReference (
10766     [out] aafSourceRef_t *  pSourceRef);
10767 
10768   //***********************************************************
10769   //
10770   // GetLength()
10771   //
10799   HRESULT GetLength (
10800     [retval][out] aafLength_t *  pLength);
10801 
10802   //***********************************************************
10803   //
10804   // GetEditRate()
10805   //
10826   HRESULT GetEditRate (
10827     [out,retval] aafRational_t *  pEditRate);
10828 
10829 }
10830 
10831 
10832 
10833 // ************************
10834 //
10835 // Interface IAAFGPITrigger
10836 //
10837 // ************************
10838 
10868 [
10869     object,
10870     uuid(e684d78c-b935-11d2-bf9d-00104bc9156d),
10871     helpstring("IAAFGPITrigger Interface"),
10872     pointer_default(unique)
10873 ]
10874 interface IAAFGPITrigger : IUnknown
10875 {
10876 
10877 
10878   //***********************************************************
10879   //
10880   // GetActiveState()
10881   //
10900   HRESULT GetActiveState (
10901     [out, retval] aafBoolean_t *  pActiveState);
10902 
10903 
10904   //***********************************************************
10905   //
10906   // SetActiveState()
10907   //
10920   HRESULT SetActiveState (
10921     [in] aafBoolean_t  ActiveState);
10922 
10923 }
10924 
10925 
10926 
10927 // ************************
10928 //
10929 // Interface IAAFGetFileBits
10930 //
10931 // ************************
10950 
10951 
10952 [
10953     object,
10954     uuid(3CC80282-72A8-11D4-B80D-0000863F2C27),
10955     helpstring("IAAFGetFileBits Interface"),
10956     pointer_default(unique)
10957 ]
10958 interface IAAFGetFileBits : IUnknown
10959 {
10960 
10961   //***********************************************************
10962   //
10963   // ReadAt()
10964   //
10995   HRESULT ReadAt (
10996     [out, size_is(bufSize)] aafMemPtr_t  buf,
10997     [in] aafUInt32  bufSize,
10998     [in] aafUInt64  position);
10999 
11000 
11001   //***********************************************************
11002   //
11003   // GetSize()
11004   //
11022   HRESULT GetSize (
11023     [out] aafUInt64 *  pSize);
11024 }
11025 
11026 
11027 
11028 // ************************
11029 //
11030 // Interface IAAFHeader
11031 //
11032 // ************************
11052 [
11053     object,
11054     uuid(B1A21382-1A7D-11D2-BF78-00104BC9156D),
11055     helpstring("IAAFHeader Interface"),
11056     pointer_default(unique)
11057 ]
11058 interface IAAFHeader : IUnknown
11059 {
11060   //***********************************************************
11061   //
11062   // LookupMob()
11063   //
11089   HRESULT LookupMob (
11090     [in, ref] aafMobID_constref  mobID,
11091     [out,retval] IAAFMob ** ppMob);
11092 
11093 
11094   //***********************************************************
11095   //
11096   // CountMobs()
11097   //
11119   HRESULT CountMobs (
11120     [in] aafMobKind_t  mobKind,
11121     [out, retval] aafNumSlots_t *  pResult);
11122 
11123 
11124   //***********************************************************
11125   //
11126   // GetMobs()
11127   //
11153   HRESULT GetMobs (
11154     [in] aafSearchCrit_t *  pSearchCriteria,
11155     [out, retval] IEnumAAFMobs ** ppEnum);
11156 
11157 
11158   //***********************************************************
11159   //
11160   // AddMob()
11161   //
11186   HRESULT AddMob (
11187     [in] IAAFMob * pMob);
11188 
11189 
11190   //***********************************************************
11191   //
11192   // RemoveMob()
11193   //
11217   HRESULT RemoveMob (
11218     [in] IAAFMob * pMob);
11219 
11220 
11221   //***********************************************************
11222   //
11223   // CountEssenceData()
11224   //
11246   HRESULT CountEssenceData (
11247     [out, retval] aafUInt32 *  pResult);
11248 
11249 
11250   //***********************************************************
11251   //
11252   // IsEssenceDataPresent()
11253   //
11275   HRESULT IsEssenceDataPresent (
11276     [in, ref] aafMobID_constref  fileMobID,
11277     [in] aafFileFormat_t  fmt,
11278     [out,retval] aafBoolean_t *  pResult);
11279 
11280 
11281   //***********************************************************
11282   //
11283   // EnumEssenceData()
11284   //
11307   HRESULT EnumEssenceData (
11308     [out,retval] IEnumAAFEssenceData ** ppEnum);
11309 
11310 
11311   //***********************************************************
11312   //
11313   // AddEssenceData()
11314   //
11338   HRESULT AddEssenceData (
11339     [in] IAAFEssenceData * pEssenceData);
11340 
11341   //***********************************************************
11342   //
11343   // RemoveEssenceData()
11344   //
11368   HRESULT RemoveEssenceData (
11369     [in] IAAFEssenceData * pEssenceData);
11370 
11371   //***********************************************************
11372   //
11373   // LookupEssenceData()
11374   //
11400   HRESULT LookupEssenceData (
11401     [in, ref] aafMobID_constref  mobID,
11402     [out,retval] IAAFEssenceData ** ppEssenceData);
11403 
11404   //***********************************************************
11405   //
11406   // GetDictionary()
11407   //
11430   HRESULT GetDictionary (
11431     [out, retval] IAAFDictionary ** ppDictionary);
11432 
11433 
11434   //***********************************************************
11435   //
11436   // GetLastIdentification()
11437   //
11459   HRESULT GetLastIdentification (
11460     [out,retval] IAAFIdentification ** ppIdentification);
11461 
11462 
11463   //***********************************************************
11464   //
11465   // LookupIdentification()
11466   //
11493   HRESULT LookupIdentification (
11494     [in, ref] aafUID_constref  generation,
11495     [out,retval] IAAFIdentification ** ppIdentification);
11496 
11497 
11498   //***********************************************************
11499   //
11500   // CountIdentifications()
11501   //
11522   HRESULT CountIdentifications (
11523     [out, retval] aafUInt32 *  pResult);
11524 
11525 
11526   //***********************************************************
11527   //
11528   // GetIdentifications()
11529   //
11551   HRESULT GetIdentifications (
11552     [out,retval] IEnumAAFIdentifications ** ppEnum);
11553 
11554 
11555   //***********************************************************
11556   //
11557   // AppendIdentification()
11558   //
11581   HRESULT AppendIdentification (
11582     [in] IAAFIdentification * pIdent);
11583 
11584 
11585   //***********************************************************
11586   //
11587   // GetIdentificationAt()
11588   //
11612   HRESULT GetIdentificationAt (
11613     [in] aafUInt32  index,
11614     [out, retval] IAAFIdentification ** ppIdentification);
11615 
11616 
11617   //***********************************************************
11618   //
11619   // GetRefImplVersion()
11620   //
11641   HRESULT GetRefImplVersion (
11642     [out, retval] aafProductVersion_t *  pVersion);
11643 
11644 
11645   //***********************************************************
11646   //
11647   // GetFileRevision()
11648   //
11668   HRESULT GetFileRevision (
11669     [out, retval] aafVersionType_t *  pRevision);
11670 
11671 
11672   //***********************************************************
11673   //
11674   // GetLastModified()
11675   //
11695   HRESULT GetLastModified (
11696     [out, retval] aafTimeStamp_t *  pTimeStamp);
11697 
11698 
11699   //***********************************************************
11700   //
11701   // GetContentStorage()
11702   //
11727   HRESULT GetContentStorage (
11728     [out] IAAFContentStorage ** ppStorage);
11729 
11730 
11731 
11732 
11733 
11734 
11735 
11736 
11737 
11738 
11739 
11740 
11741 
11742 
11743 
11744 
11745 
11746 
11747 
11748 }
11749 
11750 
11751 // ************************
11752 //
11753 // Interface IAAFIdentification
11754 //
11755 // ************************
11781 
11782 
11786 [
11787     object,
11788     uuid(B1A2137E-1A7D-11D2-BF78-00104BC9156D),
11789     helpstring("IAAFIdentification Interface"),
11790     pointer_default(unique)
11791 ]
11792 interface IAAFIdentification : IUnknown
11793 {
11794 
11795   //***********************************************************
11796   //
11797   // Initialize()
11798   //
11840   HRESULT Initialize (
11841     [in] aafCharacter_constptr  companyName,
11842     [in] aafCharacter_constptr  productName,
11843     [in] aafCharacter_constptr  productVersionString,
11844     [in] aafUID_constref  productID);
11845 
11846 
11847   //***********************************************************
11848   //
11849   // GetCompanyName()
11850   //
11888   HRESULT GetCompanyName (
11889     [out, string, size_is(bufSize)] aafCharacter *  pCompanyName,
11890     [in] aafUInt32  bufSize);
11891 
11892 
11893   //***********************************************************
11894   //
11895   // GetCompanyNameBufLen()
11896   //
11914   HRESULT GetCompanyNameBufLen (
11915     [out] aafUInt32 *  pBufSize);
11916 
11917 
11918   //***********************************************************
11919   //
11920   // GetProductName()
11921   //
11959   HRESULT GetProductName (
11960     [out, string, size_is(bufSize)] aafCharacter *  pProductName,
11961     [in] aafUInt32  bufSize);
11962 
11963 
11964   //***********************************************************
11965   //
11966   // GetProductNameBufLen()
11967   //
11985   HRESULT GetProductNameBufLen (
11986     [out] aafUInt32 *  pBufSize);
11987 
11988 
11989   //***********************************************************
11990   //
11991   // GetProductVersionString()
11992   //
12030   HRESULT GetProductVersionString (
12031     [out, string, size_is(bufSize)] aafCharacter *  pProductVersionString,
12032     [in] aafUInt32  bufSize);
12033 
12034 
12035   //***********************************************************
12036   //
12037   // GetProductVersionStringBufLen()
12038   //
12056   HRESULT GetProductVersionStringBufLen (
12057     [out] aafUInt32 *  pBufSize);
12058 
12059 
12060   //***********************************************************
12061   //
12062   // GetProductVersion()
12063   //
12087   HRESULT GetProductVersion (
12088     [out] aafProductVersion_t *  pVersion);
12089 
12090 
12091   //***********************************************************
12092   //
12093   // SetProductVersion()
12094   //
12115   HRESULT SetProductVersion (
12116     [in] aafProductVersion_constref  version);
12117 
12118 
12119   //***********************************************************
12120   //
12121   // GetProductID()
12122   //
12149   HRESULT GetProductID (
12150     [out] aafUID_t *  pProductID);
12151 
12152 
12153   //***********************************************************
12154   //
12155   // GetDate()
12156   //
12185   HRESULT GetDate (
12186     [out] aafTimeStamp_t *  pTimestamp);
12187 
12188 
12189   //***********************************************************
12190   //
12191   // GetRefImplVersion()
12192   //
12220   HRESULT GetRefImplVersion (
12221     [out] aafProductVersion_t *  pVersion);
12222 
12223 
12224   //***********************************************************
12225   //
12226   // GetPlatform()
12227   //
12274   HRESULT GetPlatform (
12275     [out, string, size_is(bufSize)] aafCharacter *  pPlatform,
12276     [in] aafUInt32  bufSize);
12277 
12278 
12279   //***********************************************************
12280   //
12281   // GetPlatformBufLen()
12282   //
12300   HRESULT GetPlatformBufLen (
12301     [out] aafUInt32 *  pBufSize);
12302 
12303 
12304   //***********************************************************
12305   //
12306   // GetGenerationID()
12307   //
12337   HRESULT GetGenerationID (
12338     [out] aafUID_t *  pGeneration);
12339 }
12340 
12341 
12342 
12343 // ************************
12344 //
12345 // Interface IAAFImportDescriptor
12346 //
12347 // ************************
12348 
12361 
12362 
12368 [
12369     object,
12370     uuid(2CAA17DF-DDBC-4ac5-A87E-166fcd06cc9c ),
12371     helpstring("IAAFImportDescriptor Interface"),
12372     pointer_default(unique)
12373 ]
12374 interface IAAFImportDescriptor : IUnknown
12375 {
12376 
12377   //***********************************************************
12378   //
12379   // Initialize()
12380   //
12398   HRESULT Initialize ();
12399 
12400 }
12401 
12402 
12403 
12404 // ************************
12405 //
12406 // Interface IAAFInterpolationDef
12407 //
12408 // ************************
12426 [
12427     object,
12428     uuid(293600A3-0D37-11d3-80A9-006008143E6F),
12429     helpstring("IAAFInterpolationDef Interface"),
12430     pointer_default(unique)
12431 ]
12432 interface IAAFInterpolationDef : IUnknown
12433 {
12434 
12435   //***********************************************************
12436   //
12437   // Initialize()
12438   //
12445   HRESULT Initialize (
12446     [in, ref] aafUID_constref  id,
12447     [in, string] aafCharacter_constptr  pName,
12448     [in, string] aafCharacter_constptr  pDescription);
12449 
12450 
12451 }
12452 
12453 
12454 
12455 // ************************
12456 //
12457 // Interface IAAFKLVData
12458 //
12459 // ************************
12475 [
12476     object,
12477     uuid(46114414-0676-11d4-A356-009027DFCA6A),
12478     helpstring("IAAFKLVData Interface"),
12479     pointer_default(unique)
12480 ]
12481 interface IAAFKLVData : IUnknown
12482 {
12483 
12484   //***********************************************************
12485   //
12486   // Initialize()
12487   //
12524   HRESULT Initialize (
12525     [in] aafUID_t  key,
12526     [in] aafUInt32  length,
12527     [in, size_is(length)] aafDataBuffer_t  pValue);
12528 
12529   //***********************************************************
12530   //
12531   // GetKey()
12532   //
12558   HRESULT GetKey (
12559     [out] aafUID_t*  pKey);
12560 
12561 
12562   //***********************************************************
12563   //
12564   // GetValue()
12565   //
12596   HRESULT GetValue (
12597     [in] aafUInt32  valueSize,
12598     [out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t  pValue,
12599     [out] aafUInt32 *  bytesRead);
12600 
12601 
12602   //***********************************************************
12603   //
12604   // GetValueBufLen()
12605   //
12626   HRESULT GetValueBufLen (
12627     [out] aafUInt32 *  pLen);
12628 
12629   //***********************************************************
12630   //
12631   // SetValue()
12632   //
12654   HRESULT SetValue (
12655     [in] aafUInt32  valueSize,
12656     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
12657 
12658 }
12659 
12660 
12661 
12662 // ************************
12663 //
12664 // Interface IAAFKLVDataDefinition
12665 //
12666 // ************************
12675 [
12676     object,
12677     uuid(f6af8700-949c-4304-9706-c0576b53f4aa),
12678     helpstring("IAAFKLVDataDefinition Interface"),
12679     pointer_default(unique)
12680 ]
12681 interface IAAFKLVDataDefinition : IUnknown
12682 {
12683 
12684 
12685   //***********************************************************
12686   //
12687   // Initialize()
12688   //
12695   HRESULT Initialize (
12696     [in, ref] aafUID_constref  id,
12697     [in, string] aafCharacter_constptr  pName,
12698     [in, string] aafCharacter_constptr  pDescription);
12699 
12700   //***********************************************************
12701   //
12702   // AddParentProperty()
12703   //
12715   HRESULT AddParentProperty (
12716     [in] IAAFPropertyDef * pParentProperty);
12717 
12718   //***********************************************************
12719   //
12720   // GetParentProperties()
12721   //
12735   HRESULT GetParentProperties (
12736     [out] IEnumAAFPropertyDefs ** ppEnum);
12737 
12738   //***********************************************************
12739   //
12740   // CountParentProperties()
12741   //
12755   HRESULT CountParentProperties (
12756     [out] aafUInt32*  pNumProperties);
12757 
12758   //***********************************************************
12759   //
12760   // RemoveParentProperty()
12761   //
12777   HRESULT RemoveParentProperty (
12778     [in] IAAFPropertyDef * pParentProperty);
12779 
12780   //***********************************************************
12781   //
12782   // GetKLVDataType()
12783   //
12801   HRESULT GetKLVDataType (
12802     [out] IAAFTypeDef ** ppTypeDef);
12803 
12804 
12805   //***********************************************************
12806   //
12807   // SetKLVDataType()
12808   //
12821   HRESULT SetKLVDataType (
12822     [in] IAAFTypeDef * pTypeDef);
12823 
12824 }
12825 
12826 
12827 
12828 // ************************
12829 //
12830 // Interface IAAFLocator
12831 //
12832 // ************************
12853 
12854 
12858 [
12859     object,
12860     uuid(d4f89061-69d6-11d2-841b-00600832acb8),
12861     helpstring("IAAFLocator Interface"),
12862     pointer_default(unique)
12863 ]
12864 interface IAAFLocator : IUnknown
12865 {
12866 
12867   //***********************************************************
12868   //
12869   // SetPath()
12870   //
12899   HRESULT SetPath (
12900     [in, string] aafCharacter_constptr  pPath);
12901 
12902 
12903   //***********************************************************
12904   //
12905   // GetPath()
12906   //
12944   HRESULT GetPath (
12945     [out, string, size_is(bufSize)] aafCharacter *  pPath,
12946     [in] aafUInt32  bufSize);
12947 
12948 
12949   //***********************************************************
12950   //
12951   // GetPathBufLen()
12952   //
12970   HRESULT GetPathBufLen (
12971     [out] aafUInt32 *  pBufSize);
12972 }
12973 
12974 
12975 
12976 // ************************
12977 //
12978 // Interface IAAFMasterMob
12979 //
12980 // ************************
13000 [
13001     object,
13002     uuid(b1a21372-1a7d-11d2-bf78-00104bc9156d),
13003     helpstring("IAAFMasterMob Interface"),
13004     pointer_default(unique)
13005 ]
13006 interface IAAFMasterMob : IUnknown
13007 {
13008   //***********************************************************
13009   //
13010   // Initialize()
13011   //
13029   HRESULT Initialize ();
13030 
13031 
13032   //***********************************************************
13033   //
13034   // AddMasterSlot()
13035   //
13085   HRESULT AddMasterSlot (
13086     [in] IAAFDataDef * pDataDef,
13087     [in] aafSlotID_t  sourceSlotID,
13088     [in] IAAFSourceMob * pSourceMob,
13089     [in] aafSlotID_t  masterSlotID,
13090     [in, string] aafCharacter_constptr  pSlotName);
13091 
13092 
13093   //***********************************************************
13094   //
13095   // GetTapeName()
13096   //
13142   HRESULT GetTapeName (
13143     [in] aafUInt32  masterSlotID,
13144     [out, size_is(bufSize), string] aafCharacter *  pTapeName,
13145     [in] aafUInt32  bufSize);
13146 
13147 
13148   //***********************************************************
13149   //
13150   // GetTapeNameBufLen()
13151   //
13184   HRESULT GetTapeNameBufLen (
13185     [in] aafUInt32  masterSlotID,
13186     [out] aafUInt32 *  pLen);
13187 
13188 
13189   //***********************************************************
13190   //
13191   // GetNumRepresentations()
13192   //
13226   HRESULT GetNumRepresentations (
13227     [in] aafSlotID_t  slotID,
13228     [out, retval] aafNumSlots_t *  pNumReps);
13229 
13230 
13231   //***********************************************************
13232   //
13233   // GetRepresentation()
13234   //
13276   HRESULT GetRepresentation (
13277     [in] aafSlotID_t  slotID,
13278     [in] aafUInt32  index,
13279     [out] IAAFSegment ** ppSourceClip);
13280 
13281 
13282   //***********************************************************
13283   //
13284   // GetCriteriaSegment()
13285   //
13334   HRESULT GetCriteriaSegment (
13335     [in] aafSlotID_t  slotID,
13336     [in] aafMediaCriteria_t *  pCriteria,
13337     [out] IAAFSegment ** ppSegment);
13338 
13339 
13340   //***********************************************************
13341   //
13342   // AppendPhysSourceRef()
13343   //
13388   HRESULT AppendPhysSourceRef (
13389     [in] aafRational_t  editrate,
13390     [in] aafSlotID_t  aMobSlot,
13391     [in] IAAFDataDef * pEssenceKind,
13392     [in] aafSourceRef_t  ref,
13393     [in] aafLength_t  srcRefLength);
13394 
13395 
13396   //***********************************************************
13397   //
13398   // NewPhysSourceRef()
13399   //
13444   HRESULT NewPhysSourceRef (
13445     [in] aafRational_t  editrate,
13446     [in] aafSlotID_t  aMobSlot,
13447     [in] IAAFDataDef * pEssenceKind,
13448     [in] aafSourceRef_t  ref,
13449     [in] aafLength_t  srcRefLength);
13450 
13451 
13452   //***********************************************************
13453   //
13454   // CreateEssence()
13455   //
13481   HRESULT CreateEssence (
13482     [in] aafSlotID_t  masterSlotID,
13483     [in] IAAFDataDef * pMediaKind,
13484     [in, ref] aafUID_constref  codecID,
13485     [in] aafRational_t  editRate,
13486     [in] aafRational_t  samplerate,
13487     [in] aafCompressEnable_t  Enable,
13488     [in] IAAFLocator * destination,
13489     [in, ref] aafUID_constref  fileFormat,
13490     [out] IAAFEssenceAccess ** access);
13491 
13492 
13493   //***********************************************************
13494   //
13495   // CreateMultiEssence()
13496   //
13512   HRESULT CreateMultiEssence (
13513     [in, ref] aafUID_constref  codecID,
13514     [in] aafUInt16  arrayElemCount,
13515     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
13516     [in] aafCompressEnable_t  Enable,
13517     [in] IAAFLocator * destination,
13518     [in, ref] aafUID_constref  fileFormat,
13519     [out] IAAFEssenceMultiAccess**  access);
13520 
13521 
13522   //***********************************************************
13523   //
13524   // OpenEssence()
13525   //
13546   HRESULT OpenEssence (
13547     [in] aafSlotID_t  slotID,
13548     [in] aafMediaCriteria_t*  mediaCrit,
13549     [in] aafMediaOpenMode_t  openMode,
13550     [in] aafCompressEnable_t  compEnable,
13551     [out] IAAFEssenceAccess ** access);
13552         
13553 
13554   //***********************************************************
13555   //
13556   // OpenMultiEssence()
13557   //
13572   HRESULT OpenMultiEssence (
13573     [in] aafSlotID_t  slotID,
13574     [in] aafMediaCriteria_t*  mediaCrit,
13575     [in] aafMediaOpenMode_t  openMode,
13576     [in] aafCompressEnable_t  compEnable,
13577     [out] IAAFEssenceMultiAccess**  access);
13578 
13579 
13580   //***********************************************************
13581   //
13582   // CountChannels()
13583   //
13600   HRESULT CountChannels (
13601     [in] aafSlotID_t  slotID,
13602     [in] aafMediaCriteria_t*  mediaCrit,
13603     [in] IAAFDataDef * pMediaKind,
13604     [out] aafUInt16*  numCh);
13605 
13606 
13607 
13608 
13609 
13610 
13611 
13612 
13613 
13614 
13615 
13616 
13617 }
13618 
13619 
13620 // ************************
13621 //
13622 // Interface IAAFMetaDefinition
13623 //
13624 // ************************
13645 [
13646     object,
13647     uuid(cee32174-0c10-11d4-8014-00104bc9156d),
13648     helpstring("IAAFMetaDefinition Interface"),
13649     pointer_default(unique)
13650 ]
13651 interface IAAFMetaDefinition : IUnknown
13652 {
13653 
13654 
13655   //***********************************************************
13656   //
13657   // Initialize()
13658   //
13665   HRESULT Initialize (
13666     [in, ref] aafUID_constref  id,
13667     [in, string] aafCharacter_constptr  pName,
13668     [in, string] aafCharacter_constptr  pDescription);
13669 
13670 
13671   //***********************************************************
13672   //
13673   // GetAUID()
13674   //
13679   HRESULT GetAUID (
13680     [retval,out] aafUID_t *  pAuid);
13681 
13682   //***********************************************************
13683   //
13684   // SetName()
13685   //
13714   HRESULT SetName (
13715     [in, string] aafCharacter_constptr  pName);
13716 
13717 
13718   //***********************************************************
13719   //
13720   // GetName()
13721   //
13759   HRESULT GetName (
13760     [out, string, size_is(bufSize)] aafCharacter *  pName,
13761     [in] aafUInt32  bufSize);
13762 
13763 
13764   //***********************************************************
13765   //
13766   // GetNameBufLen()
13767   //
13785   HRESULT GetNameBufLen (
13786     [out] aafUInt32 *  pBufSize);
13787 
13788   //***********************************************************
13789   //
13790   // SetDescription()
13791   //
13820   HRESULT SetDescription (
13821     [in, string] aafCharacter_constptr  pDescription);
13822 
13823 
13824   //***********************************************************
13825   //
13826   // GetDescription()
13827   //
13865   HRESULT GetDescription (
13866     [out, string, size_is(bufSize)] aafCharacter *  pDescription,
13867     [in] aafUInt32  bufSize);
13868 
13869 
13870   //***********************************************************
13871   //
13872   // GetDescriptionBufLen()
13873   //
13891   HRESULT GetDescriptionBufLen (
13892     [out] aafUInt32 *  pBufSize);
13893 
13894 }
13895 
13896 
13897 
13898 // ************************
13899 //
13900 // Interface IAAFMob
13901 //
13902 // ************************
13930 [
13931     object,
13932     uuid(B1A21374-1A7D-11d2-BF78-00104BC9156D),
13933     helpstring("IAAFMob Interface"),
13934     pointer_default(unique)
13935 ]
13936 
13937 interface IAAFMob : IUnknown
13938 {
13939 
13940   //***********************************************************
13941   //
13942   // GetMobID()
13943   //
13963   HRESULT GetMobID (
13964     [out] aafMobID_t *  pMobID);
13965 
13966 
13967   //***********************************************************
13968   //
13969   // SetMobID()
13970   //
13986   HRESULT SetMobID (
13987     [in, ref] aafMobID_constref  mobID);
13988 
13989 
13990   //***********************************************************
13991   //
13992   // SetName()
13993   //
14022   HRESULT SetName (
14023     [in, string] aafCharacter_constptr  pName);
14024 
14025 
14026   //***********************************************************
14027   //
14028   // GetName()
14029   //
14067   HRESULT GetName (
14068     [out, string, size_is(bufSize)] aafCharacter *  pName,
14069     [in] aafUInt32  bufSize);
14070 
14071 
14072   //***********************************************************
14073   //
14074   // GetNameBufLen()
14075   //
14093   HRESULT GetNameBufLen (
14094     [out] aafUInt32 *  pBufSize);
14095 
14096 
14097   //***********************************************************
14098   //
14099   // CountSlots()
14100   //
14120   HRESULT CountSlots (
14121     [out] aafNumSlots_t *  pNumSlots);
14122 
14123 
14124   //***********************************************************
14125   //
14126   // AppendSlot()
14127   //
14147   HRESULT AppendSlot (
14148     [in] IAAFMobSlot * pSlot);
14149 
14150 
14151   //***********************************************************
14152   //
14153   // PrependSlot()
14154   //
14174   HRESULT PrependSlot (
14175     [in] IAAFMobSlot * pSlot);
14176 
14177 
14178   //***********************************************************
14179   //
14180   // InsertSlotAt()
14181   //
14209   HRESULT InsertSlotAt (
14210     [in] aafUInt32  index,
14211     [in] IAAFMobSlot * pSlot);
14212 
14213 
14214   //***********************************************************
14215   //
14216   // RemoveSlotAt()
14217   //
14240   HRESULT RemoveSlotAt (
14241     [in] aafUInt32  index);
14242 
14243 
14244   //***********************************************************
14245   //
14246   // GetSlotAt()
14247   //
14273   HRESULT GetSlotAt (
14274     [in] aafUInt32  index,
14275     [out, retval] IAAFMobSlot ** ppSlot);
14276 
14277 
14278   //***********************************************************
14279   //
14280   // GetSlots()
14281   //
14302   HRESULT GetSlots (
14303     [out] IEnumAAFMobSlots ** ppEnum);
14304 
14305 
14306   //***********************************************************
14307   //
14308   // GetModTime()
14309   //
14329   HRESULT GetModTime (
14330     [out] aafTimeStamp_t *  pLastModified);
14331 
14332 
14333   //***********************************************************
14334   //
14335   // SetModTime()
14336   //
14355   HRESULT SetModTime (
14356     [in, ref] aafTimeStamp_constref  modTime);
14357 
14358 
14359   //***********************************************************
14360   //
14361   // GetCreateTime()
14362   //
14382   HRESULT GetCreateTime (
14383     [out] aafTimeStamp_t *  pCreationTime);
14384 
14385 
14386   //***********************************************************
14387   //
14388   // SetCreateTime()
14389   //
14407   HRESULT SetCreateTime (
14408     [in, ref] aafTimeStamp_constref  createTime);
14409 
14410 
14411   //***********************************************************
14412   //
14413   // AppendComment()
14414   //
14438   HRESULT AppendComment (
14439     [in,string] aafCharacter *  pCategory,
14440     [in, string] aafCharacter_constptr  pComment);
14441 
14442 
14443   //***********************************************************
14444   //
14445   // CountComments()
14446   //
14466   HRESULT CountComments (
14467     [out] aafUInt32 *  pNumComments);
14468 
14469 
14470   //***********************************************************
14471   //
14472   // GetComments()
14473   //
14496   HRESULT GetComments (
14497     [out] IEnumAAFTaggedValues ** ppEnum);
14498 
14499 
14500   //***********************************************************
14501   //
14502   // RemoveComment()
14503   //
14527   HRESULT RemoveComment (
14528     [in] IAAFTaggedValue * pComment);
14529 
14530 
14531   //***********************************************************
14532   //
14533   // AppendNewTimelineSlot()
14534   //
14564   HRESULT AppendNewTimelineSlot (
14565     [in] aafRational_t  editRate,
14566     [in] IAAFSegment * pSegment,
14567     [in] aafSlotID_t  slotID,
14568     [in, string] aafCharacter_constptr  pSlotName,
14569     [in] aafPosition_t  origin,
14570     [out] IAAFTimelineMobSlot ** ppNewSlot);
14571 
14572 
14573   //***********************************************************
14574   //
14575   // GetMobInfo()
14576   //
14608   HRESULT GetMobInfo (
14609     [out] aafTimeStamp_t *  pLastModified,
14610     [out] aafTimeStamp_t *  pCreationTime,
14611     [out, size_is(bufSize), string] aafCharacter *  pName,
14612     [in] aafInt32  bufSize);
14613 
14614 
14615   //***********************************************************
14616   //
14617   // OffsetToMobTimecode()
14618   //
14649   HRESULT OffsetToMobTimecode (
14650     [in] IAAFSegment * pTcSeg,
14651     [in] aafPosition_t *  pOffset,
14652     [out] aafTimecode_t *  pResult);
14653 
14654 
14655   //***********************************************************
14656   //
14657   // LookupSlot()
14658   //
14682   HRESULT LookupSlot (
14683     [in] aafSlotID_t  slotId,
14684     [out] IAAFMobSlot ** ppDestSlot);
14685 
14686 
14687   //***********************************************************
14688   //
14689   // ChangeRef()
14690   //
14711   HRESULT ChangeRef (
14712     [in, ref] aafMobID_constref  oldMobID,
14713     [in, ref] aafMobID_constref  newMobID);
14714 
14715 
14716   //***********************************************************
14717   //
14718   // CloneExternal()
14719   //
14760   HRESULT CloneExternal (
14761     [in] aafDepend_t  resolveDependencies,
14762     [in] aafIncMedia_t  includeMedia,
14763     [in] IAAFFile * pDestFile,
14764     [out] IAAFMob ** ppDestMob);
14765 
14766 
14767   //***********************************************************
14768   //
14769   // Copy()
14770   //
14800   HRESULT Copy (
14801     [in, string] aafCharacter_constptr  pDestMobName,
14802     [out] IAAFMob ** ppDestMob);
14804 
14805   //***********************************************************
14806   //
14807   // AppendKLVData()
14808   //
14829   HRESULT AppendKLVData (
14830     [in] IAAFKLVData * pData);
14831 
14832 
14833   //***********************************************************
14834   //
14835   // CountKLVData()
14836   //
14856   HRESULT CountKLVData (
14857     [out] aafUInt32 *  pNumData);
14858 
14859 
14860   //***********************************************************
14861   //
14862   // GetKLVData()
14863   //
14885   HRESULT GetKLVData (
14886     [out] IEnumAAFKLVData ** ppEnum);
14887 
14888 
14889   //***********************************************************
14890   //
14891   // RemoveKLVData()
14892   //
14916   HRESULT RemoveKLVData (
14917     [in] IAAFKLVData * pData);
14918 
14919 
14920 
14921 
14922 
14923 
14924 
14925 
14926 
14927 
14928 
14929 
14930 
14931 }
14932 
14933 
14934 // ************************
14935 //
14936 // Interface IAAFMobSlot
14937 //
14938 // ************************
14973 [
14974     object,
14975     uuid(B1A21376-1A7D-11D2-BF78-00104BC9156D),
14976     helpstring("IAAFMobSlot Interface"),
14977     pointer_default(unique)
14978 ]
14979 interface IAAFMobSlot : IUnknown
14980 {
14981 
14982   //***********************************************************
14983   //
14984   // GetSegment()
14985   //
15008   HRESULT GetSegment (
15009     [out,retval] IAAFSegment ** ppResult);
15010 
15011 
15012   //***********************************************************
15013   //
15014   // SetName()
15015   //
15044   HRESULT SetName (
15045     [in, string] aafCharacter_constptr  pName);
15046 
15047 
15048   //***********************************************************
15049   //
15050   // GetName()
15051   //
15089   HRESULT GetName (
15090     [out, string, size_is(bufSize)] aafCharacter *  pName,
15091     [in] aafUInt32  bufSize);
15092 
15093 
15094   //***********************************************************
15095   //
15096   // GetNameBufLen()
15097   //
15115   HRESULT GetNameBufLen (
15116     [out] aafUInt32 *  pBufSize);
15117 
15118 
15119   //***********************************************************
15120   //
15121   // GetPhysicalNum()
15122   //
15156   HRESULT GetPhysicalNum (
15157     [out,retval] aafUInt32 *  pResult);
15158 
15159 
15160   //***********************************************************
15161   //
15162   // GetDataDef()
15163   //
15186   HRESULT GetDataDef (
15187     [out,retval] IAAFDataDef ** ppResult);
15188 
15189 
15190   //***********************************************************
15191   //
15192   // GetSlotID()
15193   //
15213   HRESULT GetSlotID (
15214     [out,retval] aafSlotID_t *  pResult);
15215 
15216 
15217   //***********************************************************
15218   //
15219   // SetSegment()
15220   //
15237   HRESULT SetSegment (
15238     [in] IAAFSegment * pSegment);
15239 
15240 
15241   //***********************************************************
15242   //
15243   // SetPhysicalNum()
15244   //
15271   HRESULT SetPhysicalNum (
15272     [in] aafUInt32  number);
15273 
15274 
15275   //***********************************************************
15276   //
15277   // SetSlotID()
15278   //
15292   HRESULT SetSlotID (
15293     [in] aafSlotID_t  value);
15294 }
15295 
15296 
15297 
15298 // ************************
15299 //
15300 // Interface IAAFMPEGVideoDescriptor
15301 //
15302 // ************************
15323 [
15324     object,
15325     uuid(f2768aac-ed68-4ace-a8a3-3304e94c799f),
15326     helpstring("IAAFMPEGVideoDescriptor Interface"),
15327     pointer_default(unique)
15328 ]
15329 interface IAAFMPEGVideoDescriptor : IUnknown
15330 {
15331 
15332   //***********************************************************
15333   //
15334   // Initialize()
15335   //
15354   HRESULT Initialize ();
15355 
15356 
15357   //***********************************************************
15358   //
15359   // SetSingleSequence()
15360   //
15373   HRESULT SetSingleSequence (
15374     [in] aafBoolean_t  singleSequence);
15375 
15376 
15377   //***********************************************************
15378   //
15379   // GetSingleSequence()
15380   //
15402   HRESULT GetSingleSequence (
15403     [out] aafBoolean_t *  pSingleSequence);
15404 
15405 
15406   //***********************************************************
15407   //
15408   // SetConstantBPictureCount()
15409   //
15422   HRESULT SetConstantBPictureCount (
15423     [in] aafBoolean_t  constantBPictureCount);
15424 
15425 
15426   //***********************************************************
15427   //
15428   // GetConstantBPictureCount()
15429   //
15451   HRESULT GetConstantBPictureCount (
15452     [out] aafBoolean_t *  pConstantBPictureCount);
15453 
15454 
15455   //***********************************************************
15456   //
15457   // SetCodedContentScanning()
15458   //
15477   HRESULT SetCodedContentScanning (
15478     [in] aafContentScanningType_t  codedContentScanning);
15479 
15480 
15481   //***********************************************************
15482   //
15483   // GetCodedContentScanning()
15484   //
15506   HRESULT GetCodedContentScanning (
15507     [out] aafContentScanningType_t *  pContentScanning);
15508 
15509 
15510   //***********************************************************
15511   //
15512   // SetLowDelay()
15513   //
15526   HRESULT SetLowDelay (
15527     [in] aafBoolean_t  lowDelay);
15528 
15529 
15530   //***********************************************************
15531   //
15532   // GetLowDelay()
15533   //
15555   HRESULT GetLowDelay (
15556     [out] aafBoolean_t *  pLowDelay);
15557 
15558 
15559   //***********************************************************
15560   //
15561   // SetClosedGOP()
15562   //
15575   HRESULT SetClosedGOP (
15576     [in] aafBoolean_t  closedGOP);
15577 
15578 
15579   //***********************************************************
15580   //
15581   // GetClosedGOP()
15582   //
15604   HRESULT GetClosedGOP (
15605     [out] aafBoolean_t *  pClosedGOP);
15606 
15607 
15608   //***********************************************************
15609   //
15610   // SetIdenticalGOP()
15611   //
15624   HRESULT SetIdenticalGOP (
15625     [in] aafBoolean_t  identicalGOP);
15626 
15627 
15628   //***********************************************************
15629   //
15630   // GetIdenticalGOP()
15631   //
15653   HRESULT GetIdenticalGOP (
15654     [out] aafBoolean_t *  pIdenticalGOP);
15655 
15656 
15657   //***********************************************************
15658   //
15659   // SetMaxGOP()
15660   //
15673   HRESULT SetMaxGOP (
15674     [in] aafUInt16  maxGOP);
15675 
15676   //***********************************************************
15677   //
15678   // GetMaxGOP()
15679   //
15701   HRESULT GetMaxGOP (
15702     [out] aafUInt16 *  pMaxGOP);
15703 
15704 
15705   //***********************************************************
15706   //
15707   // SetMaxBPictureCount()
15708   //
15721   HRESULT SetMaxBPictureCount (
15722     [in] aafUInt16  maxBPictureCount);
15723 
15724   //***********************************************************
15725   //
15726   // GetMaxBPictureCount()
15727   //
15749   HRESULT GetMaxBPictureCount (
15750     [out] aafUInt16 *  pMaxBPictureCount);
15751 
15752 
15753   //***********************************************************
15754   //
15755   // SetBitRate()
15756   //
15769   HRESULT SetBitRate (
15770     [in] aafUInt32  bitRate);
15771 
15772   //***********************************************************
15773   //
15774   // GetBitRate()
15775   //
15797   HRESULT GetBitRate (
15798     [out] aafUInt32 *  pBitRate);
15799 
15800 
15801   //***********************************************************
15802   //
15803   // SetProfileAndLevel()
15804   //
15817   HRESULT SetProfileAndLevel (
15818     [in] aafUInt8  profileAndLevel);
15819 
15820   //***********************************************************
15821   //
15822   // GetProfileAndLevel()
15823   //
15845   HRESULT GetProfileAndLevel (
15846     [out] aafUInt8 *  pProfileAndLevel);
15847 
15848 }
15849 
15850 
15851 
15852 // ************************
15853 //
15854 // Interface IAAFMultipleDescriptor
15855 //
15856 // ************************
15880 [
15881     object,
15882     uuid(dabf53cf-1ec3-43a2-9418-f22fb87c38f4),
15883     helpstring("IAAFMultipleDescriptor Interface"),
15884     pointer_default(unique)
15885 ]
15886 
15887 interface IAAFMultipleDescriptor : IUnknown
15888 {
15889 
15890 
15891   //***********************************************************
15892   //
15893   // Initialize()
15894   //
15913   HRESULT Initialize ();
15914 
15915   //***********************************************************
15916   //
15917   // CountFileDescriptors()
15918   //
15939   HRESULT CountFileDescriptors (
15940     [out] aafUInt32 *  pResult);
15941 
15942 
15943   //***********************************************************
15944   //
15945   // AppendFileDescriptor()
15946   //
15973   HRESULT AppendFileDescriptor (
15974     [in] IAAFFileDescriptor * pFileDescriptor);
15975 
15976 
15977   //***********************************************************
15978   //
15979   // PrependFileDescriptor()
15980   //
16007   HRESULT PrependFileDescriptor (
16008     [in] IAAFFileDescriptor * pFileDescriptor);
16009 
16010 
16011   //***********************************************************
16012   //
16013   // InsertFileDescriptorAt()
16014   //
16043   HRESULT InsertFileDescriptorAt (
16044     [in] aafUInt32  index,
16045     [in] IAAFFileDescriptor * pFileDescriptor);
16046 
16047 
16048   //***********************************************************
16049   //
16050   // GetFileDescriptorAt()
16051   //
16077   HRESULT GetFileDescriptorAt (
16078     [in] aafUInt32  index,
16079     [out, retval] IAAFFileDescriptor ** ppFileDescriptor);
16080 
16081 
16082   //***********************************************************
16083   //
16084   // RemoveFileDescriptorAt()
16085   //
16108   HRESULT RemoveFileDescriptorAt (
16109     [in] aafUInt32  index);
16110 
16111 
16112   //***********************************************************
16113   //
16114   // GetFileDescriptors()
16115   //
16136   HRESULT GetFileDescriptors (
16137     [out] IEnumAAFFileDescriptors ** ppEnum);
16138 
16139 }
16140 
16141 
16142 
16143 // ************************
16144 //
16145 // Interface IAAFNestedScope
16146 //
16147 // ************************
16170 [
16171     object,
16172     uuid(e44be451-2099-11d2-bf98-006097116212),
16173     helpstring("IAAFNestedScope Interface"),
16174     pointer_default(unique)
16175 ]
16176 interface IAAFNestedScope : IUnknown
16177 {
16178 
16179   //***********************************************************
16180   //
16181   // AppendSegment()
16182   //
16205   HRESULT AppendSegment (
16206     [in] IAAFSegment * pSegment);
16207 
16208 
16209   //***********************************************************
16210   //
16211   // PrependSegment()
16212   //
16232   HRESULT PrependSegment (
16233     [in] IAAFSegment * pSegment);
16234 
16235 
16236   //***********************************************************
16237   //
16238   // InsertSegmentAt()
16239   //
16268   HRESULT InsertSegmentAt (
16269     [in] aafUInt32  index,
16270     [in] IAAFSegment * pSegment);
16271 
16272 
16273   //***********************************************************
16274   //
16275   // RemoveSegmentAt()
16276   //
16303   HRESULT RemoveSegmentAt (
16304     [in] aafUInt32  index);
16305 
16306 
16307   //***********************************************************
16308   //
16309   // CountSegments()
16310   //
16330   HRESULT CountSegments (
16331     [out, retval] aafUInt32 *  pResult);
16332 
16333 
16334   //***********************************************************
16335   //
16336   // GetSegmentAt()
16337   //
16363   HRESULT GetSegmentAt (
16364     [in] aafUInt32  index,
16365     [out, retval] IAAFSegment ** ppSegment);
16366 
16367 
16368   //***********************************************************
16369   //
16370   // GetSegments()
16371   //
16392   HRESULT GetSegments (
16393     [out, retval] IEnumAAFSegments ** ppEnum);
16394 }
16395 
16396 
16397 
16398 // ************************
16399 //
16400 // Interface IAAFNetworkLocator
16401 //
16402 // ************************
16419 
16420 
16425 [
16426     object,
16427     uuid(2c1097b2-69d6-11d2-841b-00600832acb8),
16428     helpstring("IAAFNetworkLocator Interface"),
16429     pointer_default(unique)
16430 ]
16431 interface IAAFNetworkLocator : IUnknown
16432 {
16433 
16434   //***********************************************************
16435   //
16436   // Initialize()
16437   //
16455   HRESULT Initialize ();
16456 
16457 
16458 
16459 
16460 
16461 
16462 
16463 
16464 
16465 }
16466 
16467 
16468 
16469 // ************************
16470 //
16471 // Interface IAAFObject
16472 //
16473 // ************************
16495 [
16496     object,
16497     uuid(B1A213AB-1A7D-11D2-BF78-00104BC9156D),
16498     helpstring("IAAFObject Interface"),
16499     pointer_default(unique)
16500 ]
16501 interface IAAFObject : IUnknown
16502 {
16503 
16504   //***********************************************************
16505   //
16506   // GetGeneration()
16507   //
16543   HRESULT GetGeneration (
16544     [out] IAAFIdentification ** ppGeneration);
16545 
16546 
16547   //***********************************************************
16548   //
16549   // GetGenerationAUID()
16550   //
16586   HRESULT GetGenerationAUID (
16587     [out] aafUID_t *  pResult);
16588 
16589 
16590   //***********************************************************
16591   //
16592   // GetDefinition()
16593   //
16617   HRESULT GetDefinition (
16618     [out] IAAFClassDef ** ppClassDef);
16619 
16620 
16621   //***********************************************************
16622   //
16623   // GetProperties()
16624   //
16654   HRESULT GetProperties (
16655     [out, retval] IEnumAAFProperties ** ppEnum);
16656 
16657 
16658   //***********************************************************
16659   //
16660   // CountProperties()
16661   //
16684   HRESULT CountProperties (
16685     [out] aafUInt32 *  pCount);
16686 
16687 
16688   //***********************************************************
16689   //
16690   // GetPropertyValue()
16691   //
16720   HRESULT GetPropertyValue (
16721     [in] IAAFPropertyDef * pPropDef,
16722     [out] IAAFPropertyValue ** ppPropVal);
16723 
16724 
16725   //***********************************************************
16726   //
16727   // SetPropertyValue()
16728   //
16758   HRESULT SetPropertyValue (
16759     [in] IAAFPropertyDef * pPropDef,
16760     [in] IAAFPropertyValue * pPropVal);
16761 
16762 
16763   //***********************************************************
16764   //
16765   // IsPropertyPresent()
16766   //
16792   HRESULT IsPropertyPresent (
16793     [in] IAAFPropertyDef * pPropDef,
16794     [out] aafBoolean_t*  pResult);
16795 
16796 
16797   //***********************************************************
16798   //
16799   // RemoveOptionalProperty()
16800   //
16825   HRESULT RemoveOptionalProperty (
16826     [in] IAAFPropertyDef * pPropDef);
16827 
16828 
16829   //***********************************************************
16830   //
16831   // CreateOptionalPropertyValue()
16832   //
16861   HRESULT CreateOptionalPropertyValue (
16862     [in] IAAFPropertyDef * pPropDef,
16863     [out] IAAFPropertyValue ** ppPropVal);
16864 
16865 
16866   //***********************************************************
16867   //
16868   // GetDictionary()
16869   //
16892   HRESULT GetDictionary (
16893     [out, retval] IAAFDictionary ** ppDictionary);
16894 
16895 
16896   //***********************************************************
16897   //
16898   // EnableGenerationTracking()
16899   //
16915   HRESULT EnableGenerationTracking ();
16916 
16917 
16918   //***********************************************************
16919   //
16920   // DisableGenerationTracking()
16921   //
16938   HRESULT DisableGenerationTracking ();
16939 
16940 
16941   //***********************************************************
16942   //
16943   // IsGenerationTracked()
16944   //
16970   HRESULT IsGenerationTracked (
16971     [out] aafBoolean_t *  pResult);
16972 }
16973 
16974 
16975 
16976 // ************************
16977 //
16978 // Interface IAAFOperationDef
16979 //
16980 // ************************
16996 
16997 
16998 
16999 
17000 
17001 
17002  
17003 
17008 [
17009     object,
17010     uuid(14035d91-1ff5-11d2-bf97-006097116212),
17011     helpstring("IAAFOperationDef Interface"),
17012     pointer_default(unique)
17013 ]
17014 interface IAAFOperationDef : IUnknown
17015 {
17016 
17017   //***********************************************************
17018   //
17019   // Initialize()
17020   //
17027   HRESULT Initialize (
17028     [in, ref] aafUID_constref  id,
17029     [in, string] aafCharacter_constptr  pName,
17030     [in, string] aafCharacter_constptr  pDescription);
17031 
17032 
17033   //***********************************************************
17034   //
17035   // GetDataDef()
17036   //
17072   HRESULT GetDataDef (
17073     [out] IAAFDataDef ** ppDataDef);
17074 
17075 
17076   //***********************************************************
17077   //
17078   // SetDataDef()
17079   //
17107   HRESULT SetDataDef (
17108     [in] IAAFDataDef * pDataDef);
17109 
17110 
17111   //***********************************************************
17112   //
17113   // IsTimeWarp()
17114   //
17136   HRESULT IsTimeWarp (
17137     [out, retval] aafBoolean_t *  bIsTimeWarp);
17138 
17139 
17140   //***********************************************************
17141   //
17142   // SetIsTimeWarp()
17143   //
17157   HRESULT SetIsTimeWarp (
17158     [in] aafBoolean_t  IsTimeWarp);
17159 
17160 
17161   //***********************************************************
17162   //
17163   // PrependDegradeToOperation()
17164   //
17187   HRESULT PrependDegradeToOperation (
17188     [in] IAAFOperationDef * pOperationDef);
17189 
17190 
17191   //***********************************************************
17192   //
17193   // AppendDegradeToOperation()
17194   //
17217   HRESULT AppendDegradeToOperation (
17218     [in] IAAFOperationDef * pOperationDef);
17219 
17220 
17221   //***********************************************************
17222   //
17223   // InsertDegradeToOperationAt()
17224   //
17254   HRESULT InsertDegradeToOperationAt (
17255     [in] aafUInt32  index,
17256     [in] IAAFOperationDef * pOperationDef);
17257 
17258 
17259   //***********************************************************
17260   //
17261   // RemoveDegradeToOperationAt()
17262   //
17287   HRESULT RemoveDegradeToOperationAt (
17288     [in] aafUInt32  index);
17289 
17290 
17291   //***********************************************************
17292   //
17293   // GetDegradeToOperations()
17294   //
17315   HRESULT GetDegradeToOperations (
17316     [out, retval] IEnumAAFOperationDefs ** ppEnum);
17317 
17318 
17319   //***********************************************************
17320   //
17321   // CountDegradeToOperations()
17322   //
17343   HRESULT CountDegradeToOperations (
17344     [out, retval] aafUInt32 *  pResult);
17345 
17346 
17347   //***********************************************************
17348   //
17349   // GetCategory()
17350   //
17370   HRESULT GetCategory (
17371     [out] aafUID_t*  pValue);
17372 
17373 
17374   //***********************************************************
17375   //
17376   // SetCategory()
17377   //
17391   HRESULT SetCategory (
17392     [in, ref] aafUID_constref  value);
17393 
17394 
17395   //***********************************************************
17396   //
17397   // GetNumberInputs()
17398   //
17421   HRESULT GetNumberInputs (
17422     [out, retval] aafInt32 *  pNumberInputs);
17423 
17424 
17425   //***********************************************************
17426   //
17427   // SetNumberInputs()
17428   //
17443   HRESULT SetNumberInputs (
17444     [in] aafInt32  NumberInputs);
17445 
17446 
17447   //***********************************************************
17448   //
17449   // GetBypass()
17450   //
17478   HRESULT GetBypass (
17479     [out,retval] aafUInt32 *  pBypass);
17480 
17481 
17482   //***********************************************************
17483   //
17484   // SetBypass()
17485   //
17505   HRESULT SetBypass (
17506     [in] aafUInt32  bypass);
17507 
17508 
17509   //***********************************************************
17510   //
17511   // AddParameterDef()
17512   //
17538   HRESULT AddParameterDef (
17539     [in] IAAFParameterDef * pParameterDef);
17540 
17541 
17542   //***********************************************************
17543   //
17544   // GetParameterDefs()
17545   //
17566   HRESULT GetParameterDefs (
17567     [out,retval] IEnumAAFParameterDefs ** ppEnum);
17568 
17569 
17570   //***********************************************************
17571   //
17572   // CountParameterDefs()
17573   //
17593   HRESULT CountParameterDefs (
17594     [out] aafUInt32 *  pResult);
17595 
17596 
17597   //***********************************************************
17598   //
17599   // LookupParameterDef()
17600   //
17626   HRESULT LookupParameterDef (
17627     [in] aafUID_constref  parameterDefId,
17628     [out] IAAFParameterDef ** ppParameterDef);
17629 }
17630 
17631 
17632 
17633 // ************************
17634 //
17635 // Interface IAAFOperationGroup
17636 //
17637 // ************************
17667 [
17668     object,
17669     uuid(3AE3BA82-2C98-11d2-8042-006008143E6F),
17670     helpstring("IAAFOperationGroup Interface"),
17671     pointer_default(unique)
17672 ]
17673 interface IAAFOperationGroup : IUnknown
17674 {
17675 
17676   //***********************************************************
17677   //
17678   // Initialize()
17679   //
17691   HRESULT Initialize (
17692     [in] IAAFDataDef * pDataDef,
17693     [in] aafLength_t  length,
17694     [in] IAAFOperationDef * operationDef);
17695 
17696 
17697   //***********************************************************
17698   //
17699   // GetOperationDefinition()
17700   //
17726   HRESULT GetOperationDefinition (
17727     [out] IAAFOperationDef ** ppOperationDef);
17728 
17729   //***********************************************************
17730   //
17731   // SetOperationDefinition()
17732   //
17754   HRESULT SetOperationDefinition (
17755     [in] IAAFOperationDef * pOperationDef);
17756 
17757   //***********************************************************
17758   //
17759   // GetRender()
17760   //
17788   HRESULT GetRender (
17789     [out] IAAFSourceReference ** ppSourceRef);
17790 
17791 
17792   //***********************************************************
17793   //
17794   // IsATimeWarp()
17795   //
17819   HRESULT IsATimeWarp (
17820     [out, retval] aafBoolean_t *  pIsTimeWarp);
17821 
17822 
17823   //***********************************************************
17824   //
17825   // GetBypassOverride()
17826   //
17853   HRESULT GetBypassOverride (
17854     [out] aafUInt32 *  pBypassOverride);
17855 
17856 
17857   //***********************************************************
17858   //
17859   // CountSourceSegments()
17860   //
17880   HRESULT CountSourceSegments (
17881     [out] aafUInt32 *  pResult);
17882 
17883 
17884   //***********************************************************
17885   //
17886   // IsValidTranOperation()
17887   //
17911   HRESULT IsValidTranOperation (
17912     [out] aafBoolean_t *  pValidTransition);
17913 
17914 
17915   //***********************************************************
17916   //
17917   // CountParameters()
17918   //
17938   HRESULT CountParameters (
17939     [out] aafUInt32 *  pResult);
17940 
17941 
17942   //***********************************************************
17943   //
17944   // AddParameter()
17945   //
17966   HRESULT AddParameter (
17967     [in] IAAFParameter * pParameter);
17968 
17969 
17970   //***********************************************************
17971   //
17972   // AppendInputSegment()
17973   //
17994   HRESULT AppendInputSegment (
17995     [in] IAAFSegment * pSegment);
17996 
17997 
17998   //***********************************************************
17999   //
18000   // PrependInputSegment()
18001   //
18022   HRESULT PrependInputSegment (
18023     [in] IAAFSegment * pSegment);
18024 
18025 
18026   //***********************************************************
18027   //
18028   // InsertInputSegmentAt()
18029   //
18059   HRESULT InsertInputSegmentAt (
18060     [in] aafUInt32  index,
18061     [in] IAAFSegment * pSegment);
18062 
18063 
18064   //***********************************************************
18065   //
18066   // SetRender()
18067   //
18091   HRESULT SetRender (
18092     [in] IAAFSourceReference * ppSourceRef);
18093 
18094 
18095   //***********************************************************
18096   //
18097   // SetBypassOverride()
18098   //
18114   HRESULT SetBypassOverride (
18115     [in] aafUInt32  bypassOverride);
18116 
18117 
18118   //***********************************************************
18119   //
18120   // GetParameters()
18121   //
18141   HRESULT GetParameters (
18142     [out] IEnumAAFParameters ** ppEnum);
18143 
18144 
18145   //***********************************************************
18146   //
18147   // LookupParameter()
18148   //
18173   HRESULT LookupParameter (
18174     [in] aafArgIDType_constref  argID,
18175     [out] IAAFParameter ** ppParameter);
18176 
18177 
18178   //***********************************************************
18179   //
18180   // GetInputSegmentAt()
18181   //
18207   HRESULT GetInputSegmentAt (
18208     [in] aafUInt32  index,
18209     [out] IAAFSegment ** ppInputSegment);
18210 
18211 
18212   //***********************************************************
18213   //
18214   // RemoveInputSegmentAt()
18215   //
18236   HRESULT RemoveInputSegmentAt (
18237     [in] aafUInt32  index);
18238 }
18239 
18240 
18241 
18242 // ************************
18243 //
18244 // Interface IAAFPCMDescriptor
18245 //
18246 // ************************
18259 
18260 
18268 [
18269     object,
18270     uuid(F17D58D8-5107-47e4-9ABA-8329FC1B2C84),
18271     helpstring("IAAFPCMDescriptor Interface"),
18272     pointer_default(unique)
18273 ]
18274 interface IAAFPCMDescriptor : IUnknown
18275 {
18276 
18277   //***********************************************************
18278   //
18279   // Initialize()
18280   //
18298   HRESULT Initialize ();
18299 
18300 
18301   //***********************************************************
18302   //
18303   // SetBlockAlign()
18304   //
18324   HRESULT SetBlockAlign (
18325     [in] aafUInt16  blockAlign);
18326 
18327 
18328   //***********************************************************
18329   //
18330   // GetBlockAlign()
18331   //
18354   HRESULT GetBlockAlign (
18355     [out] aafUInt16 *  pBlockAlign);
18356 
18357 
18358   //***********************************************************
18359   //
18360   // SetSequenceOffset()
18361   //
18382   HRESULT SetSequenceOffset (
18383     [in] aafUInt8  offset);
18384 
18385 
18386   //***********************************************************
18387   //
18388   // GetSequenceOffset()
18389   //
18417   HRESULT GetSequenceOffset (
18418     [out] aafUInt8 *  pOffset);
18419 
18420 
18421   //***********************************************************
18422   //
18423   // SetAverageBPS()
18424   //
18444   HRESULT SetAverageBPS (
18445     [in] aafUInt32  bps);
18446 
18447 
18448   //***********************************************************
18449   //
18450   // GetAverageBPS()
18451   //
18474   HRESULT GetAverageBPS (
18475     [out] aafUInt32 *  pBps);
18476 
18477 
18478   //***********************************************************
18479   //
18480   // SetChannelAssignment()
18481   //
18500   HRESULT SetChannelAssignment (
18501     [in, ref] aafUID_constref  channelAssignment);
18502 
18503 
18504   //***********************************************************
18505   //
18506   // GetChannelAssignment()
18507   //
18533   HRESULT GetChannelAssignment (
18534     [out] aafUID_t *  pChannelAssignment);
18535 
18536 
18537   //***********************************************************
18538   //
18539   // AreAllPeakEnvelopePropertiesPresent()
18540   //
18571   HRESULT AreAllPeakEnvelopePropertiesPresent (
18572     [out] aafBoolean_t *  pArePresent);
18573 
18574 
18575   //***********************************************************
18576   //
18577   // SetPeakEnvelopeVersion()
18578   //
18596   HRESULT SetPeakEnvelopeVersion (
18597     [in] aafUInt32  version);
18598 
18599 
18600   //***********************************************************
18601   //
18602   // GetPeakEnvelopeVersion()
18603   //
18630   HRESULT GetPeakEnvelopeVersion (
18631     [out] aafUInt32 *  pVersion);
18632 
18633 
18634   //***********************************************************
18635   //
18636   // SetPeakEnvelopeFormat()
18637   //
18655   HRESULT SetPeakEnvelopeFormat (
18656     [in] aafUInt32  format);
18657 
18658 
18659   //***********************************************************
18660   //
18661   // GetPeakEnvelopeFormat()
18662   //
18689   HRESULT GetPeakEnvelopeFormat (
18690     [out] aafUInt32 *  pFormat);
18691 
18692 
18693   //***********************************************************
18694   //
18695   // SetPointsPerPeakValue()
18696   //
18715   HRESULT SetPointsPerPeakValue (
18716     [in] aafUInt32  pointCount);
18717 
18718 
18719   //***********************************************************
18720   //
18721   // GetPointsPerPeakValue()
18722   //
18749   HRESULT GetPointsPerPeakValue (
18750     [out] aafUInt32 *  pPointCount);
18751 
18752 
18753   //***********************************************************
18754   //
18755   // SetPeakEnvelopeBlockSize()
18756   //
18775   HRESULT SetPeakEnvelopeBlockSize (
18776     [in] aafUInt32  blockSize);
18777 
18778 
18779   //***********************************************************
18780   //
18781   // GetPeakEnvelopeBlockSize()
18782   //
18809   HRESULT GetPeakEnvelopeBlockSize (
18810     [out] aafUInt32 *  pBlockSize);
18811 
18812 
18813   //***********************************************************
18814   //
18815   // SetPeakChannelCount()
18816   //
18834   HRESULT SetPeakChannelCount (
18835     [in] aafUInt32  channelCount);
18836 
18837 
18838   //***********************************************************
18839   //
18840   // GetPeakChannelCount()
18841   //
18868   HRESULT GetPeakChannelCount (
18869     [out] aafUInt32 *  pChannelCount);
18870 
18871 
18872   //***********************************************************
18873   //
18874   // SetPeakFrameCount()
18875   //
18893   HRESULT SetPeakFrameCount (
18894     [in] aafUInt32  frameCount);
18895 
18896 
18897   //***********************************************************
18898   //
18899   // GetPeakFrameCount()
18900   //
18927   HRESULT GetPeakFrameCount (
18928     [out] aafUInt32 *  pFrameCount);
18929 
18930 
18931   //***********************************************************
18932   //
18933   // SetPeakOfPeaksPosition()
18934   //
18954   HRESULT SetPeakOfPeaksPosition (
18955     [in] aafPosition_t  position);
18956 
18957 
18958   //***********************************************************
18959   //
18960   // GetPeakOfPeaksPosition()
18961   //
18989   HRESULT GetPeakOfPeaksPosition (
18990     [out] aafPosition_t *  pPosition);
18991 
18992 
18993   //***********************************************************
18994   //
18995   // SetPeakEnvelopeTimestamp()
18996   //
19014   HRESULT SetPeakEnvelopeTimestamp (
19015     [in] aafTimeStamp_constref  timeStamp);
19016 
19017 
19018   //***********************************************************
19019   //
19020   // GetPeakEnvelopeTimestamp()
19021   //
19048   HRESULT GetPeakEnvelopeTimestamp (
19049     [out] aafTimeStamp_t *  pTimeStamp);
19050 
19051 
19052   //***********************************************************
19053   //
19054   // SetPeakEnvelopeDataPosition()
19055   //
19077   HRESULT SetPeakEnvelopeDataPosition (
19078     [in] aafPosition_t  position);
19079 
19080 
19081   //***********************************************************
19082   //
19083   // GetPeakEnvelopeDataPosition()
19084   //
19113   HRESULT GetPeakEnvelopeDataPosition (
19114     [out] aafPosition_t *  pPosition);
19115 
19116 
19117   //***********************************************************
19118   //
19119   // GetPeakEnvelopeDataSize()
19120   //
19151   HRESULT GetPeakEnvelopeDataSize (
19152     [out] aafLength_t *  pSize);
19153 
19154 
19155   //***********************************************************
19156   //
19157   // WritePeakEnvelopeData()
19158   //
19198   HRESULT WritePeakEnvelopeData (
19199     [in] aafUInt32  bytes,
19200     [out, size_is(bytes)] aafDataBuffer_t  buffer,
19201     [out,ref] aafUInt32 *  pBytesWritten);
19202 
19203 
19204   //***********************************************************
19205   //
19206   // ReadPeakEnvelopeData()
19207   //
19250   HRESULT ReadPeakEnvelopeData (
19251     [in] aafUInt32  bytes,
19252     [out, size_is(bytes)] aafDataBuffer_t  buffer,
19253     [out,ref] aafUInt32 *  pBytesRead);
19254 }
19255 
19256 
19257 
19258 // ************************
19259 //
19260 // Interface IAAFParameter
19261 //
19262 // ************************
19276 
19277 
19278 
19279  
19280 
19284 [
19285     object,
19286     uuid(9c568a81-2096-11d2-bf98-006097116212),
19287     helpstring("IAAFParameter Interface"),
19288     pointer_default(unique)
19289 ]
19290 interface IAAFParameter : IUnknown
19291 {
19292 
19293 
19294   //***********************************************************
19295   //
19296   // GetParameterDefinition()
19297   //
19321   HRESULT GetParameterDefinition (
19322     [out,retval] IAAFParameterDef ** ppParmDef);
19323 
19324   //***********************************************************
19325   //
19326   // GetTypeDefinition()
19327   //
19356   HRESULT GetTypeDefinition (
19357     [out,retval] IAAFTypeDef ** ppTypeDef);
19358 }
19359 
19360 
19361 
19362 // ************************
19363 //
19364 // Interface IAAFParameterDef
19365 //
19366 // ************************
19383 
19384  
19385 
19390 [
19391     object,
19392     uuid(20045fa1-1d87-11d2-bf96-006097116212),
19393     helpstring("IAAFParameterDef Interface"),
19394     pointer_default(unique)
19395 ]
19396 interface IAAFParameterDef : IUnknown
19397 {
19398 
19399   //***********************************************************
19400   //
19401   // Initialize()
19402   //
19410   HRESULT Initialize (
19411     [in, ref] aafUID_constref  id,
19412     [in, string] aafCharacter_constptr  pName,
19413     [in, string] aafCharacter_constptr  pDescription,
19414     [in] IAAFTypeDef * pType);
19415 
19416 
19417   //***********************************************************
19418   //
19419   // GetTypeDefinition()
19420   //
19451   HRESULT GetTypeDefinition (
19452     [retval,out] IAAFTypeDef ** ppTypeDef);
19453 
19454 
19455   //***********************************************************
19456   //
19457   // SetDisplayUnits()
19458   //
19487   HRESULT SetDisplayUnits (
19488     [in, string] aafCharacter_constptr  pDisplayUnits);
19489 
19490 
19491   //***********************************************************
19492   //
19493   // GetDisplayUnits()
19494   //
19532   HRESULT GetDisplayUnits (
19533     [out, string, size_is(bufSize)] aafCharacter *  pDisplayUnits,
19534     [in] aafUInt32  bufSize);
19535 
19536 
19537   //***********************************************************
19538   //
19539   // GetDisplayUnitsBufLen()
19540   //
19558   HRESULT GetDisplayUnitsBufLen (
19559     [out] aafUInt32 *  pBufSize);
19560 }
19561 
19562 
19563 
19564 // ************************
19565 //
19566 // Interface IAAFPhysicalDescriptor
19567 //
19568 // ************************
19569 
19582 
19583 
19588 [
19589     object,
19590     uuid(e3a1234e-a544-448e-95f0-ed4944edafc8),
19591     helpstring("IAAFPhysicalDescriptor Interface"),
19592     pointer_default(unique)
19593 ]
19594 interface IAAFPhysicalDescriptor : IUnknown
19595 {
19596 
19597 
19598 }
19599 
19600 
19601 
19602 // ************************
19603 //
19604 // Interface IAAFPlainEssenceData
19605 //
19606 // ************************
19621 [
19622     object,
19623     uuid(3bde74ff-7305-4a19-b3b1-b13501404dff),
19624     helpstring("IAAFPlainEssenceData Interface"),
19625     pointer_default(unique)
19626 ]
19627 interface IAAFPlainEssenceData : IUnknown
19628 {
19629 
19630   //***********************************************************
19631   //
19632   // Initialize()
19633   //
19655   HRESULT Initialize (
19656     [in] IAAFSourceMob * pFileMob);
19657 
19658 
19659   //***********************************************************
19660   //
19661   // Write()
19662   //
19669   HRESULT Write (
19670     [in] aafUInt32  bytes,
19671     [out, size_is(bytes)] aafDataBuffer_t  buffer,
19672     [out,ref] aafUInt32 *  bytesWritten);
19673 
19674 
19675   //***********************************************************
19676   //
19677   // Read()
19678   //
19685   HRESULT Read (
19686     [in] aafUInt32  bytes,
19687     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
19688     [out,ref] aafUInt32 *  bytesRead);
19689 
19690 
19691   //***********************************************************
19692   //
19693   // SetPosition()
19694   //
19699   HRESULT SetPosition (
19700     [in] aafPosition_t  offset);
19701 
19702 
19703   //***********************************************************
19704   //
19705   // GetPosition()
19706   //
19711   HRESULT GetPosition (
19712     [out] aafPosition_t*  pOffset);
19713 
19714 
19715   //***********************************************************
19716   //
19717   // GetSize()
19718   //
19723   HRESULT GetSize (
19724     [out] aafLength_t *  pSize );
19725 
19726 
19727   //***********************************************************
19728   //
19729   // WriteSampleIndex()
19730   //
19737   HRESULT WriteSampleIndex (
19738     [in] aafUInt32  bytes,
19739     [out, size_is(bytes)] aafDataBuffer_t  buffer,
19740     [out,ref] aafUInt32 *  bytesWritten);
19741 
19742 
19743   //***********************************************************
19744   //
19745   // ReadSampleIndex()
19746   //
19753   HRESULT ReadSampleIndex (
19754     [in] aafUInt32  bytes,
19755     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
19756     [out,ref] aafUInt32 *  bytesRead);
19757 
19758 
19759   //***********************************************************
19760   //
19761   // SetSampleIndexPosition()
19762   //
19767   HRESULT SetSampleIndexPosition (
19768     [in] aafPosition_t  offset);
19769 
19770 
19771   //***********************************************************
19772   //
19773   // GetSampleIndexPosition()
19774   //
19779   HRESULT GetSampleIndexPosition (
19780     [out] aafPosition_t*  pOffset);
19781 
19782 
19783   //***********************************************************
19784   //
19785   // GetSampleIndexSize()
19786   //
19791   HRESULT GetSampleIndexSize (
19792     [out] aafLength_t *  pSize );
19793 
19794 
19795   //***********************************************************
19796   //
19797   // SetFileMob()
19798   //
19820   HRESULT SetFileMob (
19821     [in] IAAFSourceMob * pFileMob);
19822 
19823 
19824   //***********************************************************
19825   //
19826   // GetFileMob()
19827   //
19850   HRESULT GetFileMob (
19851     [in] IAAFSourceMob ** ppFileMob);
19852 
19853 
19854   //***********************************************************
19855   //
19856   // GetFileMobID()
19857   //
19864   HRESULT GetFileMobID (
19865     [out] aafMobID_t *  pFileMobID);
19866 
19867 
19868 
19869 
19870 }
19871 
19872 
19873 // ************************
19874 //
19875 // Interface IAAFPlainStreamData
19876 //
19877 // ************************
19895 [
19896     object,
19897     uuid(86f9aaff-b6ad-4f3e-a71c-f69f1b4c48a5),
19898     helpstring("IAAFPlainStreamData Interface"),
19899     pointer_default(unique)
19900 ]
19901 interface IAAFPlainStreamData : IUnknown
19902 {
19903 
19904 
19905   //***********************************************************
19906   //
19907   // GetSize()
19908   //
19933   HRESULT GetSize (
19934     [in] IAAFPropertyValue * pStreamPropertyValue,
19935     [out] aafInt64 *  pSize);
19936 
19937   //***********************************************************
19938   //
19939   // SetSize()
19940   //
19963   HRESULT SetSize (
19964     [in] IAAFPropertyValue * pStreamPropertyValue,
19965     [in] aafInt64  newSize);
19966 
19967   //***********************************************************
19968   //
19969   // GetPosition()
19970   //
19994   HRESULT GetPosition (
19995     [in] IAAFPropertyValue * pStreamPropertyValue,
19996     [out] aafInt64 *  pPosition);
19997 
19998   //***********************************************************
19999   //
20000   // SetPosition()
20001   //
20028   HRESULT SetPosition (
20029     [in] IAAFPropertyValue * pStreamPropertyValue,
20030     [in] aafInt64  newPosition);
20031 
20032 
20033   //***********************************************************
20034   //
20035   // Read()
20036   //
20066   HRESULT Read (
20067     [in] IAAFPropertyValue * pStreamPropertyValue,
20068     [in] aafUInt32  dataSize,
20069     [out, size_is(dataSize), length_is(*bytesRead)] aafMemPtr_t  pData,
20070     [out,ref] aafUInt32 *  bytesRead);
20071 
20072   //***********************************************************
20073   //
20074   // Write()
20075   //
20103   HRESULT Write (
20104     [in] IAAFPropertyValue * pStreamPropertyValue,
20105     [in] aafUInt32  dataSize,
20106     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
20107 
20108   //***********************************************************
20109   //
20110   // Append()
20111   //
20139   HRESULT Append (
20140     [in] IAAFPropertyValue * pStreamPropertyValue,
20141     [in] aafUInt32  dataSize,
20142     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
20143 
20144 
20145   //***********************************************************
20146   //
20147   // HasStoredByteOrder()
20148   //
20173   HRESULT HasStoredByteOrder (
20174     [in] IAAFPropertyValue * pStreamPropertyValue,
20175     [out] aafBoolean_t *  pHasByteOrder);
20176 
20177   //***********************************************************
20178   //
20179   // GetStoredByteOrder()
20180   //
20204   HRESULT GetStoredByteOrder (
20205     [in] IAAFPropertyValue * pStreamPropertyValue,
20206     [out] eAAFByteOrder_t *  pByteOrder);
20207 
20208   //***********************************************************
20209   //
20210   // SetStoredByteOrder()
20211   //
20236   HRESULT SetStoredByteOrder (
20237     [in] IAAFPropertyValue * pStreamPropertyValue,
20238     [in] eAAFByteOrder_t  byteOrder);
20239 
20240   //***********************************************************
20241   //
20242   // ClearStoredByteOrder()
20243   //
20267   HRESULT ClearStoredByteOrder (
20268     [in] IAAFPropertyValue * pStreamPropertyValue);
20269 
20270 
20271   //***********************************************************
20272   //
20273   // ReadElements()
20274   //
20319   HRESULT ReadElements (
20320     [in] IAAFPropertyValue * pStreamPropertyValue,
20321     [in] IAAFTypeDef * pElementType,
20322     [in] aafUInt32  dataSize,
20323     [out, size_is(dataSize), length_is(*pBytesRead)] aafMemPtr_t  pData,
20324     [out,ref] aafUInt32 *  pBytesRead);
20325 
20326   //***********************************************************
20327   //
20328   // WriteElements()
20329   //
20371   HRESULT WriteElements (
20372     [in] IAAFPropertyValue * pStreamPropertyValue,
20373     [in] IAAFTypeDef * pElementType,
20374     [in] aafUInt32  dataSize,
20375     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
20376 
20377 
20378 cpp_quote("  /// Extend in chunks of typed Elements") 
20379 
20380   //***********************************************************
20381   //
20382   // AppendElements()
20383   //
20424   HRESULT AppendElements (
20425     [in] IAAFPropertyValue * pStreamPropertyValue,
20426     [in] IAAFTypeDef * pElementType,
20427     [in] aafUInt32  dataSize,
20428     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
20429 
20430 
20431 
20432 
20433 }
20434 
20435 
20436 // ************************
20437 //
20438 // Interface IAAFPluginDef
20439 //
20440 // ************************
20457 [
20458     object,
20459     uuid(AD1BB854-DBB2-11d2-809C-006008143E6F),
20460     helpstring("IAAFPluginDef Interface"),
20461     pointer_default(unique)
20462 ]
20463 interface IAAFPluginDef : IUnknown
20464 {
20465 
20466   //***********************************************************
20467   //
20468   // Initialize()
20469   //
20476   HRESULT Initialize (
20477     [in, ref] aafUID_constref  id,
20478     [in] aafCharacter_constptr  pName,
20479     [in] aafCharacter_constptr  pDescription);
20480 
20481   //***********************************************************
20482   //
20483   // GetCategoryClass()
20484   //
20511   HRESULT GetCategoryClass (
20512     [out] aafUID_t *  pCategoryClass);
20513 
20514 
20515   //***********************************************************
20516   //
20517   // SetCategoryClass()
20518   //
20538   HRESULT SetCategoryClass (
20539     [in, ref] aafUID_constref  categoryClass);
20540 
20541 
20542   //***********************************************************
20543   //
20544   // GetPluginVersion()
20545   //
20569   HRESULT GetPluginVersion (
20570     [out] aafVersionType_t *  pVersion);
20571 
20572 
20573   //***********************************************************
20574   //
20575   // SetPluginVersion()
20576   //
20597   HRESULT SetPluginVersion (
20598     [in] aafVersionType_t *  pVersion);
20599 
20600 
20601   //***********************************************************
20602   //
20603   // SetPluginVersionString()
20604   //
20633   HRESULT SetPluginVersionString (
20634     [in, string] aafCharacter_constptr  pPluginVersionString);
20635 
20636 
20637   //***********************************************************
20638   //
20639   // GetPluginVersionString()
20640   //
20678   HRESULT GetPluginVersionString (
20679     [out, string, size_is(bufSize)] aafCharacter *  pPluginVersionString,
20680     [in] aafUInt32  bufSize);
20681 
20682 
20683   //***********************************************************
20684   //
20685   // GetPluginVersionStringBufLen()
20686   //
20704   HRESULT GetPluginVersionStringBufLen (
20705     [out] aafUInt32 *  pBufSize);
20706 
20707 
20708   //***********************************************************
20709   //
20710   // SetPluginManufacturerName()
20711   //
20740   HRESULT SetPluginManufacturerName (
20741     [in, string] aafCharacter_constptr  pPluginManufacturerName);
20742 
20743 
20744   //***********************************************************
20745   //
20746   // GetPluginManufacturerName()
20747   //
20785   HRESULT GetPluginManufacturerName (
20786     [out, string, size_is(bufSize)] aafCharacter *  pPluginManufacturerName,
20787     [in] aafUInt32  bufSize);
20788 
20789 
20790   //***********************************************************
20791   //
20792   // GetPluginManufacturerNameBufLen()
20793   //
20811   HRESULT GetPluginManufacturerNameBufLen (
20812     [out] aafUInt32 *  pBufSize);
20813 
20814 
20815   //***********************************************************
20816   //
20817   // GetManufacturerInfo()
20818   //
20842   HRESULT GetManufacturerInfo (
20843     [out, retval] IAAFNetworkLocator ** ppResult);
20844 
20845 
20846   //***********************************************************
20847   //
20848   // SetManufacturerInfo()
20849   //
20865   HRESULT SetManufacturerInfo (
20866     [in] IAAFNetworkLocator * pManufacturerInfo);
20867 
20868 
20869   //***********************************************************
20870   //
20871   // GetManufacturerID()
20872   //
20898   HRESULT GetManufacturerID (
20899     [out] aafUID_t *  pManufacturerID);
20900 
20901 
20902   //***********************************************************
20903   //
20904   // SetManufacturerID()
20905   //
20924   HRESULT SetManufacturerID (
20925     [in, ref] aafUID_constref  manufacturerID);
20926 
20927 
20928   //***********************************************************
20929   //
20930   // GetHardwarePlatform()
20931   //
20960   HRESULT GetHardwarePlatform (
20961     [out] aafHardwarePlatform_t *  pHardwarePlatform);
20962 
20963 
20964   //***********************************************************
20965   //
20966   // SetHardwarePlatform()
20967   //
20988   HRESULT SetHardwarePlatform (
20989     [in] aafHardwarePlatform_constref  hardwarePlatform);
20990 
20991 
20992   //***********************************************************
20993   //
20994   // GetPlatformVersionRange()
20995   //
21024   HRESULT GetPlatformVersionRange (
21025     [out] aafVersionType_t *  pMinVersion,
21026     [out] aafVersionType_t *  pMaxVersion);
21027 
21028 
21029   //***********************************************************
21030   //
21031   // SetPlatformMinimumVersion()
21032   //
21049   HRESULT SetPlatformMinimumVersion (
21050     [in] aafVersionType_constref  minVersion);
21051 
21052 
21053   //***********************************************************
21054   //
21055   // SetPlatformMaximumVersion()
21056   //
21073   HRESULT SetPlatformMaximumVersion (
21074     [in] aafVersionType_constref  maxVersion);
21075 
21076 
21077   //***********************************************************
21078   //
21079   // GetEngine()
21080   //
21109   HRESULT GetEngine (
21110     [out] aafEngine_t *  pEngine);
21111 
21112 
21113   //***********************************************************
21114   //
21115   // SetEngine()
21116   //
21138   HRESULT SetEngine (
21139     [in] aafEngine_constref  engine);
21140 
21141 
21142   //***********************************************************
21143   //
21144   // GetEngineVersionRange()
21145   //
21174   HRESULT GetEngineVersionRange (
21175     [out] aafVersionType_t *  pMinVersion,
21176     [out] aafVersionType_t *  pMaxVersion);
21177 
21178 
21179   //***********************************************************
21180   //
21181   // SetEngineMinimumVersion()
21182   //
21200   HRESULT SetEngineMinimumVersion (
21201     [in] aafVersionType_constref  minVersion);
21202 
21203 
21204   //***********************************************************
21205   //
21206   // SetEngineMaximumVersion()
21207   //
21225   HRESULT SetEngineMaximumVersion (
21226     [in] aafVersionType_constref  pMaxVersion);
21227 
21228 
21229   //***********************************************************
21230   //
21231   // GetPluginAPI()
21232   //
21260   HRESULT GetPluginAPI (
21261     [out] aafPluginAPI_t *  pPluginAPI);
21262 
21263 
21264   //***********************************************************
21265   //
21266   // SetPluginAPI()
21267   //
21289   HRESULT SetPluginAPI (
21290     [in] aafPluginAPI_constref  pluginAPI);
21291 
21292 
21293   //***********************************************************
21294   //
21295   // GetPluginAPIVersionRange()
21296   //
21325   HRESULT GetPluginAPIVersionRange (
21326     [out] aafVersionType_t *  pMinVersion,
21327     [out] aafVersionType_t *  pMaxVersion);
21328 
21329 
21330   //***********************************************************
21331   //
21332   // SetPluginAPIMinimumVersion()
21333   //
21350   HRESULT SetPluginAPIMinimumVersion (
21351     [out] aafVersionType_constref  minVersion);
21352 
21353 
21354   //***********************************************************
21355   //
21356   // SetPluginAPIMaximumVersion()
21357   //
21373   HRESULT SetPluginAPIMaximumVersion (
21374     [in] aafVersionType_constref  maxVersion);
21375 
21376 
21377   //***********************************************************
21378   //
21379   // IsSoftwareOnly()
21380   //
21407   HRESULT IsSoftwareOnly (
21408     [out] aafBoolean_t *  pIsSoftwareOnly);
21409 
21410 
21411   //***********************************************************
21412   //
21413   // SetIsSoftwareOnly()
21414   //
21434   HRESULT SetIsSoftwareOnly (
21435     [in] aafBoolean_t  isSoftwareOnly);
21436 
21437 
21438   //***********************************************************
21439   //
21440   // IsAccelerated()
21441   //
21466   HRESULT IsAccelerated (
21467     [out] aafBoolean_t *  pIsAccelerated);
21468 
21469 
21470   //***********************************************************
21471   //
21472   // SetIsAccelerated()
21473   //
21493   HRESULT SetIsAccelerated (
21494     [in] aafBoolean_t  isAccelerated);
21495 
21496 
21497   //***********************************************************
21498   //
21499   // SupportsAuthentication()
21500   //
21526   HRESULT SupportsAuthentication (
21527     [out] aafBoolean_t *  pSupportsAuthentication);
21528 
21529 
21530   //***********************************************************
21531   //
21532   // SetSupportsAuthentication()
21533   //
21550   HRESULT SetSupportsAuthentication (
21551     [in] aafBoolean_t  SupportsAuthentication);
21552 
21553 
21554 
21555   //***********************************************************
21556   //
21557   // CountLocators()
21558   //
21580   HRESULT CountLocators (
21581     [out] aafUInt32 *  pResult);
21582 
21583 
21584   //***********************************************************
21585   //
21586   // AppendLocator()
21587   //
21609   HRESULT AppendLocator (
21610     [in] IAAFLocator * pLocator);
21611 
21612 
21613   //***********************************************************
21614   //
21615   // PrependLocator()
21616   //
21638   HRESULT PrependLocator (
21639     [in] IAAFLocator * pLocator);
21640 
21641 
21642   //***********************************************************
21643   //
21644   // InsertLocatorAt()
21645   //
21674   HRESULT InsertLocatorAt (
21675     [in] aafUInt32  index,
21676     [in] IAAFLocator * pLocator);
21677 
21678 
21679   //***********************************************************
21680   //
21681   // GetLocatorAt()
21682   //
21709   HRESULT GetLocatorAt (
21710     [in] aafUInt32  index,
21711     [out] IAAFLocator ** ppLocator);
21712 
21713 
21714   //***********************************************************
21715   //
21716   // RemoveLocatorAt()
21717   //
21745   HRESULT RemoveLocatorAt (
21746     [in] aafUInt32  index);
21747 
21748 
21749 
21750   //***********************************************************
21751   //
21752   // GetLocators()
21753   //
21784   HRESULT GetLocators (
21785     [out, retval] IEnumAAFPluginLocators ** ppEnum);
21786 
21787     //***********************************************************
21788   //
21789   // SetDefinitionObjectID()
21790   //
21795   HRESULT SetDefinitionObjectID (
21796     [in] aafUID_t  pDef);
21797 
21798     //***********************************************************
21799   //
21800   // GetDefinitionObjectID()
21801   //
21806   HRESULT GetDefinitionObjectID (
21807     [retval,out] aafUID_t*  ppDef);
21808 
21809 }
21810 
21811 
21812 
21813 
21814 // ************************
21815 //
21816 // Interface IAAFPluginManager
21817 //
21818 // ************************
21833 [
21834     object,
21835     uuid(AD1BB85C-DBB2-11d2-809C-006008143E6F),
21836     helpstring("IAAFPluginManager Interface"),
21837     pointer_default(unique)
21838 ]
21839 interface IAAFPluginManager : IUnknown
21840 {
21841 
21842   //***********************************************************
21843   //
21844   // RegisterSharedPlugins()
21845   //
21849   HRESULT RegisterSharedPlugins ();
21850 
21851 
21852   //***********************************************************
21853   //
21854   // RegisterPluginDirectory()
21855   //
21861   HRESULT RegisterPluginDirectory (
21862     [in] aafCharacter_constptr  directoryName);
21863 
21864 
21865   //***********************************************************
21866   //
21867   // RegisterPluginFile()
21868   //
21874   HRESULT RegisterPluginFile (
21875     [in] aafCharacter_constptr  fileName);
21876 
21877 
21878   //***********************************************************
21879   //
21880   // EnumLoadedPlugins()
21881   //
21904   HRESULT EnumLoadedPlugins (
21905     [in, ref] aafUID_constref  categoryID,
21906     [out,retval] IEnumAAFLoadedPlugins ** ppEnum);
21907 
21908 
21909   //***********************************************************
21910   //
21911   // CreatePluginDefinition()
21912   //
21942   HRESULT CreatePluginDefinition (
21943     [in, ref] aafUID_constref  pluginDefID,
21944     [in] IAAFDictionary * pDictionary,
21945     [out] IAAFDefObject**  ppPluginDef);
21946 
21947 
21948   //***********************************************************
21949   //
21950   // CreateInstance()
21951   //
21984   HRESULT CreateInstance (
21985     [in] REFCLSID  rclsid,
21986     [in] IUnknown *  pUnkOuter,
21987     [in] REFIID  riid,
21988     [out,iid_is(riid)] void **  ppPlugin);
21989 }
21990 
21991 
21992 
21993 // ************************
21994 //
21995 // Interface IAAFProperty
21996 //
21997 // ************************
22009 [
22010     object,
22011     uuid(83057d74-9691-11d2-aa7f-80e6aa000000),
22012     helpstring("IAAFProperty Interface"),
22013     pointer_default(unique)
22014 ]
22015 interface IAAFProperty : IUnknown
22016 {
22017 
22018   //***********************************************************
22019   //
22020   // GetDefinition()
22021   //
22049   HRESULT GetDefinition (
22050     [out] IAAFPropertyDef ** ppPropDef);
22051 
22052 
22053   //***********************************************************
22054   //
22055   // GetValue()
22056   //
22081   HRESULT GetValue (
22082     [out] IAAFPropertyValue ** ppValue);
22083 }
22084 
22085 
22086 
22087 // ************************
22088 //
22089 // Interface IAAFPropertyDef
22090 //
22091 // ************************
22109 
22110 
22111 
22112  
22113 
22117 [
22118     object,
22119     uuid(dfbd6521-1d81-11d2-bf96-006097116212),
22120     helpstring("IAAFPropertyDef Interface"),
22121     pointer_default(unique)
22122 ]
22123 interface IAAFPropertyDef : IUnknown
22124 {
22125 
22126   //***********************************************************
22127   //
22128   // GetTypeDef()
22129   //
22144   HRESULT GetTypeDef (
22145     [out] IAAFTypeDef ** ppTypeDef);
22146 
22147 
22148   //***********************************************************
22149   //
22150   // GetName()
22151   //
22189   HRESULT GetName (
22190     [out, string, size_is(bufSize)] aafCharacter *  pName,
22191     [in] aafUInt32  bufSize);
22192 
22193 
22194   //***********************************************************
22195   //
22196   // GetNameBufLen()
22197   //
22215   HRESULT GetNameBufLen (
22216     [out] aafUInt32 *  pBufSize);
22217 
22218 
22219   //***********************************************************
22220   //
22221   // GetIsOptional()
22222   //
22241   HRESULT GetIsOptional (
22242     [out, retval] aafBoolean_t *  pIsOptional);
22243 
22244   //***********************************************************
22245   //
22246   // GetIsUniqueIdentifier()
22247   //
22266   HRESULT GetIsUniqueIdentifier (
22267     [out, retval] aafBoolean_t *  pIsUniqueIdentifier);
22268 
22269 
22270 
22271 
22272   //***********************************************************
22273   //
22274   // SetDescription()
22275   //
22304   HRESULT SetDescription (
22305     [in, string] aafCharacter_constptr  pDescription);
22306 
22307 
22308   //***********************************************************
22309   //
22310   // GetDescription()
22311   //
22349   HRESULT GetDescription (
22350     [out, string, size_is(bufSize)] aafCharacter *  pDescription,
22351     [in] aafUInt32  bufSize);
22352 
22353 
22354   //***********************************************************
22355   //
22356   // GetDescriptionBufLen()
22357   //
22375   HRESULT GetDescriptionBufLen (
22376     [out] aafUInt32 *  pBufSize);
22377 
22378 }
22379 
22380 
22381 
22382 // ************************
22383 //
22384 // Interface IAAFPropertyValue
22385 //
22386 // ************************
22400 [
22401     object,
22402     uuid(83057d72-9691-11d2-aa7f-80e6aa000000),
22403     helpstring("IAAFPropertyValue Interface"),
22404     pointer_default(unique)
22405 ]
22406 interface IAAFPropertyValue : IUnknown
22407 {
22408 
22409   //***********************************************************
22410   //
22411   // GetType()
22412   //
22435   HRESULT GetType (
22436     [out] IAAFTypeDef ** ppTypeDef);
22437 
22438 
22439   //***********************************************************
22440   //
22441   // IsDefinedType()
22442   //
22468   HRESULT IsDefinedType (
22469     [out] aafBoolean_t *  pIsDefined);
22470 }
22471 
22472 
22473 
22474 // ************************
22475 //
22476 // Interface IAAFPulldown
22477 //
22478 // ************************
22492 
22493 
22500 [
22501     object,
22502     uuid(92B88031-2B2B-11d2-BF7E-00104BC9156D),
22503     helpstring("IAAFPulldown Interface"),
22504     pointer_default(unique)
22505 ]
22506 interface IAAFPulldown : IUnknown
22507 {
22508 
22509   //***********************************************************
22510   //
22511   // GetInputSegment()
22512   //
22539   HRESULT GetInputSegment (
22540     [out] IAAFSegment ** ppInputSegment);
22541 
22542 
22543   //***********************************************************
22544   //
22545   // SetInputSegment()
22546   //
22567   HRESULT SetInputSegment (
22568     [in] IAAFSegment * pInputSegment);
22569 
22570 
22571   //***********************************************************
22572   //
22573   // GetPulldownKind()
22574   //
22598   HRESULT GetPulldownKind (
22599     [out] aafPulldownKind_t *  pPulldownKind);
22600 
22601 
22602   //***********************************************************
22603   //
22604   // SetPulldownKind()
22605   //
22625   HRESULT SetPulldownKind (
22626     [in] aafPulldownKind_t  pulldownKind);
22627 
22628 
22629   //***********************************************************
22630   //
22631   // GetPulldownDirection()
22632   //
22665   HRESULT GetPulldownDirection (
22666     [out] aafPulldownDir_t *  pPulldownDirection);
22667 
22668 
22669   //***********************************************************
22670   //
22671   // SetPulldownDirection()
22672   //
22701   HRESULT SetPulldownDirection (
22702     [in] aafPulldownDir_t  pulldownDirection);
22703 
22704 
22705   //***********************************************************
22706   //
22707   // GetPhaseFrame()
22708   //
22733   HRESULT GetPhaseFrame (
22734     [out] aafPhaseFrame_t *  pPhaseFrame);
22735 
22736 
22737   //***********************************************************
22738   //
22739   // SetPhaseFrame()
22740   //
22761   HRESULT SetPhaseFrame (
22762     [in] aafPhaseFrame_t  phaseFrame);
22763 
22764 
22765 
22766 
22767 
22768 
22769 }
22770 
22771 
22772 
22773 // ************************
22774 //
22775 // Interface IAAFRGBADescriptor
22776 //
22777 // ************************
22778 
22779 
22818 [
22819     object,
22820     uuid(e684d772-b935-11d2-bf9d-00104bc9156d),
22821     helpstring("IAAFRGBADescriptor Interface"),
22822     pointer_default(unique)
22823 ]
22824 
22825 interface IAAFRGBADescriptor : IUnknown
22826 {
22827 
22828   //***********************************************************
22829   //
22830   // SetPixelLayout()
22831   //
22856   HRESULT SetPixelLayout (
22857     [in] aafUInt32  numberElements,
22858     [in] aafRGBAComponent_t*  PixelLayoutArray);
22859 
22860   //***********************************************************
22861   //
22862   // CountPixelLayoutElements()
22863   //
22887   HRESULT CountPixelLayoutElements (
22888     [out] aafUInt32 *  pResult);
22889 
22890   //***********************************************************
22891   //
22892   // GetPixelLayout()
22893   //
22926   HRESULT GetPixelLayout (
22927     [in] aafUInt32  numberElements,
22928     [out, size_is(numberElements)] aafRGBAComponent_t*  PixelLayoutArray);
22929 
22930   //***********************************************************
22931   //
22932   // SetPalette()
22933   //
22954   HRESULT SetPalette (
22955     [in] aafUInt32  numberElements,
22956     [in, size_is(numberElements)] aafUInt8*  pPalette);
22957 
22958 
22959   //***********************************************************
22960   //
22961   // GetPalette()
22962   //
22991   HRESULT GetPalette (
22992     [in] aafUInt32  numberRecords,
22993     [out, size_is(numberRecords)] aafUInt8*  pPalette);
22994 
22995 
22996   //***********************************************************
22997   //
22998   // GetPaletteSize()
22999   //
23017   HRESULT GetPaletteSize (
23018     [out] aafUInt32 *  pNumberBytes);
23019 
23020   //***********************************************************
23021   //
23022   // CountPaletteLayoutElements()
23023   //
23047   HRESULT CountPaletteLayoutElements (
23048     [out] aafUInt32 *  pResult);
23049 
23050   //***********************************************************
23051   //
23052   // SetPaletteLayout()
23053   //
23078   HRESULT SetPaletteLayout (
23079     [in] aafUInt32  numberElements,
23080     [in] aafRGBAComponent_t*  PaletteLayoutArray);
23081 
23082   //***********************************************************
23083   //
23084   // GetPaletteLayout()
23085   //
23117   HRESULT GetPaletteLayout (
23118     [in] aafUInt32  numberElements,
23119     [out, size_is(numberElements)] aafRGBAComponent_t*  PaletteLayoutArray);
23120 
23121 
23122 
23123 
23124 
23125 
23126 
23127 
23128 
23129 
23130 
23131 
23132 }
23133 
23134 
23135 // ************************
23136 //
23137 // Interface IAAFRandomFile
23138 //
23139 // ************************
23155 [
23156     object,
23157     uuid(3CC80284-72A8-11D4-B80D-0000863F2C27),
23158     helpstring("IAAFRandomFile Interface"),
23159     pointer_default(unique)
23160 ]
23161 interface IAAFRandomFile : IUnknown
23162 {
23163 
23164   //***********************************************************
23165   //
23166   // GetFileBits()
23167   //
23199   HRESULT GetFileBits (
23200     [out] IAAFGetFileBits ** ppGetFileBits);
23201 
23202 
23203   //***********************************************************
23204   //
23205   // Revert()
23206   //
23218   HRESULT Revert ();
23219 
23220 
23221   //***********************************************************
23222   //
23223   // SaveAsFile()
23224   //
23248   HRESULT SaveAsFile (
23249     [in] IAAFFile * pDestFile);
23250 
23251 
23252   //***********************************************************
23253   //
23254   // SetFileBits()
23255   //
23282   HRESULT SetFileBits (
23283     [out] IAAFSetFileBits ** ppSetFileBits);
23284 }
23285 
23286 
23287 
23288 // ************************
23289 //
23290 // Interface IAAFRandomRawStorage
23291 //
23292 // ************************
23308 
23309 
23313 [
23314     object,
23315     uuid(B1341782-71FE-11d4-B80D-0000863F2C27),
23316     helpstring("IAAFRandomRawStorage Interface"),
23317     pointer_default(unique)
23318 ]
23319 interface IAAFRandomRawStorage : IUnknown
23320 {
23321 
23322   //***********************************************************
23323   //
23324   // ReadAt()
23325   //
23356   HRESULT ReadAt (
23357     [in] aafUInt64  position,
23358     [out, size_is(bufSize), length_is(*pNumRead)] aafMemPtr_t  buf,
23359     [in] aafUInt32  bufSize,
23360     [out] aafUInt32 *  pNumRead);
23361 
23362 
23363   //***********************************************************
23364   //
23365   // WriteAt()
23366   //
23406   HRESULT WriteAt (
23407     [in] aafUInt64  position,
23408     [in, size_is(bufSize)] aafMemConstPtr_t  buf,
23409     [in] aafUInt32  bufSize,
23410     [out] aafUInt32 *  pNumWritten);
23411 
23412 
23413   //***********************************************************
23414   //
23415   // GetSize()
23416   //
23435   HRESULT GetSize (
23436     [out] aafUInt64 *  pSize);
23437 
23438 
23439   //***********************************************************
23440   //
23441   // IsExtendable()
23442   //
23461   HRESULT IsExtendable (
23462     [out] aafBoolean_t *  pResult);
23463 
23464 
23465   //***********************************************************
23466   //
23467   // GetExtent()
23468   //
23486   HRESULT GetExtent (
23487     [out] aafUInt64 *  pExtent);
23488 
23489 
23490   //***********************************************************
23491   //
23492   // SetExtent()
23493   //
23513   HRESULT SetExtent (
23514     [in] aafUInt64  extent);
23515 }
23516 
23517 
23518 
23519 // ************************
23520 //
23521 // Interface IAAFRawStorage
23522 //
23523 // ************************
23547 
23548 
23549 [
23550     object,
23551     uuid(F45FA9E1-7166-11D4-B80D-0000863F2C27),
23552     helpstring("IAAFRawStorage Interface"),
23553     pointer_default(unique)
23554 ]
23555 interface IAAFRawStorage : IUnknown
23556 {
23557 
23558   //***********************************************************
23559   //
23560   // IsReadable()
23561   //
23580   HRESULT IsReadable (
23581     [out] aafBoolean_t *  pResult);
23582 
23583 
23584   //***********************************************************
23585   //
23586   // Read()
23587   //
23617   HRESULT Read (
23618     [out, size_is(bufSize), length_is(*pNumRead)] aafMemPtr_t  buf,
23619     [in] aafUInt32  bufSize,
23620     [out] aafUInt32 *  pNumRead);
23621 
23622 
23623   //***********************************************************
23624   //
23625   // IsWriteable()
23626   //
23645   HRESULT IsWriteable (
23646     [out] aafBoolean_t *  pResult);
23647 
23648 
23649   //***********************************************************
23650   //
23651   // Write()
23652   //
23687   HRESULT Write (
23688     [in, size_is(bufSize)] aafMemConstPtr_t  buf,
23689     [in] aafUInt32  bufSize,
23690     [out] aafUInt32 *  pNumWritten);
23691 
23692 
23693   //***********************************************************
23694   //
23695   // Synchronize()
23696   //
23706   HRESULT Synchronize ();
23707 }
23708 
23709 
23710 
23711 // ************************
23712 //
23713 // Interface IAAFRIFFChunk
23714 //
23715 // ************************
23732 [
23733     object,
23734     uuid(49b6de18-f562-434e-bfab-a46d144ef22a),
23735     helpstring("IAAFRIFFChunk Interface"),
23736     pointer_default(unique)
23737 ]
23738 
23739 interface IAAFRIFFChunk : IUnknown
23740 {
23741 
23742   //***********************************************************
23743   //
23744   // Initialize()
23745   //
23768   HRESULT Initialize (
23769     [in] aafUInt32  chunkID);
23770 
23771 
23772   //***********************************************************
23773   //
23774   // SetChunkID()
23775   //
23777                         
23792   HRESULT SetChunkID (
23793     [in] aafUInt32  chunkID);
23794 
23795   //***********************************************************
23796   //
23797   // GetChunkID()
23798   //
23817   HRESULT GetChunkID (
23818     [out] aafUInt32 *  pChunkID);
23819 
23820 
23821   //***********************************************************
23822   //
23823   // Read()
23824   //
23831   HRESULT Read (
23832     [in] aafUInt32  bytes,
23833     [out, size_is(bytes), length_is(*pBytesRead)] aafDataBuffer_t  buffer,
23834     [out,ref] aafUInt32 *  pBytesRead);
23835 
23836 
23837   //***********************************************************
23838   //
23839   // Write()
23840   //
23849   HRESULT Write (
23850     [in] aafUInt32  bytes,
23851     [out, size_is(bytes)] aafDataBuffer_t  buffer,
23852     [out,ref] aafUInt32 *  pBytesWritten);
23853 
23854 
23855   //***********************************************************
23856   //
23857   // SetPosition()
23858   //
23864   HRESULT SetPosition (
23865     [in] aafPosition_t  offset);
23866 
23867 
23868   //***********************************************************
23869   //
23870   // GetPosition()
23871   //
23877   HRESULT GetPosition (
23878     [out] aafPosition_t*  pOffset);
23879 
23880 
23881   //***********************************************************
23882   //
23883   // GetLength()
23884   //
23889   HRESULT GetLength (
23890     [out] aafLength_t *  pLength);
23891 
23892 
23893 }
23894 
23895 
23896 
23897 // ************************
23898 //
23899 // Interface IAAFRecordingDescriptor
23900 //
23901 // ************************
23902 
23920 [
23921     object,
23922     uuid(a6542226-19a7-40ee-9650-a3b9c66ccfe7),
23923     helpstring("IAAFRecordingDescriptor Interface"),
23924     pointer_default(unique)
23925 ]
23926 
23927 interface IAAFRecordingDescriptor : IUnknown
23928 {
23929 
23930   //***********************************************************
23931   //
23932   // Initialize()
23933   //
23951   HRESULT Initialize ();
23952 
23953 }
23954 
23955 
23956 
23957 // ************************
23958 //
23959 // Interface IAAFScopeReference
23960 //
23961 // ************************
23985 [
23986     object,
23987     uuid(e44be453-2099-11d2-bf98-006097116212),
23988     helpstring("IAAFScopeReference Interface"),
23989     pointer_default(unique)
23990 ]
23991 interface IAAFScopeReference : IUnknown
23992 {
23993 
23994   //***********************************************************
23995   //
23996   // Create()
23997   //
24014   HRESULT Create (
24015     [in] aafUInt32  RelativeScope,
24016     [in] aafUInt32  RelativeSlot);
24017 
24018   //***********************************************************
24019   //
24020   // Initialize()
24021   //
24039   HRESULT Initialize (
24040     [in] IAAFDataDef * pDataDef,
24041     [in] aafUInt32  RelativeScope,
24042     [in] aafUInt32  RelativeSlot);
24043 
24044   //***********************************************************
24045   //
24046   // GetRelativeScope()
24047   //
24068   HRESULT GetRelativeScope (
24069     [retval][out] aafUInt32 *  pnRelativeScope);
24070 
24071 
24072   //***********************************************************
24073   //
24074   // GetRelativeSlot()
24075   //
24096   HRESULT GetRelativeSlot (
24097     [retval][out] aafUInt32 *  pnRelativeSlot);
24098 }
24099 
24100 
24101 
24102 // ************************
24103 //
24104 // Interface IAAFSegment
24105 //
24106 // ************************
24128 
24129 
24135 [
24136     object,
24137     uuid(7a2f0570-1ba3-11D2-bfaa-006097116212),
24138     helpstring("IAAFSegment Interface"),
24139     pointer_default(unique)
24140 ]
24141 interface IAAFSegment : IUnknown
24142 {
24143 
24144   //***********************************************************
24145   //
24146   // SegmentOffsetToTC()
24147   //
24172   HRESULT SegmentOffsetToTC (
24173     [in] aafPosition_t *  pOffset,
24174     [out] aafTimecode_t *  pTimecode);
24175 
24176 
24177   //***********************************************************
24178   //
24179   // SegmentTCToOffset()
24180   //
24207   HRESULT SegmentTCToOffset (
24208     [in] aafTimecode_t *  pTimecode,
24209     [in] aafRational_t *  pEditRate,
24210     [out] aafFrameOffset_t *  pOffset);
24211 }
24212 
24213 
24214 
24215 // ************************
24216 //
24217 // Interface IAAFSelector
24218 //
24219 // ************************
24242 [
24243     object,
24244     uuid(e684d788-b935-11d2-bf9d-00104bc9156d),
24245     helpstring("IAAFSelector Interface"),
24246     pointer_default(unique)
24247 ]
24248 interface IAAFSelector : IUnknown
24249 {
24250 
24251   //***********************************************************
24252   //
24253   // GetSelectedSegment()
24254   //
24281   HRESULT GetSelectedSegment (
24282     [out] IAAFSegment ** ppSelSegment);
24283 
24284 
24285   //***********************************************************
24286   //
24287   // SetSelectedSegment()
24288   //
24309   HRESULT SetSelectedSegment (
24310     [in] IAAFSegment * pSelSegment);
24311 
24312 
24313   //***********************************************************
24314   //
24315   // AppendAlternateSegment()
24316   //
24347   HRESULT AppendAlternateSegment (
24348     [in] IAAFSegment * pSegment);
24349 
24350 
24351   //***********************************************************
24352   //
24353   // GetNumAlternateSegments()
24354   //
24378   HRESULT GetNumAlternateSegments (
24379     [out] aafInt32 *  pNumSegments);
24380 
24381 
24382   //***********************************************************
24383   //
24384   // EnumAlternateSegments()
24385   //
24415   HRESULT EnumAlternateSegments (
24416     [out, retval] IEnumAAFSegments ** ppEnum);
24417 
24418   //***********************************************************
24419   //
24420   // RemoveAlternateSegment()
24421   //
24445   HRESULT RemoveAlternateSegment (
24446     [in] IAAFSegment * pSegment);
24447 
24448 }
24449 
24450 
24451 
24452 // ************************
24453 //
24454 // Interface IAAFSequence
24455 //
24456 // ************************
24475 [
24476     object,
24477     uuid(66e855f0-2bc2-11d2-bfaa-006097116212),
24478     helpstring("IAAFSequence Interface"),
24479     pointer_default(unique)
24480 ]
24481 interface IAAFSequence : IUnknown
24482 {
24483 
24484   //***********************************************************
24485   //
24486   // Initialize()
24487   //
24516   HRESULT Initialize (
24517     [in] IAAFDataDef * pDataDef);
24518 
24519 
24520   //***********************************************************
24521   //
24522   // AppendComponent()
24523   //
24575   HRESULT AppendComponent (
24576     [in] IAAFComponent * pComponent);
24577 
24578 
24579   //***********************************************************
24580   //
24581   // PrependComponent()
24582   //
24634   HRESULT PrependComponent (
24635     [in] IAAFComponent * pComponent);
24636 
24637 
24638   //***********************************************************
24639   //
24640   // InsertComponentAt()
24641   //
24700   HRESULT InsertComponentAt (
24701     [in] aafUInt32  index,
24702     [in] IAAFComponent * pComponent);
24703 
24704 
24705   //***********************************************************
24706   //
24707   // GetComponentAt()
24708   //
24740   HRESULT GetComponentAt (
24741     [in] aafUInt32  index,
24742     [out, retval] IAAFComponent ** ppComponent);
24743 
24744 
24745   //***********************************************************
24746   //
24747   // RemoveComponentAt()
24748   //
24777   HRESULT RemoveComponentAt (
24778     [in] aafUInt32  index);
24779 
24780 
24781   //***********************************************************
24782   //
24783   // CountComponents()
24784   //
24808   HRESULT CountComponents (
24809     [out] aafUInt32 *  pResult);
24810 
24811 
24812   //***********************************************************
24813   //
24814   // GetComponents()
24815   //
24845   HRESULT GetComponents (
24846     [out, retval] IEnumAAFComponents ** ppEnum);
24847 
24848 
24849 
24850 
24851 
24852 
24853 }
24854 
24855 
24856 
24857 // ************************
24858 //
24859 // Interface IAAFSetFileBits
24860 //
24861 // ************************
24880 
24881 
24882 [
24883     object,
24884     uuid(6D950762-8DB4-11D4-B80D-0000863F2C27),
24885     helpstring("IAAFSetFileBits Interface"),
24886     pointer_default(unique)
24887 ]
24888 interface IAAFSetFileBits : IUnknown
24889 {
24890 
24891   //***********************************************************
24892   //
24893   // WriteAt()
24894   //
24926   HRESULT WriteAt (
24927     [in, size_is(bufSize)] aafMemPtr_t  buf,
24928     [in] aafUInt32  bufSize,
24929     [in] aafUInt64  position);
24930 
24931 
24932   //***********************************************************
24933   //
24934   // SetSize()
24935   //
24953   HRESULT SetSize (
24954     [in] aafUInt64  size);
24955 }
24956 
24957 
24958 
24959 // ************************
24960 //
24961 // Interface IAAFSoundDescriptor
24962 //
24963 // ************************
24977 
24978 
24985 [
24986     object,
24987     uuid(DDC8931E-1A32-4362-BD78-450D0D970047),
24988     helpstring("IAAFSoundDescriptor Interface"),
24989     pointer_default(unique)
24990 ]
24991 interface IAAFSoundDescriptor : IUnknown
24992 {
24993 
24994   //***********************************************************
24995   //
24996   // SetCompression()
24997   //
25016   HRESULT SetCompression (
25017     [in] aafUID_constref  compression);
25018 
25019 
25020   //***********************************************************
25021   //
25022   // GetCompression()
25023   //
25048   HRESULT GetCompression (
25049     [out] aafUID_t *  pCompression);
25050 
25051 
25052   //***********************************************************
25053   //
25054   // SetChannelCount()
25055   //
25073   HRESULT SetChannelCount (
25074     [in] aafUInt32  channelCount);
25075 
25076 
25077   //***********************************************************
25078   //
25079   // GetChannelCount()
25080   //
25101   HRESULT GetChannelCount (
25102     [out] aafUInt32 *  pChannelCount);
25103 
25104 
25105   //***********************************************************
25106   //
25107   // SetAudioSamplingRate()
25108   //
25125   HRESULT SetAudioSamplingRate (
25126     [in] aafRational_t  rate);
25127 
25128 
25129   //***********************************************************
25130   //
25131   // GetAudioSamplingRate()
25132   //
25152   HRESULT GetAudioSamplingRate (
25153     [out] aafRational_t *  pRate);
25154 
25155 
25156   //***********************************************************
25157   //
25158   // SetIsLocked()
25159   //
25177   HRESULT SetIsLocked (
25178     [in] aafBoolean_t  locked);
25179 
25180 
25181   //***********************************************************
25182   //
25183   // IsLocked()
25184   //
25209   HRESULT IsLocked (
25210     [out] aafBoolean_t *  pLocked);
25211 
25212 
25213   //***********************************************************
25214   //
25215   // SetElectroSpatialFormulation()
25216   //
25233   HRESULT SetElectroSpatialFormulation (
25234     [in] aafElectroSpatialFormulation_t  formulation);
25235 
25236 
25237   //***********************************************************
25238   //
25239   // GetElectroSpatialFormulation()
25240   //
25264   HRESULT GetElectroSpatialFormulation (
25265     [out] aafElectroSpatialFormulation_t *  pFormulation);
25266 
25267 
25268   //***********************************************************
25269   //
25270   // SetAudioRefLevel()
25271   //
25287   HRESULT SetAudioRefLevel (
25288     [in] aafInt8  level);
25289 
25290 
25291   //***********************************************************
25292   //
25293   // GetAudioRefLevel()
25294   //
25317   HRESULT GetAudioRefLevel (
25318     [out] aafInt8 *  pLevel);
25319 
25320 
25321   //***********************************************************
25322   //
25323   // SetDialNorm()
25324   //
25340   HRESULT SetDialNorm (
25341     [in] aafInt8  dialNorm);
25342 
25343 
25344   //***********************************************************
25345   //
25346   // GetDialNorm()
25347   //
25370   HRESULT GetDialNorm (
25371     [out] aafInt8 *  pDialNorm);
25372 
25373 
25374   //***********************************************************
25375   //
25376   // SetQuantizationBits()
25377   //
25393   HRESULT SetQuantizationBits (
25394     [in] aafUInt32  bitsCount);
25395 
25396 
25397   //***********************************************************
25398   //
25399   // GetQuantizationBits()
25400   //
25419   HRESULT GetQuantizationBits (
25420     [out] aafUInt32 *  pBitsCount);
25421 }
25422 
25423 
25424 
25425 // ************************
25426 //
25427 // Interface IAAFSourceClip
25428 //
25429 // ************************
25451 [
25452     object,
25453     uuid(38e6f8a7-2a2c-11d2-8411-00600832acb8),
25454     helpstring("IAAFSourceClip Interface"),
25455     pointer_default(unique)
25456 ]
25457 interface IAAFSourceClip : IUnknown
25458 {
25459 
25460   //***********************************************************
25461   //
25462   // Initialize()
25463   //
25488   HRESULT Initialize (
25489     [in] IAAFDataDef * pDataDef,
25490     [in] aafLength_constref  length,
25491     [in] aafSourceRef_t  sourceRef);
25492 
25493 
25494   //***********************************************************
25495   //
25496   // GetFade()
25497   //
25530   HRESULT GetFade (
25531     [out] aafLength_t *  pFadeInLen,
25532     [out] aafFadeType_t *  pFadeInType,
25533     [out] aafBoolean_t *  pFadeInPresent,
25534     [out] aafLength_t *  pFadeOutLen,
25535     [out] aafFadeType_t *  pFadeOutType,
25536     [out] aafBoolean_t *  pFadeOutPresent);
25537 
25538 
25539   //***********************************************************
25540   //
25541   // ResolveRef()
25542   //
25572   HRESULT ResolveRef (
25573     [out] IAAFMob ** ppMob);
25574 
25575 
25576   //***********************************************************
25577   //
25578   // GetSourceReference()
25579   //
25606   HRESULT GetSourceReference (
25607     [out] aafSourceRef_t *  pSourceRef);
25608 
25609 
25610   //***********************************************************
25611   //
25612   // SetFade()
25613   //
25638   HRESULT SetFade (
25639     [in] aafInt32  fadeInLen,
25640     [in] aafFadeType_t  fadeInType,
25641     [in] aafInt32  fadeOutLen,
25642     [in] aafFadeType_t  fadeOutType);
25643 
25644 
25645   //***********************************************************
25646   //
25647   // SetSourceReference()
25648   //
25669   HRESULT SetSourceReference (
25670     [in] aafSourceRef_t  sourceRef);
25671 }
25672 
25673 
25674 
25675 // ************************
25676 //
25677 // Interface IAAFSourceMob
25678 //
25679 // ************************
25721 [
25722     object,
25723     uuid(B1A2137C-1A7D-11D2-BF78-00104BC9156D),
25724     helpstring("IAAFSourceMob Interface"),
25725     pointer_default(unique)
25726 ]
25727 interface IAAFSourceMob : IUnknown
25728 {
25729   //***********************************************************
25730   //
25731   // Initialize()
25732   //
25750   HRESULT Initialize ();
25751 
25752 
25753   //***********************************************************
25754   //
25755   // GetEssenceDescriptor()
25756   //
25787   HRESULT GetEssenceDescriptor (
25788     [out] IAAFEssenceDescriptor ** ppEssence);
25789 
25790 
25791   //***********************************************************
25792   //
25793   // SetEssenceDescriptor()
25794   //
25815   HRESULT SetEssenceDescriptor (
25816     [in] IAAFEssenceDescriptor * pEssence);
25817 
25818 
25819   //***********************************************************
25820   //
25821   // AddNilReference()
25822   //
25861   HRESULT AddNilReference (
25862     [in] aafSlotID_t  slotID,
25863     [in] aafLength_t  length,
25864     [in] IAAFDataDef * pDataDef,
25865     [in] aafRational_t  editRate);
25866 
25867 
25868   //***********************************************************
25869   //
25870   // AppendTimecodeSlot()
25871   //
25913   HRESULT AppendTimecodeSlot (
25914     [in] aafRational_t  editrate,
25915     [in] aafInt32  slotID,
25916     [in] aafTimecode_t  startTC,
25917     [in] aafFrameLength_t  length32);
25918 
25919 
25920   //***********************************************************
25921   //
25922   // AppendEdgecodeSlot()
25923   //
25971   HRESULT AppendEdgecodeSlot (
25972     [in] aafRational_t  editrate,
25973     [in] aafInt32  slotID,
25974     [in] aafFrameOffset_t  startEC,
25975     [in] aafFrameLength_t  length32,
25976     [in] aafFilmType_t  filmKind,
25977     [in] aafEdgeType_t  codeFormat,
25978     [in] aafEdgecodeHeader_t  header);
25979 
25980 
25981   //***********************************************************
25982   //
25983   // SpecifyValidCodeRange()
25984   //
26019   HRESULT SpecifyValidCodeRange (
26020     [in] IAAFDataDef * pEssenceKind,
26021     [in] aafSlotID_t  slotID,
26022     [in] aafRational_t  editrate,
26023     [in] aafFrameOffset_t  startOffset,
26024     [in] aafFrameLength_t  length32);
26025 
26026 
26027   //***********************************************************
26028   //
26029   // AppendPhysSourceRef()
26030   //
26072   HRESULT AppendPhysSourceRef (
26073     [in] aafRational_t  editrate,
26074     [in] aafSlotID_t  aMobSlot,
26075     [in] IAAFDataDef * pEssenceKind,
26076     [in] aafSourceRef_t  ref,
26077     [in] aafLength_t  srcRefLength);
26078 
26079 
26080   //***********************************************************
26081   //
26082   // NewPhysSourceRef()
26083   //
26125   HRESULT NewPhysSourceRef (
26126     [in] aafRational_t  editrate,
26127     [in] aafSlotID_t  aMobSlot,
26128     [in] IAAFDataDef * pEssenceKind,
26129     [in] aafSourceRef_t  ref,
26130     [in] aafLength_t  srcRefLength);
26131 
26132 
26133   //***********************************************************
26134   //
26135   // AddPulldownRef()
26136   //
26195   HRESULT AddPulldownRef (
26196     [in] aafAppendOption_t  addType,
26197     [in] aafRational_t  editrate,
26198     [in] aafSlotID_t  aMobSlot,
26199     [in] IAAFDataDef * pEssenceKind,
26200     [in] aafSourceRef_t  ref,
26201     [in] aafLength_t  srcRefLength,
26202     [in] aafPulldownKind_t  pulldownKind,
26203     [in] aafPhaseFrame_t  phaseFrame,
26204     [in] aafPulldownDir_t  direction);
26205 
26206 }
26207 
26208 
26209 
26210 // ************************
26211 //
26212 // Interface IAAFSourceReference
26213 //
26214 // ************************
26236 
26237 
26245 [
26246     object,
26247     uuid(92B88033-2B2B-11d2-BF7E-00104BC9156D),
26248     helpstring("IAAFSourceReference Interface"),
26249     pointer_default(unique)
26250 ]
26251 interface IAAFSourceReference : IUnknown
26252 {
26253   //***********************************************************
26254   //
26255   // GetSourceID()
26256   //
26276   HRESULT GetSourceID (
26277     [retval][out] aafMobID_t *  pSourceID);
26278 
26279 
26280   //***********************************************************
26281   //
26282   // SetSourceID()
26283   //
26297   HRESULT SetSourceID (
26298     [in] aafMobID_constref   sourceID);
26299 
26300 
26301   //***********************************************************
26302   //
26303   // GetSourceMobSlotID()
26304   //
26324   HRESULT GetSourceMobSlotID (
26325     [retval][out] aafSlotID_t *  pMobSlotID);
26326 
26327 
26328   //***********************************************************
26329   //
26330   // SetSourceMobSlotID()
26331   //
26350   HRESULT SetSourceMobSlotID (
26351     [in] aafSlotID_t   mobSlotID);
26352 
26353 
26354 
26355 
26356 
26357 
26358 
26359 
26360 
26361 }
26362 
26363 
26364 // ************************
26365 //
26366 // Interface IAAFStaticMobSlot
26367 //
26368 // ************************
26369 
26379 [
26380     object,
26381     uuid(e684d764-b935-11d2-bf9d-00104bc9156d),
26382     helpstring("IAAFStaticMobSlot Interface"),
26383     pointer_default(unique)
26384 ]
26385 interface IAAFStaticMobSlot : IUnknown
26386 {
26387 
26388 
26389 }
26390 
26391 
26392 
26393 // ************************
26394 //
26395 // Interface IAAFTIFFDescriptor
26396 //
26397 // ************************
26398 
26399 
26413 
26414 
26421 [
26422     object,
26423     uuid(e684d76c-b935-11d2-bf9d-00104bc9156d),
26424     helpstring("IAAFTIFFDescriptor Interface"),
26425     pointer_default(unique)
26426 ]
26427 interface IAAFTIFFDescriptor : IUnknown
26428 {
26429 
26430   //***********************************************************
26431   //
26432   // SetIsUniform()
26433   //
26448   HRESULT SetIsUniform (
26449     [in] aafBoolean_t  IsUniform);
26450 
26451 
26452   //***********************************************************
26453   //
26454   // GetIsUniform()
26455   //
26476   HRESULT GetIsUniform (
26477     [out] aafBoolean_t *  pIsUniform);
26478 
26479 
26480   //***********************************************************
26481   //
26482   // SetIsContiguous()
26483   //
26497   HRESULT SetIsContiguous (
26498     [in] aafBoolean_t  IsContiguous);
26499 
26500 
26501   //***********************************************************
26502   //
26503   // GetIsContiguous()
26504   //
26525   HRESULT GetIsContiguous (
26526     [out] aafBoolean_t *  pIsContiguous);
26527 
26528 
26529   //***********************************************************
26530   //
26531   // SetLeadingLines()
26532   //
26550   HRESULT SetLeadingLines (
26551     [in] aafInt32  LeadingLines);
26552 
26553 
26554   //***********************************************************
26555   //
26556   // GetLeadingLines()
26557   //
26580   HRESULT GetLeadingLines (
26581     [out] aafInt32 *  pLeadingLines);
26582 
26583 
26584   //***********************************************************
26585   //
26586   // SetTrailingLines()
26587   //
26605   HRESULT SetTrailingLines (
26606     [in] aafInt32  TrailingLines);
26607 
26608 
26609   //***********************************************************
26610   //
26611   // GetTrailingLines()
26612   //
26635   HRESULT GetTrailingLines (
26636     [out] aafInt32 *  pTrailingLines);
26637 
26638 
26639   //***********************************************************
26640   //
26641   // SetJPEGTableID()
26642   //
26656   HRESULT SetJPEGTableID (
26657     [in] aafJPEGTableID_t  JPEGTableID);
26658 
26659 
26660   //***********************************************************
26661   //
26662   // GetJPEGTableID()
26663   //
26686   HRESULT GetJPEGTableID (
26687     [out] aafJPEGTableID_t *  pJPEGTableID);
26688 
26689 
26690   //***********************************************************
26691   //
26692   // GetSummary()
26693   //
26717   HRESULT GetSummary (
26718     [in] aafUInt32  size,
26719     [out, size_is(size)] aafDataValue_t  pSummary);
26720 
26721 
26722   //***********************************************************
26723   //
26724   // GetSummaryBufferSize()
26725   //
26744   HRESULT GetSummaryBufferSize (
26745     [out] aafUInt32 *  pSize);
26746 
26747 
26748   //***********************************************************
26749   //
26750   // SetSummary()
26751   //
26771   HRESULT SetSummary (
26772     [in] aafUInt32  size,
26773     [in, size_is(size)] aafDataValue_t  pSummary);
26774 }
26775 
26776 
26777 
26778 // ************************
26779 //
26780 // Interface IAAFTaggedValue
26781 //
26782 // ************************
26798 [
26799     object,
26800     uuid(e684d762-b935-11d2-bf9d-00104bc9156d),
26801     helpstring("IAAFTaggedValue Interface"),
26802     pointer_default(unique)
26803 ]
26804 interface IAAFTaggedValue : IUnknown
26805 {
26806 
26807   //***********************************************************
26808   //
26809   // Initialize()
26810   //
26842   HRESULT Initialize (
26843     [in, string] aafCharacter_constptr  pName,
26844     [in] IAAFTypeDef * pTypeDef,
26845     [in] aafUInt32  valueSize,
26846     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
26847 
26848 
26849   //***********************************************************
26850   //
26851   // GetName()
26852   //
26890   HRESULT GetName (
26891     [out, string, size_is(bufSize)] aafCharacter *  pName,
26892     [in] aafUInt32  bufSize);
26893 
26894 
26895   //***********************************************************
26896   //
26897   // GetNameBufLen()
26898   //
26916   HRESULT GetNameBufLen (
26917     [out] aafUInt32 *  pBufSize);
26918 
26919 
26920   //***********************************************************
26921   //
26922   // GetTypeDefinition()
26923   //
26949   HRESULT GetTypeDefinition (
26950     [out] IAAFTypeDef ** ppTypeDef);
26951 
26952 
26953   //***********************************************************
26954   //
26955   // GetValue()
26956   //
26987   HRESULT GetValue (
26988     [in] aafUInt32  valueSize,
26989     [out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t  pValue,
26990     [out] aafUInt32 *  bytesRead);
26991 
26992 
26993   //***********************************************************
26994   //
26995   // GetValueBufLen()
26996   //
27017   HRESULT GetValueBufLen (
27018     [out] aafUInt32 *  pLen);
27019 
27020   //***********************************************************
27021   //
27022   // SetValue()
27023   //
27046   HRESULT SetValue (
27047     [in] aafUInt32  valueSize,
27048     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
27049 
27050 }
27051 
27052 
27053 
27054 // ************************
27055 //
27056 // Interface IAAFTaggedValueDefinition
27057 //
27058 // ************************
27067 [
27068     object,
27069     uuid(c358428a-bf73-4558-bfdf-482160719823),
27070     helpstring("IAAFTaggedValueDefinition Interface"),
27071     pointer_default(unique)
27072 ]
27073 
27074 interface IAAFTaggedValueDefinition : IUnknown
27075 {
27076 
27077 
27078   //***********************************************************
27079   //
27080   // Initialize()
27081   //
27088   HRESULT Initialize (
27089     [in, ref] aafUID_constref  id,
27090     [in, string] aafCharacter_constptr  pName,
27091     [in, string] aafCharacter_constptr  pDescription);
27092 
27093   //***********************************************************
27094   //
27095   // AddParentProperty()
27096   //
27109   HRESULT AddParentProperty (
27110     [in] IAAFPropertyDef * pParentProperty);
27111 
27112   //***********************************************************
27113   //
27114   // GetParentProperties()
27115   //
27129   HRESULT GetParentProperties (
27130     [out] IEnumAAFPropertyDefs ** ppEnum);
27131 
27132   //***********************************************************
27133   //
27134   // CountParentProperties()
27135   //
27149   HRESULT CountParentProperties (
27150     [out] aafUInt32*  pNumProperties);
27151 
27152   //***********************************************************
27153   //
27154   // RemoveParentProperty()
27155   //
27171   HRESULT RemoveParentProperty (
27172     [in] IAAFPropertyDef * pParentProperty);
27173 
27174 }
27175 
27176 
27177 
27178 // ************************
27179 //
27180 // Interface IAAFTapeDescriptor
27181 //
27182 // ************************
27183 
27197 
27198 
27203 [
27204     object,
27205     uuid(e58a8569-2a3e-11D2-bfa4-006097116212),
27206     helpstring("IAAFTapeDescriptor Interface"),
27207     pointer_default(unique)
27208 ]
27209 interface IAAFTapeDescriptor : IUnknown
27210 {
27211 
27212   //***********************************************************
27213   //
27214   // Initialize()
27215   //
27233   HRESULT Initialize ();
27234 
27235 
27236   //***********************************************************
27237   //
27238   // SetTapeManufacturer()
27239   //
27268   HRESULT SetTapeManufacturer (
27269     [in, string] aafCharacter_constptr  pTapeManufacturer);
27270 
27271 
27272   //***********************************************************
27273   //
27274   // GetTapeManufacturer()
27275   //
27313   HRESULT GetTapeManufacturer (
27314     [out, string, size_is(bufSize)] aafCharacter *  pTapeManufacturer,
27315     [in] aafUInt32  bufSize);
27316 
27317 
27318   //***********************************************************
27319   //
27320   // GetTapeManufacturerBufLen()
27321   //
27339   HRESULT GetTapeManufacturerBufLen (
27340     [out] aafUInt32 *  pBufSize);
27341 
27342 
27343   //***********************************************************
27344   //
27345   // SetTapeModel()
27346   //
27375   HRESULT SetTapeModel (
27376     [in, string] aafCharacter_constptr  pTapeModel);
27377 
27378 
27379   //***********************************************************
27380   //
27381   // GetTapeModel()
27382   //
27420   HRESULT GetTapeModel (
27421     [out, string, size_is(bufSize)] aafCharacter *  pTapeModel,
27422     [in] aafUInt32  bufSize);
27423 
27424 
27425   //***********************************************************
27426   //
27427   // GetTapeModelBufLen()
27428   //
27446   HRESULT GetTapeModelBufLen (
27447     [out] aafUInt32 *  pBufSize);
27448 
27449 
27450   //***********************************************************
27451   //
27452   // SetTapeFormFactor()
27453   //
27474   HRESULT SetTapeFormFactor (
27475     [in] aafTapeCaseType_t  formFactor);
27476 
27477 
27478   //***********************************************************
27479   //
27480   // GetTapeFormFactor()
27481   //
27502   HRESULT GetTapeFormFactor (
27503     [out] aafTapeCaseType_t *  formFactor);
27504 
27505 
27506   //***********************************************************
27507   //
27508   // SetSignalType()
27509   //
27530   HRESULT SetSignalType (
27531     [in] aafVideoSignalType_t  videoSignal);
27532 
27533 
27534   //***********************************************************
27535   //
27536   // GetSignalType()
27537   //
27560   HRESULT GetSignalType (
27561     [out] aafVideoSignalType_t *  pVideoSignal);
27562 
27563 
27564   //***********************************************************
27565   //
27566   // SetTapeFormat()
27567   //
27588   HRESULT SetTapeFormat (
27589     [in] aafTapeFormatType_t  tapeFormat);
27590 
27591 
27592   //***********************************************************
27593   //
27594   // GetTapeFormat()
27595   //
27619   HRESULT GetTapeFormat (
27620     [out] aafTapeFormatType_t *  pTapeFormat);
27621 
27622 
27623   //***********************************************************
27624   //
27625   // SetTapeLength()
27626   //
27647   HRESULT SetTapeLength (
27648     [in] aafUInt32  tapeLength);
27649 
27650 
27651   //***********************************************************
27652   //
27653   // GetTapeLength()
27654   //
27677   HRESULT GetTapeLength (
27678     [out] aafUInt32 *  pTapeLength);
27679 }
27680 
27681 
27682 
27683 // ************************
27684 //
27685 // Interface IAAFTextLocator
27686 //
27687 // ************************
27709 [
27710     object,
27711     uuid(e684d768-b935-11d2-bf9d-00104bc9156d),
27712     helpstring("IAAFTextLocator Interface"),
27713     pointer_default(unique)
27714 ]
27715 interface IAAFTextLocator : IUnknown
27716 {
27717 
27718   //***********************************************************
27719   //
27720   // Initialize()
27721   //
27739   HRESULT Initialize ();
27740 
27741 
27742   //***********************************************************
27743   //
27744   // SetName()
27745   //
27774   HRESULT SetName (
27775     [in, string] aafCharacter_constptr  pName);
27776 
27777 
27778   //***********************************************************
27779   //
27780   // GetName()
27781   //
27819   HRESULT GetName (
27820     [out, string, size_is(bufSize)] aafCharacter *  pName,
27821     [in] aafUInt32  bufSize);
27822 
27823 
27824   //***********************************************************
27825   //
27826   // GetNameBufLen()
27827   //
27845   HRESULT GetNameBufLen (
27846     [out] aafUInt32 *  pBufSize);
27847 }
27848 
27849 
27850 
27851 // ************************
27852 //
27853 // Interface IAAFTimecode
27854 //
27855 // ************************
27868 
27869 
27876 [
27877     object,
27878     uuid(92B88035-2B2B-11d2-BF7E-00104BC9156D),
27879     helpstring("IAAFTimecode Interface"),
27880     pointer_default(unique)
27881 ]
27882 interface IAAFTimecode : IUnknown
27883 {
27884 
27885   //***********************************************************
27886   //
27887   // Initialize()
27888   //
27913   HRESULT Initialize (
27914     [in] aafLength_t  length,
27915     [in] aafTimecode_t*  pTimecode);
27916 
27917 
27918   //***********************************************************
27919   //
27920   // GetTimecode()
27921   //
27944   HRESULT GetTimecode (
27945     [out] aafTimecode_t *  pTimecode);
27946 
27947 
27948   //***********************************************************
27949   //
27950   // SetTimecode()
27951   //
27974   HRESULT SetTimecode (
27975     [in] aafTimecode_t *  timecode);
27976 
27977 
27978 
27979 
27980 }
27981 
27982 
27983 
27984 // ************************
27985 //
27986 // Interface IAAFTimecodeStream
27987 //
27988 // ************************
28015 [
28016     object,
28017     uuid(7B007BF2-2D39-11d2-8043-006008143E6F),
28018     helpstring("IAAFTimecodeStream Interface"),
28019     pointer_default(unique)
28020 ]
28021 interface IAAFTimecodeStream : IUnknown
28022 {
28023 
28024   //***********************************************************
28025   //
28026   // GetPositionTimecode()
28027   //
28033   HRESULT GetPositionTimecode (
28034     [in] aafPosition_t  position,
28035     [out] aafTimecode_t *  timecode);
28036 
28037 
28038   //***********************************************************
28039   //
28040   // SetPositionTimecode()
28041   //
28048   HRESULT SetPositionTimecode (
28049     [in] aafPosition_t  position,
28050     [in] aafTimecode_t  timecode);
28051 
28052 
28053   //***********************************************************
28054   //
28055   // GetUserDataLength()
28056   //
28061   HRESULT GetUserDataLength (
28062     [out] aafInt32 *  length);
28063 
28064 
28065   //***********************************************************
28066   //
28067   // GetUserDataAtPosition()
28068   //
28075   HRESULT GetUserDataAtPosition (
28076     [in] aafPosition_t  position,
28077     [in] aafInt32  buflen,
28078     [out] aafDataBuffer_t  buffer);
28079 
28080 
28081   //***********************************************************
28082   //
28083   // SetUserDataAtPosition()
28084   //
28091   HRESULT SetUserDataAtPosition (
28092     [in] aafPosition_t  position,
28093     [in] aafInt32  buflen,
28094     [in] aafDataBuffer_t  buffer);
28095                                                          
28096 
28097   //***********************************************************
28098   //
28099   // SetSampleRate()
28100   //
28105   HRESULT SetSampleRate (
28106     [in] aafRational_t  sampleRate);
28107 
28108 
28109   //***********************************************************
28110   //
28111   // GetSampleRate()
28112   //
28117   HRESULT GetSampleRate (
28118     [out] aafRational_t *  pSampleRate);
28119 
28120 
28121   //***********************************************************
28122   //
28123   // SetSourceType()
28124   //
28129   HRESULT SetSourceType (
28130     [in] aafTimecodeSourceType_t  sourceType);
28131 
28132 
28133   //***********************************************************
28134   //
28135   // GetSourceType()
28136   //
28141   HRESULT GetSourceType (
28142     [out] aafTimecodeSourceType_t *  pSourceType);
28143 
28144 
28145   //***********************************************************
28146   //
28147   // GetSampleSize()
28148   //
28153   HRESULT GetSampleSize (
28154     [out] aafUInt32 *  pSampleSize);
28155 
28156 
28157   //***********************************************************
28158   //
28159   // GetSource()
28160   //
28191   HRESULT GetSource (
28192     [in] aafUInt32  valueSize,
28193     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
28194     [out] aafUInt32*  bytesRead);
28195 
28196 
28197   //***********************************************************
28198   //
28199   // GetSourceBufLen()
28200   //
28222   HRESULT GetSourceBufLen (
28223     [out] aafUInt32 *  pLen);
28224 
28225 
28226   //***********************************************************
28227   //
28228   // SetSource()
28229   //
28251   HRESULT SetSource (
28252     [in] aafUInt32  valueSize,
28253     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
28254 
28255 
28256 
28257 
28258 
28259 
28260 }
28261 
28262 
28263 
28264 // ************************
28265 //
28266 // Interface IAAFTimecodeStream12M
28267 //
28268 // ************************
28276 [
28277     object,
28278     uuid(EBF5EDB2-2D3A-11d2-8043-006008143E6F),
28279     helpstring("IAAFTimecodeStream12M Interface"),
28280     pointer_default(unique)
28281 ]
28282 
28283 interface IAAFTimecodeStream12M : IUnknown
28284 {
28285 
28286 
28287 
28288 
28289 }
28290 
28291 
28292 
28293 // ************************
28294 //
28295 // Interface IAAFTimelineMobSlot
28296 //
28297 // ************************
28320 
28321 
28327 [
28328     object,
28329     uuid(B1A21378-1A7D-11D2-BF78-00104BC9156D),
28330     helpstring("IAAFTimelineMobSlot Interface"),
28331     pointer_default(unique)
28332 ]
28333 interface IAAFTimelineMobSlot : IUnknown
28334 {
28335   //***********************************************************
28336   //
28337   // Initialize()
28338   //
28357   HRESULT Initialize ();
28358 
28359 
28360   //***********************************************************
28361   //
28362   // GetEditRate()
28363   //
28384   HRESULT GetEditRate (
28385     [out,retval] aafRational_t *  pEditRate);
28386 
28387 
28388   //***********************************************************
28389   //
28390   // SetEditRate()
28391   //
28406   HRESULT SetEditRate (
28407     [in] aafRational_constref  editRate);
28408 
28409 
28410   //***********************************************************
28411   //
28412   // GetOrigin()
28413   //
28434   HRESULT GetOrigin (
28435     [out,retval] aafPosition_t *  pOrigin);
28436 
28437 
28438   //***********************************************************
28439   //
28440   // SetOrigin()
28441   //
28456   HRESULT SetOrigin (
28457     [in] aafPosition_t  origin);
28458 
28459 
28460 
28461 
28462 
28463 
28464 
28465 }
28466 
28467 
28468 // ************************
28469 //
28470 // Interface IAAFTransition
28471 //
28472 // ************************
28501 [
28502     object,
28503     uuid(E3F38312-2D3C-11d2-8043-006008143E6F),
28504     helpstring("IAAFTransition Interface"),
28505     pointer_default(unique)
28506 ]
28507 interface IAAFTransition : IUnknown
28508 {
28509 
28510   //***********************************************************
28511   //
28512   // Initialize()
28513   //
28522   HRESULT Initialize (
28523     [in] IAAFDataDef * pDataDef,
28524     [in] aafLength_t  length,
28525     [in] aafPosition_t  cutPoint,
28526     [in] IAAFOperationGroup * op);       
28527 
28528 
28529   //***********************************************************
28530   //
28531   // GetCutPoint()
28532   //
28538   HRESULT GetCutPoint (
28539     [out] aafPosition_t *  cutPoint);
28540 
28541 
28542   //***********************************************************
28543   //
28544   // GetOperationGroup()
28545   //
28550   HRESULT GetOperationGroup (
28551     [out] IAAFOperationGroup ** groupObj);
28552 
28553 
28554   //***********************************************************
28555   //
28556   // SetCutPoint()
28557   //
28563   HRESULT SetCutPoint (
28564     [in] aafPosition_t  cutPoint);
28565 
28566 
28567   //***********************************************************
28568   //
28569   // SetOperationGroup()
28570   //
28575   HRESULT SetOperationGroup (
28576     [in] IAAFOperationGroup * opgroup);
28577 }
28578 
28579 
28580 
28581 // ************************
28582 //
28583 // Interface IAAFTypeDef
28584 //
28585 // ************************
28605 
28606 
28610 [
28611     object,
28612     uuid(dfbd6523-1d81-11d2-bf96-006097116212),
28613     helpstring("IAAFTypeDef Interface"),
28614     pointer_default(unique)
28615 ]
28616 interface IAAFTypeDef : IUnknown
28617 {
28618 
28619   //***********************************************************
28620   //
28621   // GetTypeCategory()
28622   //
28640   HRESULT GetTypeCategory (
28641     [out] eAAFTypeCategory_t *  pTid);
28642 
28643 
28644   //***********************************************************
28645   //
28646   // RawAccessType()
28647   //
28669   HRESULT RawAccessType (
28670     [out] IAAFTypeDef ** ppRawTypeDef);
28671 
28672 
28673 }
28674 
28675 
28676 
28677 // ************************
28678 //
28679 // Interface IAAFTypeDefCharacter
28680 //
28681 // ************************
28697 [
28698     object,
28699     uuid(FE717CAA-F04C-11d3-800B-00104BC9156D),
28700     helpstring("IAAFTypeDefCharacter Interface"),
28701     pointer_default(unique)
28702 ]
28703 interface IAAFTypeDefCharacter : IUnknown
28704 {
28705 
28706 
28707   //***********************************************************
28708   //
28709   // CreateValueFromCharacter()
28710   //
28732   HRESULT CreateValueFromCharacter (
28733     [in] aafCharacter  character,
28734     [out] IAAFPropertyValue ** ppCharacterValue);
28735 
28736   //***********************************************************
28737   //
28738   // GetCharacter()
28739   //
28761   HRESULT GetCharacter (
28762     [in] IAAFPropertyValue * pCharacterValue,
28763     [out] aafCharacter *  pCharacter);
28764 
28765   //***********************************************************
28766   //
28767   // SetCharacter()
28768   //
28789   HRESULT SetCharacter (
28790     [in] IAAFPropertyValue * pCharacterValue,
28791     [in] aafCharacter  character);
28792 
28793 
28794 
28795 }
28796 
28797 
28798 
28799 // ************************
28800 //
28801 // Interface IAAFTypeDefEnum
28802 //
28803 // ************************
28820 [
28821     object,
28822     uuid(307e9e64-dcb2-11d2-8429-00600832acb8),
28823     helpstring("IAAFTypeDefEnum Interface"),
28824     pointer_default(unique)
28825 ]
28826 interface IAAFTypeDefEnum : IUnknown
28827 {
28828 
28829   //***********************************************************
28830   //
28831   // Initialize()
28832   //
28883   HRESULT Initialize (
28884     [in, ref] aafUID_constref  id,
28885     [in] IAAFTypeDef * pType,
28886     [in, size_is(numElems)] aafInt64 *  pElementValues,
28887     [in, size_is(numElems)] aafString_t *  pElementNames,
28888     [in] aafUInt32  numElems,
28889     [in] aafCharacter_constptr  pTypeName);
28890 
28891 
28892   //***********************************************************
28893   //
28894   // CreateValueFromName()
28895   //
28928   HRESULT CreateValueFromName (
28929     [in] aafCharacter_constptr  Name,
28930     [out] IAAFPropertyValue ** ppPropVal);
28931   
28932   
28933   
28934   //***********************************************************
28935   //
28936   // GetElementType()
28937   //
28960   HRESULT GetElementType (
28961     [out] IAAFTypeDef ** ppTypeDef);
28962 
28963   //***********************************************************
28964   //
28965   // GetElementValue()
28966   //
28994   HRESULT GetElementValue (
28995     [in] aafUInt32  index,
28996     [out] aafInt64 *  pOutValue);
28997 
28998   //***********************************************************
28999   //
29000   // GetElementName()
29001   //
29038   HRESULT GetElementName (
29039     [in] aafUInt32  index,
29040     [out, size_is(bufSize)] aafCharacter *  pOutValue,
29041     [in] aafUInt32  bufSize);
29042   
29043   
29044 
29045   //***********************************************************
29046   //
29047   // GetElementNameBufLen()
29048   //
29077   HRESULT GetElementNameBufLen (
29078     [in] aafUInt32  index,
29079     [out] aafUInt32 *  pLen);
29080 
29081 
29082 
29083   
29084   //***********************************************************
29085   //
29086   // CountElements()
29087   //
29109   HRESULT CountElements (
29110     [out] aafUInt32 *  pCount);
29111 
29112 
29113 
29114   //***********************************************************
29115   //
29116   // GetNameFromValue()
29117   //
29157   HRESULT GetNameFromValue (
29158     [in] IAAFPropertyValue * pValue,
29159     [out, size_is(bufSize), string] aafCharacter *  pName,
29160     [in] aafUInt32  bufSize);
29161 
29162 
29163   //***********************************************************
29164   //
29165   // GetNameBufLenFromValue()
29166   //
29197   HRESULT GetNameBufLenFromValue (
29198     [in] IAAFPropertyValue * pValue,
29199     [out] aafUInt32 *  pLen);
29200 
29201 
29202   //***********************************************************
29203   //
29204   // GetNameFromInteger()
29205   //
29244   HRESULT GetNameFromInteger (
29245     [in] aafInt64  value,
29246     [out, size_is(bufSize), string] aafCharacter *  pName,
29247     [in] aafUInt32  bufSize);
29248 
29249 
29250   //***********************************************************
29251   //
29252   // GetNameBufLenFromInteger()
29253   //
29283   HRESULT GetNameBufLenFromInteger (
29284     [in] aafInt64  value,
29285     [out] aafUInt32 *  pLen);
29286 
29287 
29288   //***********************************************************
29289   //
29290   // GetIntegerValue()
29291   //
29315   HRESULT GetIntegerValue (
29316     [in] IAAFPropertyValue * pPropValIn,
29317     [out] aafInt64 *  pValueOut);
29318 
29319 
29320   //***********************************************************
29321   //
29322   // SetIntegerValue()
29323   //
29350   HRESULT SetIntegerValue (
29351     [in] IAAFPropertyValue * pPropValToSet,
29352     [in] aafInt64  valueIn);
29353 
29354 
29355   //***********************************************************
29356   //
29357   // RegisterSize()
29358   //
29381   HRESULT RegisterSize (
29382     [in] aafUInt32  enumSize);
29383 
29384 }
29385 
29386 
29387 
29388 // ************************
29389 //
29390 // Interface IAAFTypeDefExtEnum
29391 //
29392 // ************************
29409 [
29410     object,
29411     uuid(a5456f01-0ef2-11d3-842e-00600832acb8),
29412     helpstring("IAAFTypeDefExtEnum Interface"),
29413     pointer_default(unique)
29414 ]
29415 interface IAAFTypeDefExtEnum : IUnknown
29416 {
29417 
29418   //***********************************************************
29419   //
29420   // Initialize()
29421   //
29453   HRESULT Initialize (
29454     [in, ref] aafUID_constref  id,
29455     [in] aafCharacter_constptr  pTypeName);
29456 
29457   //***********************************************************
29458   //
29459   // CreateValueFromName()
29460   //
29493   HRESULT CreateValueFromName (
29494     [in] aafCharacter_constptr  Name,
29495     [out] IAAFPropertyValue ** ppPropVal);
29496   
29497 
29498   //***********************************************************
29499   //
29500   // CountElements()
29501   //
29523   HRESULT CountElements (
29524     [out] aafUInt32 *  pCount);
29525 
29526 
29527   //***********************************************************
29528   //
29529   // GetElementValue()
29530   //
29558   HRESULT GetElementValue (
29559     [in] aafUInt32  index,
29560     [out] aafUID_t *  pOutValue);
29561 
29562 
29563   //***********************************************************
29564   //
29565   // GetElementName()
29566   //
29603   HRESULT GetElementName (
29604     [in] aafUInt32  index,
29605     [out, size_is(bufSize)] aafCharacter *  pOutValue,
29606     [in] aafUInt32  bufSize);
29607   
29608   //***********************************************************
29609   //
29610   // GetElementNameBufLen()
29611   //
29640   HRESULT GetElementNameBufLen (
29641     [in] aafUInt32  index,
29642     [out] aafUInt32 *  pLen);
29643 
29644 
29645   //***********************************************************
29646   //
29647   // GetNameFromValue()
29648   //
29688   HRESULT GetNameFromValue (
29689     [in] IAAFPropertyValue * pValue,
29690     [out, size_is(bufSize), string] aafCharacter *  pName,
29691     [in] aafUInt32  bufSize);
29692 
29693 
29694   //***********************************************************
29695   //
29696   // GetNameBufLenFromValue()
29697   //
29728   HRESULT GetNameBufLenFromValue (
29729     [in] IAAFPropertyValue * pValue,
29730     [out] aafUInt32 *  pLen);
29731 
29732 
29733   //***********************************************************
29734   //
29735   // GetNameFromAUID()
29736   //
29775   HRESULT GetNameFromAUID (
29776     [in, ref] aafUID_constref  value,
29777     [out, size_is(bufSize), string] aafCharacter *  pName,
29778     [in] aafUInt32  bufSize);
29779 
29780 
29781   //***********************************************************
29782   //
29783   // GetNameBufLenFromAUID()
29784   //
29814   HRESULT GetNameBufLenFromAUID (
29815     [in, ref] aafUID_constref  value,
29816     [out] aafUInt32 *  pLen);
29817 
29818 
29819   //***********************************************************
29820   //
29821   // GetAUIDValue()
29822   //
29846   HRESULT GetAUIDValue (
29847     [in] IAAFPropertyValue * pPropValIn,
29848     [out] aafUID_t *  pValueOut);
29849 
29850 
29851   //***********************************************************
29852   //
29853   // SetAUIDValue()
29854   //
29881   HRESULT SetAUIDValue (
29882     [in] IAAFPropertyValue * pPropValToSet,
29883     [in, ref] aafUID_constref  valueIn);
29884 
29885 
29886   //***********************************************************
29887   //
29888   // AppendElement()
29889   //
29916   HRESULT AppendElement (
29917     [in, ref] aafUID_constref  value,
29918     [in] aafCharacter_constptr  pName);
29919 
29920 
29921 
29922 }
29923 
29924 
29925 
29926 // ************************
29927 //
29928 // Interface IAAFTypeDefFixedArray
29929 //
29930 // ************************
29946 [
29947     object,
29948     uuid(c3274646-9467-11d2-841f-00600832acb8),
29949     helpstring("IAAFTypeDefFixedArray Interface"),
29950     pointer_default(unique)
29951 ]
29952 interface IAAFTypeDefFixedArray : IUnknown
29953 {
29954 
29955   //***********************************************************
29956   //
29957   // Initialize()
29958   //
30000   HRESULT Initialize (
30001     [in, ref] aafUID_constref  id,
30002     [in] IAAFTypeDef * pTypeDef,
30003     [in] aafUInt32  nElements,
30004     [in] aafCharacter_constptr  pTypeName);
30005 
30006 
30007   //***********************************************************
30008   //
30009   // GetType()
30010   //
30032   HRESULT GetType (
30033     [out] IAAFTypeDef ** ppTypeDef);
30034 
30035 
30036   //***********************************************************
30037   //
30038   // GetCount()
30039   //
30061   HRESULT GetCount (
30062     [out] aafUInt32 *  pCount);
30063 
30064 
30065   //***********************************************************
30066   //
30067   // CreateValueFromValues()
30068   //
30104   HRESULT CreateValueFromValues (
30105     [in, size_is(numElements)] IAAFPropertyValue ** ppElementValues,
30106     [in] aafUInt32  numElements,
30107     [out] IAAFPropertyValue ** ppPropVal);
30108 
30109 
30110   //***********************************************************
30111   //
30112   // CreateValueFromCArray()
30113   //
30153   HRESULT CreateValueFromCArray (
30154     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
30155     [in] aafUInt32  initDataSize,
30156     [out] IAAFPropertyValue ** ppPropVal);
30157 
30158 
30159   //***********************************************************
30160   //
30161   // GetElementValue()
30162   //
30194   HRESULT GetElementValue (
30195     [in] IAAFPropertyValue * pInPropVal,
30196     [in] aafUInt32  index,
30197     [out] IAAFPropertyValue ** ppOutPropVal);
30198 
30199 
30200   //***********************************************************
30201   //
30202   // GetCArray()
30203   //
30241   HRESULT GetCArray (
30242     [in] IAAFPropertyValue * pPropVal,
30243     [out, size_is(dataSize)] aafMemPtr_t  pData,
30244     [in] aafUInt32  dataSize);
30245 
30246 
30247   //***********************************************************
30248   //
30249   // SetElementValue()
30250   //
30283   HRESULT SetElementValue (
30284     [in] IAAFPropertyValue * pPropVal,
30285     [in] aafUInt32  index,
30286     [in] IAAFPropertyValue * pMemberPropVal);
30287 
30288 
30289   //***********************************************************
30290   //
30291   // SetCArray()
30292   //
30331   HRESULT SetCArray (
30332     [in] IAAFPropertyValue * pPropVal,
30333     [in, size_is(dataSize)] aafMemPtr_t  pData,
30334     [in] aafUInt32  dataSize);
30335 
30336 
30337 
30338 
30339   //***********************************************************
30340   //
30341   // GetElements()
30342   //
30367   HRESULT GetElements (
30368     [in] IAAFPropertyValue * PSetPropVal,
30369     [out] IEnumAAFPropertyValues ** ppEnum);
30370 
30371 }
30372 
30373 
30374 
30375 // ************************
30376 //
30377 // Interface IAAFTypeDefIndirect
30378 //
30379 // ************************
30395 [
30396     object,
30397     uuid(FE717CA8-F04C-11d3-800B-00104BC9156D),
30398     helpstring("IAAFTypeDefIndirect Interface"),
30399     pointer_default(unique)
30400 ]
30401 interface IAAFTypeDefIndirect : IUnknown
30402 {
30403 
30404 
30405 
30406   //***********************************************************
30407   //
30408   // CreateValueFromActualValue()
30409   //
30441   HRESULT CreateValueFromActualValue (
30442     [in] IAAFPropertyValue * pActualValue,
30443     [out] IAAFPropertyValue ** ppIndirectPropertyValue);
30444 
30445   //***********************************************************
30446   //
30447   // CreateValueFromActualData()
30448   //
30487   HRESULT CreateValueFromActualData (
30488     [in] IAAFTypeDef * pActualType,
30489     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
30490     [in] aafUInt32  initDataSize,
30491     [out] IAAFPropertyValue ** ppIndirectPropertyValue);
30492 
30493 
30494   //***********************************************************
30495   //
30496   // GetActualValue()
30497   //
30527   HRESULT GetActualValue (
30528     [in] IAAFPropertyValue * pIndirectPropertyValue,
30529     [out] IAAFPropertyValue ** ppActualPropertyValue);
30531 
30532   //***********************************************************
30533   //
30534   // GetActualSize()
30535   //
30571   HRESULT GetActualSize (
30572     [in] IAAFPropertyValue * pIndirectPropertyValue,
30573     [out] aafUInt32 *  pActualSize);
30574   //***********************************************************
30575   //
30576   // GetActualType()
30577   //
30612   HRESULT GetActualType (
30613     [in] IAAFPropertyValue * pIndirectPropertyValue,
30614     [out] IAAFTypeDef ** pActualType);
30615 
30616   //***********************************************************
30617   //
30618   // GetActualData()
30619   //
30658   HRESULT GetActualData (
30659     [in] IAAFPropertyValue * pPropVal,
30660     [out, size_is(dataSize)] aafMemPtr_t  pData,
30661     [in] aafUInt32  dataSize);
30662 
30663 
30664 
30665 }
30666 
30667 
30668 
30669 // ************************
30670 //
30671 // Interface IAAFTypeDefInt
30672 //
30673 // ************************
30689 [
30690     object,
30691     uuid(809c8ca2-9884-11d2-841f-00600832acb8),
30692     helpstring("IAAFTypeDefInt Interface"),
30693     pointer_default(unique)
30694 ]
30695 interface IAAFTypeDefInt : IUnknown
30696 {
30697 
30698   //***********************************************************
30699   //
30700   // Initialize()
30701   //
30734   HRESULT Initialize (
30735     [in, ref] aafUID_constref  id,
30736     [in] aafUInt8  intSize,
30737     [in] aafBoolean_t  isSigned,
30738     [in, string] aafCharacter_constptr  pTypeName);
30739 
30740 
30741   //***********************************************************
30742   //
30743   // CreateValue()
30744   //
30784   HRESULT CreateValue (
30785     [in, size_is(valSize)] aafMemPtr_t  pVal,
30786     [in] aafUInt32  valSize,
30787     [out] IAAFPropertyValue ** ppPropVal);
30788 
30789 
30790   //***********************************************************
30791   //
30792   // GetInteger()
30793   //
30839   HRESULT GetInteger (
30840     [in] IAAFPropertyValue * pPropVal,
30841     [out, size_is(valSize)] aafMemPtr_t  pVal,
30842     [in] aafUInt32  valSize);
30843 
30844 
30845   //***********************************************************
30846   //
30847   // SetInteger()
30848   //
30880   HRESULT SetInteger (
30881     [in] IAAFPropertyValue * pPropVal,
30882     [in, size_is(valSize)] aafMemPtr_t  pVal,
30883     [in] aafUInt32  valSize);
30884 
30885 
30886   //***********************************************************
30887   //
30888   // GetSize()
30889   //
30911   HRESULT GetSize (
30912     [out] aafUInt32 *  pSize);
30913 
30914 
30915   //***********************************************************
30916   //
30917   // IsSigned()
30918   //
30941   HRESULT IsSigned (
30942     [out] aafBoolean_t *  pSigned);
30943 
30944 
30945 
30946 }
30947 
30948 
30949 
30950 // ************************
30951 //
30952 // Interface IAAFTypeDefObjectRef
30953 //
30954 // ************************
30970 [
30971     object,
30972     uuid(c3274644-9467-11d2-841f-00600832acb8),
30973     helpstring("IAAFTypeDefObjectRef Interface"),
30974     pointer_default(unique)
30975 ]
30976 interface IAAFTypeDefObjectRef : IUnknown
30977 {
30978 
30979 
30980   //***********************************************************
30981   //
30982   // GetObjectType()
30983   //
31007   HRESULT GetObjectType (
31008     [out] IAAFClassDef ** ppObjType);
31009 
31010   //***********************************************************
31011   //
31012   // CreateValue()
31013   //
31038   HRESULT CreateValue (
31039     [in] IUnknown * pObj,
31040     [out] IAAFPropertyValue ** ppPropVal);
31041 
31042   //***********************************************************
31043   //
31044   // GetObject()
31045   //
31071   HRESULT GetObject (
31072     [in] IAAFPropertyValue * pPropVal,
31073     [in] REFIID  iid,
31074     [out, iid_is(iid)] IUnknown ** ppObject);
31075 
31076 
31077   //***********************************************************
31078   //
31079   // SetObject()
31080   //
31105   HRESULT SetObject (
31106     [in] IAAFPropertyValue * pPropVal,
31107     [in] IUnknown * pObject);
31108 
31109 
31110 
31111 }
31112 
31113 
31114 
31115 // ************************
31116 //
31117 // Interface IAAFTypeDefOpaque
31118 //
31119 // ************************
31136 [
31137     object,
31138     uuid(FE717CAC-F04C-11d3-800B-00104BC9156D),
31139     helpstring("IAAFTypeDefOpaque Interface"),
31140     pointer_default(unique)
31141 ]
31142 interface IAAFTypeDefOpaque : IUnknown
31143 {
31144 
31145 
31146   //***********************************************************
31147   //
31148   // GetActualTypeID()
31149   //
31178   HRESULT GetActualTypeID (
31179     [in] IAAFPropertyValue * pOpaquePropertyValue,
31180     [out] aafUID_t *  pActualTypeID);
31181 
31182   //***********************************************************
31183   //
31184   // GetHandle()
31185   //
31221   HRESULT GetHandle (
31222     [in] IAAFPropertyValue * pPropVal,
31223     [in] aafUInt32  handleSize,
31224     [out, size_is(handleSize),length_is(*bytesRead)] aafDataBuffer_t  pHandle,
31225     [out] aafUInt32*  bytesRead);
31226 
31227 
31228   //***********************************************************
31229   //
31230   // GetHandleBufLen()
31231   //
31254   HRESULT GetHandleBufLen (
31255     [in] IAAFPropertyValue * pPropVal,
31256     [out] aafUInt32 *  pLen);
31257 
31258   //***********************************************************
31259   //
31260   // SetHandle()
31261   //
31285   HRESULT SetHandle (
31286     [in] IAAFPropertyValue * pPropVal,
31287     [in] aafUInt32  handleSize,
31288     [in, size_is(handleSize)] aafDataBuffer_t  pHandle);
31289 
31290   //***********************************************************
31291   //
31292   // CreateValueFromHandle()
31293   //
31327   HRESULT CreateValueFromHandle (
31328     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
31329     [in] aafUInt32  initDataSize,
31330     [out] IAAFPropertyValue ** ppOpaquePropertyValue);
31331 
31332 
31333 
31334 }
31335 
31336 
31337 
31338 // ************************
31339 //
31340 // Interface IAAFTypeDefRecord
31341 //
31342 // ************************
31358 [
31359     object,
31360     uuid(809c8ca6-9884-11d2-841f-00600832acb8),
31361     helpstring("IAAFTypeDefRecord Interface"),
31362     pointer_default(unique)
31363 ]
31364 interface IAAFTypeDefRecord : IUnknown
31365 {
31366 
31367   //***********************************************************
31368   //
31369   // Initialize()
31370   //
31418   HRESULT Initialize (
31419     [in, ref] aafUID_constref  id,
31420     [in, size_is(numMembers)] IAAFTypeDef ** ppMemberTypes,
31421     [in, size_is(numMembers)] aafString_t *  pMemberNames,
31422     [in] aafUInt32  numMembers,
31423     [in] aafCharacter_constptr  pTypeName);
31424 
31425 
31426   //***********************************************************
31427   //
31428   // GetMemberType()
31429   //
31458   HRESULT GetMemberType (
31459     [in] aafUInt32  index,
31460     [out] IAAFTypeDef ** ppTypeDef);
31461 
31462 
31463   //***********************************************************
31464   //
31465   // GetMemberName()
31466   //
31508   HRESULT GetMemberName (
31509     [in] aafUInt32  index,
31510     [out, size_is(bufSize), string] aafCharacter *  pName,
31511     [in] aafUInt32  bufSize);
31512 
31513 
31514   //***********************************************************
31515   //
31516   // GetMemberNameBufLen()
31517   //
31551   HRESULT GetMemberNameBufLen (
31552     [in] aafUInt32  index,
31553     [out] aafUInt32 *  pLen);
31554 
31555 
31556   //***********************************************************
31557   //
31558   // CreateValueFromValues()
31559   //
31595   HRESULT CreateValueFromValues (
31596     [in, size_is(numMembers)] IAAFPropertyValue ** pMemberValues,
31597     [in] aafUInt32  numMembers,
31598     [out] IAAFPropertyValue ** ppPropVal);
31599 
31600 
31601   //***********************************************************
31602   //
31603   // CreateValueFromStruct()
31604   //
31643   HRESULT CreateValueFromStruct (
31644     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
31645     [in] aafUInt32  initDataSize,
31646     [out] IAAFPropertyValue ** ppPropVal);
31647 
31648 
31649   //***********************************************************
31650   //
31651   // GetValue()
31652   //
31685   HRESULT GetValue (
31686     [in] IAAFPropertyValue * pInPropVal,
31687     [in] aafUInt32  index,
31688     [out] IAAFPropertyValue ** ppOutPropVal);
31689 
31690 
31691   //***********************************************************
31692   //
31693   // GetStruct()
31694   //
31731   HRESULT GetStruct (
31732     [in] IAAFPropertyValue * pPropVal,
31733     [out, size_is(dataSize)] aafMemPtr_t  pData,
31734     [in] aafUInt32  dataSize);
31735 
31736 
31737   //***********************************************************
31738   //
31739   // SetValue()
31740   //
31772   HRESULT SetValue (
31773     [in] IAAFPropertyValue * pPropVal,
31774     [in] aafUInt32  index,
31775     [in] IAAFPropertyValue * pMemberPropVal);
31776 
31777 
31778   //***********************************************************
31779   //
31780   // SetStruct()
31781   //
31818   HRESULT SetStruct (
31819     [in] IAAFPropertyValue * pPropVal,
31820     [in, size_is(dataSize)] aafMemPtr_t  pData,
31821     [in] aafUInt32  dataSize);
31822 
31823 
31824   //***********************************************************
31825   //
31826   // GetCount()
31827   //
31849   HRESULT GetCount (
31850     [out] aafUInt32 *  pCount);
31851 
31852 
31853   //***********************************************************
31854   //
31855   // RegisterMembers()
31856   //
31903   HRESULT RegisterMembers (
31904     [in] aafUInt32 *  pOffsets,
31905     [in] aafUInt32  numMembers,
31906     [in] aafUInt32  structSize);
31907 }
31908 
31909 
31910 
31911 // ************************
31912 //
31913 // Interface IAAFTypeDefRename
31914 //
31915 // ************************
31932 [
31933     object,
31934     uuid(307e9e6a-dcb2-11d2-8429-00600832acb8),
31935     helpstring("IAAFTypeDefRename Interface"),
31936     pointer_default(unique)
31937 ]
31938 interface IAAFTypeDefRename : IUnknown
31939 {
31940 
31941   //***********************************************************
31942   //
31943   // Initialize()
31944   //
31973   HRESULT Initialize (
31974     [in, ref] aafUID_constref  id,
31975     [in] IAAFTypeDef * pBaseType,
31976     [in, string] aafCharacter_constptr  pTypeName);
31977 
31978 
31979   //***********************************************************
31980   //
31981   // GetBaseType()
31982   //
32004   HRESULT GetBaseType (
32005     [out] IAAFTypeDef ** ppBaseType);
32006 
32007 
32008   //***********************************************************
32009   //
32010   // GetBaseValue()
32011   //
32036   HRESULT GetBaseValue (
32037     [in] IAAFPropertyValue * pInPropVal,
32038     [out] IAAFPropertyValue ** ppOutPropVal);
32039 
32040   //***********************************************************
32041   //
32042   // CreateValue()
32043   //
32068   HRESULT CreateValue (
32069     [in] IAAFPropertyValue * pInPropVal,
32070     [out] IAAFPropertyValue ** ppOutPropVal);
32071 
32072 
32073 }
32074 
32075 
32076 
32077 // ************************
32078 //
32079 // Interface IAAFTypeDefSet
32080 //
32081 // ************************
32098 [
32099     object,
32100     uuid(381e1f22-e7bb-11d2-842a-00600832acb8),
32101     helpstring("IAAFTypeDefSet Interface"),
32102     pointer_default(unique)
32103 ]
32104 interface IAAFTypeDefSet : IUnknown
32105 {
32106 
32107   //***********************************************************
32108   //
32109   // Initialize()
32110   //
32138   HRESULT Initialize (
32139     [in] aafUID_constref  id,
32140     [in] IAAFTypeDef * pTypeDef,
32141     [in,string] aafCharacter_constptr  pTypeName);
32142 
32143   //***********************************************************
32144   //
32145   // GetElementType()
32146   //
32168   HRESULT GetElementType (
32169     [out] IAAFTypeDef ** ppTypeDef);
32170 
32171   //***********************************************************
32172   //
32173   // AddElement()
32174   //
32197   HRESULT AddElement (
32198     [in] IAAFPropertyValue * pSetPropertyValue,
32199     [in] IAAFPropertyValue * pElementPropertyValue);
32200 
32201   //***********************************************************
32202   //
32203   // RemoveElement()
32204   //
32227   HRESULT RemoveElement (
32228     [in] IAAFPropertyValue * pSetPropertyValue,
32229     [in] IAAFPropertyValue * pElementPropertyValue);
32230 
32231   //***********************************************************
32232   //
32233   // ContainsElement()
32234   //
32257   HRESULT ContainsElement (
32258     [in] IAAFPropertyValue * pSetPropertyValue,
32259     [in] IAAFPropertyValue * pElementPropertyValue,
32260     [out] aafBoolean_t*  pContainsElement);
32261 
32262 
32263 
32264   //***********************************************************
32265   //
32266   // GetCount()
32267   //
32292   HRESULT GetCount (
32293     [in] IAAFPropertyValue * pSetPropertyValue,
32294     [out] aafUInt32 *  pCount);
32295 
32296 
32297   //***********************************************************
32298   //
32299   // CreateKey()
32300   //
32326   HRESULT CreateKey (
32327     [in,size_is(length)] aafDataBuffer_t  pKeyPtr,
32328     [in] aafUInt32  length,
32329     [out] IAAFPropertyValue ** ppKey);
32330 
32331 
32332   //***********************************************************
32333   //
32334   // LookupElement()
32335   //
32363   HRESULT LookupElement (
32364     [in] IAAFPropertyValue * pSetPropertyValue,
32365     [in] IAAFPropertyValue * pKey,
32366     [out] IAAFPropertyValue ** ppElementPropertyValue);
32367 
32368   //***********************************************************
32369   //
32370   // ContainsKey()
32371   //
32398   HRESULT ContainsKey (
32399     [in] IAAFPropertyValue * pSetPropertyValue,
32400     [in] IAAFPropertyValue * pKey,
32401     [out] aafBoolean_t*  pContainsKey);
32402 
32403 
32404   //***********************************************************
32405   //
32406   // GetElements()
32407   //
32432   HRESULT GetElements (
32433     [in] IAAFPropertyValue * pSetPropertyValue,
32434     [out] IEnumAAFPropertyValues ** ppEnum);
32435 
32436 
32437 }
32438 
32439 
32440 
32441 // ************************
32442 //
32443 // Interface IAAFTypeDefStream
32444 //
32445 // ************************
32466 [
32467     object,
32468     uuid(307e9e6e-dcb2-11d2-8429-00600832acb8),
32469     helpstring("IAAFTypeDefStream Interface"),
32470     pointer_default(unique)
32471 ]
32472 interface IAAFTypeDefStream : IUnknown
32473 {
32474 
32475   //***********************************************************
32476   //
32477   // GetSize()
32478   //
32503   HRESULT GetSize (
32504     [in] IAAFPropertyValue * pStreamPropertyValue,
32505     [out] aafInt64 *  pSize);
32506 
32507   //***********************************************************
32508   //
32509   // SetSize()
32510   //
32533   HRESULT SetSize (
32534     [in] IAAFPropertyValue * pStreamPropertyValue,
32535     [in] aafInt64  newSize);
32536 
32537   //***********************************************************
32538   //
32539   // GetPosition()
32540   //
32564   HRESULT GetPosition (
32565     [in] IAAFPropertyValue * pStreamPropertyValue,
32566     [out] aafInt64 *  pPosition);
32567 
32568   //***********************************************************
32569   //
32570   // SetPosition()
32571   //
32598   HRESULT SetPosition (
32599     [in] IAAFPropertyValue * pStreamPropertyValue,
32600     [in] aafInt64  newPosition);
32601 
32602 
32603   //***********************************************************
32604   //
32605   // Read()
32606   //
32636   HRESULT Read (
32637     [in] IAAFPropertyValue * pStreamPropertyValue,
32638     [in] aafUInt32  dataSize,
32639     [out, size_is(dataSize), length_is(*bytesRead)] aafMemPtr_t  pData,
32640     [out,ref] aafUInt32 *  bytesRead);
32641 
32642   //***********************************************************
32643   //
32644   // Write()
32645   //
32673   HRESULT Write (
32674     [in] IAAFPropertyValue * pStreamPropertyValue,
32675     [in] aafUInt32  dataSize,
32676     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
32677 
32678   //***********************************************************
32679   //
32680   // Append()
32681   //
32709   HRESULT Append (
32710     [in] IAAFPropertyValue * pStreamPropertyValue,
32711     [in] aafUInt32  dataSize,
32712     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
32713 
32714 
32715   //***********************************************************
32716   //
32717   // HasStoredByteOrder()
32718   //
32743   HRESULT HasStoredByteOrder (
32744     [in] IAAFPropertyValue * pStreamPropertyValue,
32745     [out] aafBoolean_t *  pHasByteOrder);
32746 
32747   //***********************************************************
32748   //
32749   // GetStoredByteOrder()
32750   //
32774   HRESULT GetStoredByteOrder (
32775     [in] IAAFPropertyValue * pStreamPropertyValue,
32776     [out] eAAFByteOrder_t *  pByteOrder);
32777 
32778   //***********************************************************
32779   //
32780   // SetStoredByteOrder()
32781   //
32806   HRESULT SetStoredByteOrder (
32807     [in] IAAFPropertyValue * pStreamPropertyValue,
32808     [in] eAAFByteOrder_t  byteOrder);
32809 
32810   //***********************************************************
32811   //
32812   // ClearStoredByteOrder()
32813   //
32837   HRESULT ClearStoredByteOrder (
32838     [in] IAAFPropertyValue * pStreamPropertyValue);
32839 
32840   //***********************************************************
32841   //
32842   // ReadElements()
32843   //
32888   HRESULT ReadElements (
32889     [in] IAAFPropertyValue * pStreamPropertyValue,
32890     [in] IAAFTypeDef * pElementType,
32891     [in] aafUInt32  dataSize,
32892     [out, size_is(dataSize), length_is(*pBytesRead)] aafMemPtr_t  pData,
32893     [out,ref] aafUInt32 *  pBytesRead);
32894 
32895   //***********************************************************
32896   //
32897   // WriteElements()
32898   //
32940   HRESULT WriteElements (
32941     [in] IAAFPropertyValue * pStreamPropertyValue,
32942     [in] IAAFTypeDef * pElementType,
32943     [in] aafUInt32  dataSize,
32944     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
32945 
32946 
32947 cpp_quote("  /// Extend in chunks of typed Elements") 
32948 
32949   //***********************************************************
32950   //
32951   // AppendElements()
32952   //
32993   HRESULT AppendElements (
32994     [in] IAAFPropertyValue * pStreamPropertyValue,
32995     [in] IAAFTypeDef * pElementType,
32996     [in] aafUInt32  dataSize,
32997     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
32998 
32999 
33000 
33001 
33002 }
33003 
33004 
33005 // ************************
33006 //
33007 // Interface IAAFTypeDefString
33008 //
33009 // ************************
33025 [
33026     object,
33027     uuid(307e9e68-dcb2-11d2-8429-00600832acb8),
33028     helpstring("IAAFTypeDefString Interface"),
33029     pointer_default(unique)
33030 ]
33031 interface IAAFTypeDefString : IUnknown
33032 {
33033 
33034   //***********************************************************
33035   //
33036   // Initialize()
33037   //
33071   HRESULT Initialize (
33072     [in, ref] aafUID_constref  id,
33073     [in] IAAFTypeDef * pTypeDef,
33074     [in] aafCharacter_constptr  pTypeName);
33075 
33076 
33077   //***********************************************************
33078   //
33079   // GetType()
33080   //
33102   HRESULT GetType (
33103     [out] IAAFTypeDef ** ppTypeDef);
33104 
33105 
33106   //***********************************************************
33107   //
33108   // GetCount()
33109   //
33134   HRESULT GetCount (
33135     [in] IAAFPropertyValue * pPropVal,
33136     [out] aafUInt32 *  pCount);
33137 
33138 
33139   //***********************************************************
33140   //
33141   // CreateValueFromCString()
33142   //
33174   HRESULT CreateValueFromCString (
33175     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
33176     [in] aafUInt32  initDataSize,
33177     [out] IAAFPropertyValue ** ppPropVal);
33178 
33179 
33180   //***********************************************************
33181   //
33182   // SetCString()
33183   //
33213   HRESULT SetCString (
33214     [in] IAAFPropertyValue * pPropVal,
33215     [in, size_is(dataSize)] aafMemPtr_t  pData,
33216     [in] aafUInt32  dataSize);
33217 
33218 
33219   //***********************************************************
33220   //
33221   // AppendElements()
33222   //
33245   HRESULT AppendElements (
33246     [in] IAAFPropertyValue * pInPropVal,
33247     [in] aafMemPtr_t  pElements);
33248 
33249 
33250   //***********************************************************
33251   //
33252   // GetElements()
33253   //
33284   HRESULT GetElements (
33285     [in] IAAFPropertyValue * pInPropVal,
33286     [out] aafMemPtr_t  pBuffer,
33287     [in] aafUInt32  bufferSize);
33288 
33289 
33290 
33291 }
33292 
33293 
33294 
33295 // ************************
33296 //
33297 // Interface IAAFTypeDefStrongObjRef
33298 //
33299 // ************************
33316 [
33317     object,
33318     uuid(381e1f26-e7bb-11d2-842a-00600832acb8),
33319     helpstring("IAAFTypeDefStrongObjRef Interface"),
33320     pointer_default(unique)
33321 ]
33322 interface IAAFTypeDefStrongObjRef : IUnknown
33323 {
33324 
33325   //***********************************************************
33326   //
33327   // Initialize()
33328   //
33358   HRESULT Initialize (
33359     [in, ref] aafUID_constref  id,
33360     [in] IAAFClassDef * pObjType,
33361     [in, string] aafCharacter_constptr  pTypeName);
33362 
33363 
33364 
33365 
33366 }
33367 
33368 
33369 
33370 // ************************
33371 //
33372 // Interface IAAFTypeDefVariableArray
33373 //
33374 // ************************
33391 [
33392     object,
33393     uuid(307e9e66-dcb2-11d2-8429-00600832acb8),
33394     helpstring("IAAFTypeDefVariableArray Interface"),
33395     pointer_default(unique)
33396 ]
33397 interface IAAFTypeDefVariableArray : IUnknown
33398 {
33399   //***********************************************************
33400   //
33401   // Initialize()
33402   //
33443   HRESULT Initialize (
33444     [in, ref] aafUID_constref  id,
33445     [in] IAAFTypeDef * pTypeDef,
33446     [in] aafCharacter_constptr  pTypeName);
33447 
33448 
33449   //***********************************************************
33450   //
33451   // GetType()
33452   //
33474   HRESULT GetType (
33475     [out] IAAFTypeDef ** ppTypeDef);
33476 
33477 
33478   //***********************************************************
33479   //
33480   // GetCount()
33481   //
33506   HRESULT GetCount (
33507     [in] IAAFPropertyValue * pPropVal,
33508     [out] aafUInt32 *  pCount);
33509 
33510 
33511   //***********************************************************
33512   //
33513   // AppendElement()
33514   //
33536   HRESULT AppendElement (
33537     [in] IAAFPropertyValue * pInPropVal,
33538     [in] IAAFPropertyValue * pMemberPropVal);
33539 
33540 
33541   //***********************************************************
33542   //
33543   // CreateEmptyValue()
33544   //
33569   HRESULT CreateEmptyValue (
33570     [out] IAAFPropertyValue ** ppPropVal);
33571 
33572 
33573   //***********************************************************
33574   //
33575   // CreateValueFromValues()
33576   //
33608   HRESULT CreateValueFromValues (
33609     [in, size_is(numElements)] IAAFPropertyValue ** pElementValues,
33610     [in] aafUInt32  numElements,
33611     [out] IAAFPropertyValue ** ppPropVal);
33612 
33613 
33614   //***********************************************************
33615   //
33616   // CreateValueFromCArray()
33617   //
33655   HRESULT CreateValueFromCArray (
33656     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
33657     [in] aafUInt32  initDataSize,
33658     [out] IAAFPropertyValue ** ppPropVal);
33659 
33660 
33661   //***********************************************************
33662   //
33663   // GetElementValue()
33664   //
33696   HRESULT GetElementValue (
33697     [in] IAAFPropertyValue * pInPropVal,
33698     [in] aafUInt32  index,
33699     [out] IAAFPropertyValue ** ppOutPropVal);
33700 
33701 
33702   //***********************************************************
33703   //
33704   // GetCArray()
33705   //
33743   HRESULT GetCArray (
33744     [in] IAAFPropertyValue * pPropVal,
33745     [out, size_is(dataSize)] aafMemPtr_t  pData,
33746     [in] aafUInt32  dataSize);
33747 
33748 
33749   //***********************************************************
33750   //
33751   // SetElementValue()
33752   //
33785   HRESULT SetElementValue (
33786     [in] IAAFPropertyValue * pPropVal,
33787     [in] aafUInt32  index,
33788     [in] IAAFPropertyValue * pMemberPropVal);
33789 
33790 
33791   //***********************************************************
33792   //
33793   // SetCArray()
33794   //
33831   HRESULT SetCArray (
33832     [in] IAAFPropertyValue * pPropVal,
33833     [in, size_is(dataSize)] aafMemPtr_t  pData,
33834     [in] aafUInt32  dataSize);
33835 
33836 
33837 
33838 
33839   //***********************************************************
33840   //
33841   // GetElements()
33842   //
33867   HRESULT GetElements (
33868     [in] IAAFPropertyValue * PSetPropVal,
33869     [out] IEnumAAFPropertyValues ** ppEnum);
33870 
33871 
33872 
33873 
33874 
33875 }
33876 
33877 
33878 // ************************
33879 //
33880 // Interface IAAFTypeDefWeakObjRef
33881 //
33882 // ************************
33899 [
33900     object,
33901     uuid(381e1f24-e7bb-11d2-842a-00600832acb8),
33902     helpstring("IAAFTypeDefWeakObjRef Interface"),
33903     pointer_default(unique)
33904 ]
33905 interface IAAFTypeDefWeakObjRef : IUnknown
33906 {
33907 
33908   //***********************************************************
33909   //
33910   // Initialize()
33911   //
33963   HRESULT Initialize (
33964     [in, ref] aafUID_constref  id,
33965     [in] IAAFClassDef * pObjType,
33966     [in, string] aafCharacter_constptr  pTypeName,
33967     [in] aafUInt32  ids,
33968     [in, size_is(ids)] aafUID_constptr  pTargetSet);
33969 }
33970 
33971 
33972 
33973 // ************************
33974 //
33975 // Interface IAAFVaryingValue
33976 //
33977 // ************************
33997 [
33998     object,
33999     uuid(91920d60-2a2e-11D2-bfA3-006097116212),
34000     helpstring("IAAFVaryingValue Interface"),
34001     pointer_default(unique)
34002 ]
34003 interface IAAFVaryingValue : IUnknown
34004 {
34005 
34006 
34007   //***********************************************************
34008   //
34009   // Initialize()
34010   //
34038   HRESULT Initialize (
34039     [in] IAAFParameterDef * pParameterDef,
34040     [in] IAAFInterpolationDef * pInterpolation);
34041 
34042   //***********************************************************
34043   //
34044   // AddControlPoint()
34045   //
34067   HRESULT AddControlPoint (
34068     [in] IAAFControlPoint * pControlPoint);
34069 
34070 
34071   //***********************************************************
34072   //
34073   // GetControlPoints()
34074   //
34096   HRESULT GetControlPoints (
34097     [out,retval] IEnumAAFControlPoints ** ppEnum);
34098 
34099 
34100   //***********************************************************
34101   //
34102   // CountControlPoints()
34103   //
34127   HRESULT CountControlPoints (
34128     [out] aafUInt32 *  pResult);
34129 
34130 
34131   //***********************************************************
34132   //
34133   // GetControlPointAt()
34134   //
34166   HRESULT GetControlPointAt (
34167     [in] aafUInt32  index,
34168     [out, retval] IAAFControlPoint ** ppControlPoint);
34169 
34170 
34171   //***********************************************************
34172   //
34173   // RemoveControlPointAt()
34174   //
34203   HRESULT RemoveControlPointAt (
34204     [in] aafUInt32  index);
34205 
34206 
34207   //***********************************************************
34208   //
34209   // GetInterpolationDefinition()
34210   //
34237   HRESULT GetInterpolationDefinition (
34238     [out] IAAFInterpolationDef ** ppInterpolation);
34239 
34240   //***********************************************************
34241   //
34242   // GetValueBufLen()
34243   //
34265   HRESULT GetValueBufLen (
34266     [out] aafInt32 *  pLen);
34267 
34268 
34269   //***********************************************************
34270   //
34271   // GetInterpolatedValue()
34272   //
34304   HRESULT GetInterpolatedValue (
34305     [in] aafRational_t  inputValue,
34306     [in] aafInt32  valueSize,
34307     [out,size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
34308     [out] aafInt32 *  bytesRead);
34309 }
34310 
34311 
34312 
34313 // ************************
34314 //
34315 // Interface IAAFWAVEDescriptor
34316 //
34317 // ************************
34331 
34332 
34339 [
34340     object,
34341     uuid(4c2e1692-8ae6-11d2-813c-006097310172),
34342     helpstring("IAAFWAVEDescriptor Interface"),
34343     pointer_default(unique)
34344 ]
34345 interface IAAFWAVEDescriptor : IUnknown
34346 {
34347 
34348   //***********************************************************
34349   //
34350   // Initialize()
34351   //
34370   HRESULT Initialize ();
34371 
34372 
34373   //***********************************************************
34374   //
34375   // GetSummary()
34376   //
34400   HRESULT GetSummary (
34401     [in] aafUInt32  size,
34402     [out, size_is(size)] aafDataValue_t  pSummary);
34403 
34404 
34405   //***********************************************************
34406   //
34407   // GetSummaryBufferSize()
34408   //
34427   HRESULT GetSummaryBufferSize (
34428     [out] aafUInt32 *  pSize);
34429 
34430 
34431   //***********************************************************
34432   //
34433   // SetSummary()
34434   //
34454   HRESULT SetSummary (
34455     [in] aafUInt32  size,
34456     [in, size_is(size)] aafDataValue_t  pSummary);
34457 
34458 
34459 }
34460 
34461 
34462 
34463 // ************************
34464 //
34465 // Interface IEnumAAFClassDefs
34466 //
34467 // ************************
34480 [
34481     object,
34482     uuid(B1A2138E-1A7D-11D2-BF78-00104BC9156D),
34483     helpstring("IEnumAAFClassDefs Interface"),
34484     pointer_default(unique)
34485 ]
34486 interface IEnumAAFClassDefs : IUnknown
34487 {
34488 
34489   //***********************************************************
34490   //
34491   // NextOne()
34492   //
34518   HRESULT NextOne (
34519     [out,retval] IAAFClassDef ** ppClassDefs);
34520 
34521 
34522   //***********************************************************
34523   //
34524   // Next()
34525   //
34554   HRESULT Next (
34555     [in] aafUInt32  count,
34556     [out, size_is(count), length_is(*pNumFetched)] IAAFClassDef ** ppClassDefs,
34557     [out,ref] aafUInt32 *  pNumFetched);
34558 
34559 
34560   //***********************************************************
34561   //
34562   // Skip()
34563   //
34583   HRESULT Skip (
34584     [in] aafUInt32  count);
34585 
34586 
34587   //***********************************************************
34588   //
34589   // Reset()
34590   //
34601   HRESULT Reset ();
34602 
34603 
34604   //***********************************************************
34605   //
34606   // Clone()
34607   //
34631   HRESULT Clone (
34632     [out,retval] IEnumAAFClassDefs ** ppEnum);
34633 }
34634 
34635 
34636 
34637 // ************************
34638 //
34639 // Interface IEnumAAFCodecDefs
34640 //
34641 // ************************
34642 [
34643     object,
34644     uuid(3B2C9AD4-022A-11d3-80A6-006008143E6F),
34645     helpstring("IEnumAAFCodecDefs Interface"),
34646     pointer_default(unique)
34647 ]
34648 interface IEnumAAFCodecDefs : IUnknown
34649 {
34650 
34651   //***********************************************************
34652   //
34653   // NextOne()
34654   //
34680   HRESULT NextOne (
34681     [out,retval] IAAFCodecDef ** ppCodecDefs);
34682 
34683 
34684   //***********************************************************
34685   //
34686   // Next()
34687   //
34716   HRESULT Next (
34717     [in] aafUInt32  count,
34718     [out, size_is(count), length_is(*pNumFetched)] IAAFCodecDef ** ppCodecDefs,
34719     [out,ref] aafUInt32 *  pNumFetched);
34720 
34721 
34722   //***********************************************************
34723   //
34724   // Skip()
34725   //
34745   HRESULT Skip (
34746     [in] aafUInt32  count);
34747 
34748 
34749   //***********************************************************
34750   //
34751   // Reset()
34752   //
34763   HRESULT Reset ();
34764 
34765 
34766   //***********************************************************
34767   //
34768   // Clone()
34769   //
34793   HRESULT Clone (
34794     [out,retval] IEnumAAFCodecDefs ** ppEnum);
34795 }
34796 
34797 
34798 
34799 // ************************
34800 //
34801 // Interface IEnumAAFCodecFlavours
34802 //
34803 // ************************
34823 
34824 
34825 [
34826     object,
34827     uuid(AB4D9F12-DD69-11d2-809C-006008143E6F),
34828     helpstring("IEnumAAFCodecFlavours Interface"),
34829     pointer_default(unique)
34830 ]
34831 interface IEnumAAFCodecFlavours : IUnknown
34832 {
34833 
34834   //***********************************************************
34835   //
34836   // NextOne()
34837   //
34846   HRESULT NextOne (
34847     [out,retval] aafUID_t *  pAAFCodecFlavour);
34848 
34849 
34850   //***********************************************************
34851   //
34852   // Next()
34853   //
34864   HRESULT Next (
34865     [in] aafUInt32  count,
34866     [out, size_is(count), length_is(*pFetched)] aafUID_t *  pAAFCodecFlavours,
34867     [out,ref] aafUInt32 *  pFetched);
34868 
34869 
34870   //***********************************************************
34871   //
34872   // Skip()
34873   //
34880   HRESULT Skip (
34881     [in] aafUInt32  count);
34882 
34883 
34884   //***********************************************************
34885   //
34886   // Reset()
34887   //
34896   HRESULT Reset ();
34897 
34898 
34899   //***********************************************************
34900   //
34901   // Clone()
34902   //
34914   HRESULT Clone (
34915     [out,retval] IEnumAAFCodecFlavours ** ppEnum);
34916 }
34917 
34918 
34919 
34920 // ************************
34921 //
34922 // Interface IEnumAAFComponents
34923 //
34924 // ************************
34937 [
34938     object,
34939     uuid(B1A21394-1A7D-11D2-BF78-00104BC9156D),
34940     helpstring("IEnumAAFComponents Interface"),
34941     pointer_default(unique)
34942 ]
34943 interface IEnumAAFComponents : IUnknown
34944 {
34945 
34946   //***********************************************************
34947   //
34948   // NextOne()
34949   //
34975   HRESULT NextOne (
34976     [out,retval] IAAFComponent ** ppComponent);
34977 
34978 
34979   //***********************************************************
34980   //
34981   // Next()
34982   //
35010   HRESULT Next (
35011     [in] aafUInt32  count,
35012     [out, size_is(count), length_is(*pNumFetched)] IAAFComponent ** ppComponents,
35013     [out,ref] aafUInt32 *  pNumFetched);
35014 
35015 
35016   //***********************************************************
35017   //
35018   // Skip()
35019   //
35039   HRESULT Skip (
35040     [in] aafUInt32  count);
35041 
35042 
35043   //***********************************************************
35044   //
35045   // Reset()
35046   //
35057   HRESULT Reset ();
35058 
35059 
35060   //***********************************************************
35061   //
35062   // Clone()
35063   //
35087   HRESULT Clone (
35088     [out,retval] IEnumAAFComponents ** ppEnum);
35089 }
35090 
35091 
35092 
35093 // ************************
35094 //
35095 // Interface IEnumAAFContainerDefs
35096 //
35097 // ************************
35098 [
35099     object,
35100     uuid(3B2C9AD2-022A-11d3-80A6-006008143E6F),
35101     helpstring("IEnumAAFContainerDefs Interface"),
35102     pointer_default(unique)
35103 ]
35104 interface IEnumAAFContainerDefs : IUnknown
35105 {
35106 
35107   //***********************************************************
35108   //
35109   // NextOne()
35110   //
35136   HRESULT NextOne (
35137     [out,retval] IAAFContainerDef ** ppContainerDefs);
35138 
35139 
35140   //***********************************************************
35141   //
35142   // Next()
35143   //
35172   HRESULT Next (
35173     [in] aafUInt32  count,
35174     [out, size_is(count), length_is(*pNumFetched)] IAAFContainerDef ** ppContainerDefs,
35175     [out,ref] aafUInt32 *  pNumFetched);
35176 
35177 
35178   //***********************************************************
35179   //
35180   // Skip()
35181   //
35201   HRESULT Skip (
35202     [in] aafUInt32  count);
35203 
35204 
35205   //***********************************************************
35206   //
35207   // Reset()
35208   //
35219   HRESULT Reset ();
35220 
35221 
35222   //***********************************************************
35223   //
35224   // Clone()
35225   //
35249   HRESULT Clone (
35250     [out,retval] IEnumAAFContainerDefs ** ppEnum);
35251 }
35252 
35253 
35254 
35255 // ************************
35256 //
35257 // Interface IEnumAAFControlPoints
35258 //
35259 // ************************
35260 [
35261     object,
35262     uuid(B1A2139C-1A7D-11D2-BF78-00104BC9156D),
35263     helpstring("IEnumAAFControlPoints Interface"),
35264     pointer_default(unique)
35265 ]
35266 interface IEnumAAFControlPoints : IUnknown
35267 {
35268 
35269   //***********************************************************
35270   //
35271   // NextOne()
35272   //
35298   HRESULT NextOne (
35299     [out,retval] IAAFControlPoint ** ppControlPoints);
35300 
35301 
35302   //***********************************************************
35303   //
35304   // Next()
35305   //
35334   HRESULT Next (
35335     [in] aafUInt32  count,
35336     [out, size_is(count), length_is(*pNumFetched)] IAAFControlPoint ** ppControlPoints,
35337     [out,ref] aafUInt32 *  pNumFetched);
35338 
35339 
35340   //***********************************************************
35341   //
35342   // Skip()
35343   //
35363   HRESULT Skip (
35364     [in] aafUInt32  count);
35365 
35366 
35367   //***********************************************************
35368   //
35369   // Reset()
35370   //
35381   HRESULT Reset ();
35382 
35383 
35384   //***********************************************************
35385   //
35386   // Clone()
35387   //
35411   HRESULT Clone (
35412     [out,retval] IEnumAAFControlPoints ** ppEnum);
35413 }
35414 
35415 
35416 
35417 // ************************
35418 //
35419 // Interface IEnumAAFDataDefs
35420 //
35421 // ************************
35422 [
35423     object,
35424     uuid(d8000382-498e-11d2-841B-00600832ACB8),
35425     helpstring("IEnumAAFDataDefs Interface"),
35426     pointer_default(unique)
35427 ]
35428 interface IEnumAAFDataDefs : IUnknown
35429 {
35430 
35431   //***********************************************************
35432   //
35433   // NextOne()
35434   //
35460   HRESULT NextOne (
35461     [out,retval] IAAFDataDef ** ppDataDefs);
35462 
35463 
35464   //***********************************************************
35465   //
35466   // Next()
35467   //
35496   HRESULT Next (
35497     [in] aafUInt32  count,
35498     [out, size_is(count), length_is(*pNumFetched)] IAAFDataDef ** ppDataDefs,
35499     [out,ref] aafUInt32 *  pNumFetched);
35500 
35501 
35502   //***********************************************************
35503   //
35504   // Skip()
35505   //
35525   HRESULT Skip (
35526     [in] aafUInt32  count);
35527 
35528 
35529   //***********************************************************
35530   //
35531   // Reset()
35532   //
35543   HRESULT Reset ();
35544 
35545 
35546   //***********************************************************
35547   //
35548   // Clone()
35549   //
35573   HRESULT Clone (
35574     [out,retval] IEnumAAFDataDefs ** ppEnum);
35575 }
35576 
35577 
35578 
35579 // ************************
35580 //
35581 // Interface IEnumAAFEssenceData
35582 //
35583 // ************************
35604 [
35605     object,
35606     uuid(B1A21392-1A7D-11D2-BF78-00104BC9156D),
35607     helpstring("IEnumAAFEssenceData Interface"),
35608     pointer_default(unique)
35609 ]
35610 interface IEnumAAFEssenceData : IUnknown
35611 {
35612 
35613 
35614   //***********************************************************
35615   //
35616   // NextOne()
35617   //
35624   HRESULT NextOne (
35625     [out,retval] IAAFEssenceData ** ppEssenceData);
35626 
35627   //***********************************************************
35628   //
35629   // Next()
35630   //
35640   HRESULT Next (
35641     [in] aafUInt32  count,
35642     [out, size_is(count), length_is(*pFetched)] IAAFEssenceData ** ppEssenceData,
35643     [out,ref] aafUInt32 *  pFetched);
35644 
35645   //***********************************************************
35646   //
35647   // Skip()
35648   //
35655   HRESULT Skip (
35656     [in] aafUInt32  count);
35657 
35658   //***********************************************************
35659   //
35660   // Reset()
35661   //
35667   HRESULT Reset ();
35668 
35669   //***********************************************************
35670   //
35671   // Clone()
35672   //
35681   HRESULT Clone (
35682     [out,retval] IEnumAAFEssenceData ** ppEnum);
35683 
35684 }
35685 
35686 
35687 
35688 // ************************
35689 //
35690 // Interface IEnumAAFFileDescriptors
35691 //
35692 // ************************
35704 [
35705     object,
35706     uuid(FD4B6BC0-0787-4F5E-9FBD-37282B8706E7),
35707     helpstring("IEnumAAFFileDescriptors Interface"),
35708     pointer_default(unique)
35709 ]
35710 interface IEnumAAFFileDescriptors : IUnknown
35711 {
35712 
35713   //***********************************************************
35714   //
35715   // NextOne()
35716   //
35742   HRESULT NextOne (
35743     [out,retval] IAAFFileDescriptor ** ppFileDescriptors);
35744 
35745 
35746   //***********************************************************
35747   //
35748   // Next()
35749   //
35778   HRESULT Next (
35779     [in] aafUInt32  count,
35780     [out, size_is(count), length_is(*pNumFetched)] IAAFFileDescriptor ** ppFileDescriptors,
35781     [out,ref] aafUInt32 *  pNumFetched);
35782 
35783 
35784   //***********************************************************
35785   //
35786   // Skip()
35787   //
35807   HRESULT Skip (
35808     [in] aafUInt32  count);
35809 
35810 
35811   //***********************************************************
35812   //
35813   // Reset()
35814   //
35825   HRESULT Reset ();
35826 
35827 
35828   //***********************************************************
35829   //
35830   // Clone()
35831   //
35855   HRESULT Clone (
35856     [out,retval] IEnumAAFFileDescriptors ** ppEnum);
35857 }
35858 
35859 
35860 
35861 // ************************
35862 //
35863 // Interface IEnumAAFFileEncodings
35864 //
35865 // ************************
35866 //
35867 // This interface is used to enumerate across Class Definition
35868 // objects.
35877 //
35878 /***********************************************\
35879 *   Stub only.   Implementation not yet added   *
35880 \***********************************************/
35881 //
35882 [
35883     object,
35884     uuid(6173c2cf-9a7a-4ff1-a8fc-be0819aea2de),
35885     helpstring("IEnumAAFFileEncodings Interface"),
35886     pointer_default(unique)
35887 ]
35888 interface IEnumAAFFileEncodings : IUnknown
35889 {
35890 
35891   //***********************************************************
35892   //
35893   // NextOne()
35894   //
35920   HRESULT NextOne (
35921     [out,retval] IAAFFileEncoding ** ppFileEncodings);
35922 
35923 
35924   //***********************************************************
35925   //
35926   // Next()
35927   //
35956   HRESULT Next (
35957     [in] aafUInt32  count,
35958     [out, size_is(count), length_is(*pNumFetched)] IAAFFileEncoding ** ppFileEncodings,
35959     [out,ref] aafUInt32 *  pNumFetched);
35960 
35961 
35962   //***********************************************************
35963   //
35964   // Skip()
35965   //
35985   HRESULT Skip (
35986     [in] aafUInt32  count);
35987 
35988 
35989   //***********************************************************
35990   //
35991   // Reset()
35992   //
36003   HRESULT Reset ();
36004 
36005 
36006   //***********************************************************
36007   //
36008   // Clone()
36009   //
36033   HRESULT Clone (
36034     [out,retval] IEnumAAFFileEncodings ** ppEnum);
36035 }
36036 
36037 
36038 
36039 // ************************
36040 //
36041 // Interface IEnumAAFIdentifications
36042 //
36043 // ************************
36056 [
36057     object,
36058     uuid(B1A21384-1A7D-11D2-BF78-00104BC9156D),
36059     helpstring("IEnumAAFIdentifications Interface"),
36060     pointer_default(unique)
36061 ]
36062 interface IEnumAAFIdentifications : IUnknown
36063 {
36064 
36065   //***********************************************************
36066   //
36067   // NextOne()
36068   //
36094   HRESULT NextOne (
36095     [out, retval] IAAFIdentification ** ppIdentification);
36096 
36097 
36098   //***********************************************************
36099   //
36100   // Next()
36101   //
36130   HRESULT Next (
36131     [in] aafUInt32  count,
36132     [out, size_is(count), length_is(*pNumFetched)] IAAFIdentification ** ppIdentifications,
36133     [out] aafUInt32 *  pNumFetched);
36134 
36135 
36136   //***********************************************************
36137   //
36138   // Skip()
36139   //
36159   HRESULT Skip (
36160     [in] aafUInt32  count);
36161 
36162 
36163   //***********************************************************
36164   //
36165   // Reset()
36166   //
36177   HRESULT Reset ();
36178 
36179 
36180   //***********************************************************
36181   //
36182   // Clone()
36183   //
36207   HRESULT Clone (
36208     [out, retval] IEnumAAFIdentifications ** ppEnum);
36209 }
36210 
36211 
36212 
36213 // ************************
36214 //
36215 // Interface IEnumAAFInterpolationDefs
36216 //
36217 // ************************
36218 [
36219     object,
36220     uuid(293600A5-0D37-11d3-80A9-006008143E6F),
36221     helpstring("IEnumAAFInterpolationDefs Interface"),
36222     pointer_default(unique)
36223 ]
36224 interface IEnumAAFInterpolationDefs : IUnknown
36225 {
36226 
36227   //***********************************************************
36228   //
36229   // NextOne()
36230   //
36256   HRESULT NextOne (
36257     [out,retval] IAAFInterpolationDef ** ppInterpolationDefs);
36258 
36259 
36260   //***********************************************************
36261   //
36262   // Next()
36263   //
36292   HRESULT Next (
36293     [in] aafUInt32  count,
36294     [out, size_is(count), length_is(*pNumFetched)] IAAFInterpolationDef ** ppInterpolationDefs,
36295     [out,ref] aafUInt32 *  pNumFetched);
36296 
36297 
36298   //***********************************************************
36299   //
36300   // Skip()
36301   //
36321   HRESULT Skip (
36322     [in] aafUInt32  count);
36323 
36324 
36325   //***********************************************************
36326   //
36327   // Reset()
36328   //
36339   HRESULT Reset ();
36340 
36341 
36342   //***********************************************************
36343   //
36344   // Clone()
36345   //
36369   HRESULT Clone (
36370     [out,retval] IEnumAAFInterpolationDefs ** ppEnum);
36371 }
36372 
36373 
36374 
36375 // ************************
36376 //
36377 // Interface IEnumAAFKLVData
36378 //
36379 // ************************
36380 [
36381     object,
36382     uuid(46114416-0676-11d4-A356-009027DFCA6A),
36383     helpstring("IEnumAAFKLVData Interface"),
36384     pointer_default(unique)
36385 ]
36386 interface IEnumAAFKLVData : IUnknown
36387 {
36388 
36389   //***********************************************************
36390   //
36391   // NextOne()
36392   //
36418   HRESULT NextOne (
36419     [out,retval] IAAFKLVData ** ppKLVData);
36420 
36421 
36422   //***********************************************************
36423   //
36424   // Next()
36425   //
36454   HRESULT Next (
36455     [in] aafUInt32  count,
36456     [out, size_is(count), length_is(*pNumFetched)] IAAFKLVData ** ppKLVData,
36457     [out,ref] aafUInt32 *  pNumFetched);
36458 
36459 
36460   //***********************************************************
36461   //
36462   // Skip()
36463   //
36483   HRESULT Skip (
36484     [in] aafUInt32  count);
36485 
36486 
36487   //***********************************************************
36488   //
36489   // Reset()
36490   //
36501   HRESULT Reset ();
36502 
36503 
36504   //***********************************************************
36505   //
36506   // Clone()
36507   //
36531   HRESULT Clone (
36532     [out,retval] IEnumAAFKLVData ** ppEnum);
36533 }
36534 
36535 
36536 
36537 // ************************
36538 //
36539 // Interface IEnumAAFKLVDataDefs
36540 //
36541 // ************************
36542 [
36543     object,
36544     uuid(2a368c5c-e5af-43c8-8e5a-e78ba02f5f3b),
36545     helpstring("IEnumAAFKLVDataDefs Interface"),
36546     pointer_default(unique)
36547 ]
36548 
36549 interface IEnumAAFKLVDataDefs : IUnknown
36550 {
36551 
36552   //***********************************************************
36553   //
36554   // NextOne()
36555   //
36581   HRESULT NextOne (
36582     [out,retval] IAAFKLVDataDefinition ** ppKLVDataDefs);
36583 
36584 
36585   //***********************************************************
36586   //
36587   // Next()
36588   //
36617   HRESULT Next (
36618     [in] aafUInt32  count,
36619     [out, size_is(count), length_is(*pNumFetched)] IAAFKLVDataDefinition ** ppKLVDataDefs,
36620     [out,ref] aafUInt32 *  pNumFetched);
36621 
36622 
36623   //***********************************************************
36624   //
36625   // Skip()
36626   //
36646   HRESULT Skip (
36647     [in] aafUInt32  count);
36648 
36649 
36650   //***********************************************************
36651   //
36652   // Reset()
36653   //
36664   HRESULT Reset ();
36665 
36666 
36667   //***********************************************************
36668   //
36669   // Clone()
36670   //
36694   HRESULT Clone (
36695     [out,retval] IEnumAAFKLVDataDefs ** ppEnum);
36696 }
36697 
36698 
36699 
36700 // ************************
36701 //
36702 // Interface IEnumAAFLoadedPlugins
36703 //
36704 // ************************
36718 [
36719     object,
36720     uuid(AB4D9F14-DD69-11d2-809C-006008143E6F),
36721     helpstring("IEnumAAFLoadedPlugins Interface"),
36722     pointer_default(unique)
36723 ]
36724 interface IEnumAAFLoadedPlugins : IUnknown
36725 {
36726 
36727 
36728   //***********************************************************
36729   //
36730   // NextOne()
36731   //
36738   HRESULT NextOne (
36739     [out,retval] aafUID_t*  ppAAFPluginID);
36740 
36741   //***********************************************************
36742   //
36743   // Next()
36744   //
36754   HRESULT Next (
36755     [in] aafUInt32  count,
36756     [out, size_is(count), length_is(*pFetched)] aafUID_t*  pAAFPluginIDs,
36757     [out,ref] aafUInt32 *  pFetched);
36758 
36759   //***********************************************************
36760   //
36761   // Skip()
36762   //
36769   HRESULT Skip (
36770     [in] aafUInt32  count);
36771 
36772   //***********************************************************
36773   //
36774   // Reset()
36775   //
36781   HRESULT Reset ();
36782 
36783   //***********************************************************
36784   //
36785   // Clone()
36786   //
36796   HRESULT Clone (
36797     [out,retval] IEnumAAFLoadedPlugins ** ppEnum);
36798 
36799 }
36800 
36801 
36802 
36803 // ************************
36804 //
36805 // Interface IEnumAAFLocators
36806 //
36807 // ************************
36821 [
36822     object,
36823     uuid(B1A2139E-1A7D-11D2-BF78-00104BC9156D),
36824     helpstring("IEnumAAFLocators Interface"),
36825     pointer_default(unique)
36826 ]
36827 interface IEnumAAFLocators : IUnknown
36828 {
36829 
36830   //***********************************************************
36831   //
36832   // NextOne()
36833   //
36859   HRESULT NextOne (
36860     [out,retval] IAAFLocator ** ppLocator);
36861 
36862 
36863   //***********************************************************
36864   //
36865   // Next()
36866   //
36894   HRESULT Next (
36895     [in] aafUInt32  count,
36896     [out, size_is(count), length_is(*pFetched)] IAAFLocator ** ppLocators,
36897     [out,ref] aafUInt32 *  pFetched);
36898 
36899 
36900   //***********************************************************
36901   //
36902   // Skip()
36903   //
36923   HRESULT Skip (
36924     [in] aafUInt32  count);
36925 
36926 
36927   //***********************************************************
36928   //
36929   // Reset()
36930   //
36941   HRESULT Reset ();
36942 
36943 
36944   //***********************************************************
36945   //
36946   // Clone()
36947   //
36970   HRESULT Clone (
36971     [out,retval] IEnumAAFLocators ** ppEnum);
36972 }
36973 
36974 
36975 
36976 // ************************
36977 //
36978 // Interface IEnumAAFMobSlots
36979 //
36980 // ************************
36993 [
36994     object,
36995     uuid(B1A21388-1A7D-11D2-BF78-00104BC9156D),
36996     helpstring("IEnumAAFMobSlots Interface"),
36997     pointer_default(unique)
36998 ]
36999 interface IEnumAAFMobSlots : IUnknown
37000 {
37001 
37002   //***********************************************************
37003   //
37004   // NextOne()
37005   //
37031   HRESULT NextOne (
37032     [out,retval] IAAFMobSlot ** ppMobSlot);
37033 
37034 
37035   //***********************************************************
37036   //
37037   // Next()
37038   //
37069   HRESULT Next (
37070     [in] aafUInt32  count,
37071     [out, size_is(count), length_is(*pNumFetched)] IAAFMobSlot ** ppMobSlots,
37072     [out,ref] aafUInt32 *  pNumFetched);
37073 
37074 
37075   //***********************************************************
37076   //
37077   // Skip()
37078   //
37098   HRESULT Skip (
37099     [in] aafUInt32  count);
37100 
37101 
37102   //***********************************************************
37103   //
37104   // Reset()
37105   //
37116   HRESULT Reset ();
37117 
37118 
37119   //***********************************************************
37120   //
37121   // Clone()
37122   //
37143   HRESULT Clone (
37144     [out,retval] IEnumAAFMobSlots ** ppEnum);
37145 }
37146 
37147 
37148 
37149 // ************************
37150 //
37151 // Interface IEnumAAFMobs
37152 //
37153 // ************************
37182 [
37183     object,
37184     uuid(B1A21386-1A7D-11D2-BF78-00104BC9156D),
37185     helpstring("IEnumAAFMobs Interface"),
37186     pointer_default(unique)
37187 ]
37188 interface IEnumAAFMobs : IUnknown
37189 {
37190 
37191   //***********************************************************
37192   //
37193   // NextOne()
37194   //
37220   HRESULT NextOne (
37221     [out, retval] IAAFMob ** ppMob);
37222 
37223 
37224   //***********************************************************
37225   //
37226   // Next()
37227   //
37255   HRESULT Next (
37256     [in] aafUInt32  count,
37257     [out, size_is(count), length_is(*pNumFetched)] IAAFMob ** ppMobs,
37258     [out] aafUInt32 *  pNumFetched);
37259 
37260 
37261   //***********************************************************
37262   //
37263   // Skip()
37264   //
37284   HRESULT Skip (
37285     [in] aafUInt32  count);
37286 
37287 
37288   //***********************************************************
37289   //
37290   // Reset()
37291   //
37302   HRESULT Reset ();
37303 
37304 
37305   //***********************************************************
37306   //
37307   // Clone()
37308   //
37332   HRESULT Clone (
37333     [out, retval] IEnumAAFMobs ** ppEnum);
37334 }
37335 
37336 
37337 
37338 // ************************
37339 //
37340 // Interface IEnumAAFOperationDefs
37341 //
37342 // ************************
37343 [
37344     object,
37345     uuid(92B88021-2B2B-11D2-BF7E-00104BC9156D),
37346     helpstring("IEnumAAFOperationDefs Interface"),
37347     pointer_default(unique)
37348 ]
37349 interface IEnumAAFOperationDefs : IUnknown
37350 {
37351 
37352   //***********************************************************
37353   //
37354   // NextOne()
37355   //
37381   HRESULT NextOne (
37382     [out,retval] IAAFOperationDef ** ppOperationDefs);
37383 
37384 
37385   //***********************************************************
37386   //
37387   // Next()
37388   //
37417   HRESULT Next (
37418     [in] aafUInt32  count,
37419     [out, size_is(count), length_is(*pNumFetched)] IAAFOperationDef ** ppOperationDefs,
37420     [out,ref] aafUInt32 *  pNumFetched);
37421 
37422 
37423   //***********************************************************
37424   //
37425   // Skip()
37426   //
37446   HRESULT Skip (
37447     [in] aafUInt32  count);
37448 
37449 
37450   //***********************************************************
37451   //
37452   // Reset()
37453   //
37464   HRESULT Reset ();
37465 
37466 
37467   //***********************************************************
37468   //
37469   // Clone()
37470   //
37494   HRESULT Clone (
37495     [out,retval] IEnumAAFOperationDefs ** ppEnum);
37496 }
37497 
37498 
37499 
37500 // ************************
37501 //
37502 // Interface IEnumAAFParameterDefs
37503 //
37504 // ************************
37518 [
37519     object,
37520     uuid(B1A213A4-1A7D-11D2-BF78-00104BC9156D),
37521     helpstring("IEnumAAFParameterDefs Interface"),
37522     pointer_default(unique)
37523 ]
37524 interface IEnumAAFParameterDefs : IUnknown
37525 {
37526 
37527 
37528   //***********************************************************
37529   //
37530   // NextOne()
37531   //
37557   HRESULT NextOne (
37558     [out,retval] IAAFParameterDef ** ppParameterDef);
37559 
37560   //***********************************************************
37561   //
37562   // Next()
37563   //
37591   HRESULT Next (
37592     [in] aafUInt32  count,
37593     [out, size_is(count), length_is(*pFetched)] IAAFParameterDef ** ppParameterDefs,
37594     [out,ref] aafUInt32 *  pFetched);
37595 
37596   //***********************************************************
37597   //
37598   // Skip()
37599   //
37619   HRESULT Skip (
37620     [in] aafUInt32  count);
37621 
37622   //***********************************************************
37623   //
37624   // Reset()
37625   //
37636   HRESULT Reset ();
37640 
37641   //***********************************************************
37642   //
37643   // Clone()
37644   //
37668   HRESULT Clone (
37669     [out,retval] IEnumAAFParameterDefs ** ppEnum);
37670 
37671 }
37672 
37673 
37674 
37675 // ************************
37676 //
37677 // Interface IEnumAAFParameters
37678 //
37679 // ************************
37693 [
37694     object,
37695     uuid(7227261E-A8C9-11D3-A3ED-0004AC96A937),
37696     helpstring("IEnumAAFParameters Interface"),
37697     pointer_default(unique)
37698 ]
37699 interface IEnumAAFParameters : IUnknown
37700 {
37701 
37702   //***********************************************************
37703   //
37704   // NextOne()
37705   //
37731   HRESULT NextOne (
37732     [out,retval] IAAFParameter ** ppParameter);
37733 
37734   //***********************************************************
37735   //
37736   // Next()
37737   //
37767   HRESULT Next (
37768     [in] aafUInt32  count,
37769     [out, size_is(count), length_is(*pFetched)] IAAFParameter ** ppParameters,
37770     [out,ref] aafUInt32 *  pFetched);
37771 
37772 
37773   //***********************************************************
37774   //
37775   // Skip()
37776   //
37796   HRESULT Skip (
37797     [in] aafUInt32  count);
37798 
37799 
37800   //***********************************************************
37801   //
37802   // Reset()
37803   //
37819   HRESULT Reset ();
37820 
37821 
37822   //***********************************************************
37823   //
37824   // Clone()
37825   //
37849   HRESULT Clone (
37850     [out,retval] IEnumAAFParameters ** ppEnum);
37851 }
37852 
37853 
37854 
37855 // ************************
37856 //
37857 // Interface IEnumAAFPluginDefs
37858 //
37859 // ************************
37873 [
37874     object,
37875     uuid(AD1BB85F-DBB2-11d2-809C-006008143E6F),
37876     helpstring("IEnumAAFPluginDefs Interface"),
37877     pointer_default(unique)
37878 ]
37879 interface IEnumAAFPluginDefs : IUnknown
37880 {
37881 
37882   //***********************************************************
37883   //
37884   // NextOne()
37885   //
37911   HRESULT NextOne (
37912     [out,retval] IAAFPluginDef ** ppPluginDefs);
37913 
37914 
37915   //***********************************************************
37916   //
37917   // Next()
37918   //
37947   HRESULT Next (
37948     [in] aafUInt32  count,
37949     [out, size_is(count), length_is(*pNumFetched)] IAAFPluginDef ** ppPluginDefs,
37950     [out,ref] aafUInt32 *  pNumFetched);
37951 
37952 
37953   //***********************************************************
37954   //
37955   // Skip()
37956   //
37976   HRESULT Skip (
37977     [in] aafUInt32  count);
37978 
37979 
37980   //***********************************************************
37981   //
37982   // Reset()
37983   //
37994   HRESULT Reset ();
37995 
37996 
37997   //***********************************************************
37998   //
37999   // Clone()
38000   //
38024   HRESULT Clone (
38025     [out,retval] IEnumAAFPluginDefs ** ppEnum);
38026 }
38027 
38028 
38029 
38030 // ************************
38031 //
38032 // Interface IEnumAAFPluginLocators
38033 //
38034 // ************************
38048 [
38049     object,
38050     uuid(AD1BB861-DBB2-11d2-809C-006008143E6F),
38051     helpstring("IEnumAAFPluginLocators Interface"),
38052     pointer_default(unique)
38053 ]
38054 interface IEnumAAFPluginLocators : IUnknown
38055 {
38056 
38057   //***********************************************************
38058   //
38059   // NextOne()
38060   //
38067   HRESULT NextOne (
38068     [out,retval] IAAFLocator ** ppAAFLocator);
38069 
38070 
38071   //***********************************************************
38072   //
38073   // Next()
38074   //
38084   HRESULT Next (
38085     [in] aafUInt32  count,
38086     [out, size_is(count), length_is(*pFetched)] IAAFLocator ** ppAAFLocators,
38087     [out,ref] aafUInt32 *  pFetched);
38088 
38089 
38090   //***********************************************************
38091   //
38092   // Skip()
38093   //
38100   HRESULT Skip (
38101     [in] aafUInt32  count);
38102 
38103 
38104   //***********************************************************
38105   //
38106   // Reset()
38107   //
38116   HRESULT Reset ();
38117 
38118 
38119   //***********************************************************
38120   //
38121   // Clone()
38122   //
38133   HRESULT Clone (
38134     [out,retval] IEnumAAFPluginLocators ** ppEnum);
38135 }
38136 
38137 
38138 
38139 // ************************
38140 //
38141 // Interface IEnumAAFProperties
38142 //
38143 // ************************
38155 [
38156     object,
38157     uuid(BE316DB2-7E73-11D2-841D-00600832ACB8),
38158     helpstring("IEnumAAFProperties Interface"),
38159     pointer_default(unique)
38160 ]
38161 interface IEnumAAFProperties : IUnknown
38162 {
38163 
38164   //***********************************************************
38165   //
38166   // NextOne()
38167   //
38193   HRESULT NextOne (
38194     [out,retval] IAAFProperty ** ppProperties);
38195 
38196 
38197   //***********************************************************
38198   //
38199   // Next()
38200   //
38229   HRESULT Next (
38230     [in] aafUInt32  count,
38231     [out, size_is(count), length_is(*pNumFetched)] IAAFProperty ** ppProperties,
38232     [out,ref] aafUInt32 *  pNumFetched);
38233 
38234 
38235   //***********************************************************
38236   //
38237   // Skip()
38238   //
38258   HRESULT Skip (
38259     [in] aafUInt32  count);
38260 
38261 
38262   //***********************************************************
38263   //
38264   // Reset()
38265   //
38276   HRESULT Reset ();
38277 
38278 
38279   //***********************************************************
38280   //
38281   // Clone()
38282   //
38306   HRESULT Clone (
38307     [out,retval] IEnumAAFProperties ** ppEnum);
38308 }
38309 
38310 
38311 
38312 // ************************
38313 //
38314 // Interface IEnumAAFPropertyDefs
38315 //
38316 // ************************
38317 [
38318     object,
38319     uuid(245343C1-2D59-11D2-BF80-00104BC9156D),
38320     helpstring("IEnumAAFPropertyDefs Interface"),
38321     pointer_default(unique)
38322 ]
38323 interface IEnumAAFPropertyDefs : IUnknown
38324 {
38325 
38326   //***********************************************************
38327   //
38328   // NextOne()
38329   //
38355   HRESULT NextOne (
38356     [out,retval] IAAFPropertyDef ** ppPropertyDefs);
38357 
38358 
38359   //***********************************************************
38360   //
38361   // Next()
38362   //
38391   HRESULT Next (
38392     [in] aafUInt32  count,
38393     [out, size_is(count), length_is(*pNumFetched)] IAAFPropertyDef ** ppPropertyDefs,
38394     [out,ref] aafUInt32 *  pNumFetched);
38395 
38396 
38397   //***********************************************************
38398   //
38399   // Skip()
38400   //
38420   HRESULT Skip (
38421     [in] aafUInt32  count);
38422 
38423 
38424   //***********************************************************
38425   //
38426   // Reset()
38427   //
38438   HRESULT Reset ();
38439 
38440 
38441   //***********************************************************
38442   //
38443   // Clone()
38444   //
38468   HRESULT Clone (
38469     [out,retval] IEnumAAFPropertyDefs ** ppEnum);
38470 }
38471 
38472 
38473 
38474 // ************************
38475 //
38476 // Interface IEnumAAFPropertyValues
38477 //
38478 // ************************
38491 [
38492     object,
38493     uuid(809c8caa-9884-11d2-841f-00600832acb8),
38494     helpstring("IEnumAAFPropertyValues Interface"),
38495     pointer_default(unique)
38496 ]
38497 interface IEnumAAFPropertyValues : IUnknown
38498 {
38499 
38500   //***********************************************************
38501   //
38502   // NextOne()
38503   //
38529   HRESULT NextOne (
38530     [out,retval] IAAFPropertyValue ** ppPropertyValue);
38531 
38532 
38533   //***********************************************************
38534   //
38535   // Next()
38536   //
38567   HRESULT Next (
38568     [in] aafUInt32  count,
38569     [out, size_is(count), length_is(*pFetched)] IAAFPropertyValue ** ppPropertyValues,
38570     [out,ref] aafUInt32 *  pFetched);
38571 
38572 
38573   //***********************************************************
38574   //
38575   // Skip()
38576   //
38596   HRESULT Skip (
38597     [in] aafUInt32  count);
38598 
38599 
38600   //***********************************************************
38601   //
38602   // Reset()
38603   //
38616   HRESULT Reset ();
38617 
38618 
38619   //***********************************************************
38620   //
38621   // Clone()
38622   //
38646   HRESULT Clone (
38647     [out,retval] IEnumAAFPropertyValues ** ppEnum);
38648 }
38649 
38650 
38651 
38652 // ************************
38653 //
38654 // Interface IEnumAAFRIFFChunks
38655 //
38656 // ************************
38669 [
38670     object,
38671     uuid(54716785-ae2a-4e4b-864d-c8831a7f3c61),
38672     helpstring("IEnumAAFRIFFChunks Interface"),
38673     pointer_default(unique)
38674 ]
38675 interface IEnumAAFRIFFChunks : IUnknown
38676 {
38677 
38678 
38679   //***********************************************************
38680   //
38681   // NextOne()
38682   //
38708   HRESULT NextOne (
38709     [out,retval] IAAFRIFFChunk ** ppRIFFChunks);
38710 
38711 
38712   //***********************************************************
38713   //
38714   // Next()
38715   //
38744   HRESULT Next (
38745     [in] aafUInt32  count,
38746     [out, size_is(count), length_is(*pNumFetched)] IAAFRIFFChunk ** ppRIFFChunks,
38747     [out,ref] aafUInt32 *  pNumFetched);
38748 
38749 
38750   //***********************************************************
38751   //
38752   // Skip()
38753   //
38773   HRESULT Skip (
38774     [in] aafUInt32  count);
38775 
38776 
38777   //***********************************************************
38778   //
38779   // Reset()
38780   //
38791   HRESULT Reset ();
38792 
38793 
38794   //***********************************************************
38795   //
38796   // Clone()
38797   //
38821   HRESULT Clone (
38822     [out,retval] IEnumAAFRIFFChunks ** ppEnum);
38823 
38824 }
38825 
38826 
38827 
38828 // ************************
38829 //
38830 // Interface IEnumAAFSegments
38831 //
38832 // ************************
38833 [
38834     object,
38835     uuid(B1A213A2-1A7D-11D2-BF78-00104BC9156D),
38836     helpstring("IEnumAAFSegments Interface"),
38837     pointer_default(unique)
38838 ]
38839 interface IEnumAAFSegments : IUnknown
38840 {
38841 
38842   //***********************************************************
38843   //
38844   // NextOne()
38845   //
38871   HRESULT NextOne (
38872     [out,retval] IAAFSegment ** ppSegments);
38873 
38874 
38875   //***********************************************************
38876   //
38877   // Next()
38878   //
38907   HRESULT Next (
38908     [in] aafUInt32  count,
38909     [out, size_is(count), length_is(*pNumFetched)] IAAFSegment ** ppSegments,
38910     [out,ref] aafUInt32 *  pNumFetched);
38911 
38912 
38913   //***********************************************************
38914   //
38915   // Skip()
38916   //
38936   HRESULT Skip (
38937     [in] aafUInt32  count);
38938 
38939 
38940   //***********************************************************
38941   //
38942   // Reset()
38943   //
38954   HRESULT Reset ();
38955 
38956 
38957   //***********************************************************
38958   //
38959   // Clone()
38960   //
38984   HRESULT Clone (
38985     [out,retval] IEnumAAFSegments ** ppEnum);
38986 }
38987 
38988 
38989 
38990 // ************************
38991 //
38992 // Interface IEnumAAFTaggedValueDefs
38993 //
38994 // ************************
38995 [
38996     object,
38997     uuid(9d1bd790-16a8-488c-8743-f9a60a1cba95),
38998     helpstring("IEnumAAFTaggedValueDefs Interface"),
38999     pointer_default(unique)
39000 ]
39001 
39002 interface IEnumAAFTaggedValueDefs : IUnknown
39003 {
39004 
39005   //***********************************************************
39006   //
39007   // NextOne()
39008   //
39034   HRESULT NextOne (
39035     [out,retval] IAAFTaggedValueDefinition ** ppTaggedValueDefs);
39036 
39037 
39038   //***********************************************************
39039   //
39040   // Next()
39041   //
39070   HRESULT Next (
39071     [in] aafUInt32  count,
39072     [out, size_is(count), length_is(*pNumFetched)] IAAFTaggedValueDefinition ** ppTaggedValueDefs,
39073     [out,ref] aafUInt32 *  pNumFetched);
39074 
39075 
39076   //***********************************************************
39077   //
39078   // Skip()
39079   //
39099   HRESULT Skip (
39100     [in] aafUInt32  count);
39101 
39102 
39103   //***********************************************************
39104   //
39105   // Reset()
39106   //
39117   HRESULT Reset ();
39118 
39119 
39120   //***********************************************************
39121   //
39122   // Clone()
39123   //
39147   HRESULT Clone (
39148     [out,retval] IEnumAAFTaggedValueDefs ** ppEnum);
39149 }
39150 
39151 
39152 
39153 // ************************
39154 //
39155 // Interface IEnumAAFTaggedValues
39156 //
39157 // ************************
39158 [
39159     object,
39160     uuid(5f7916f1-0f87-11d3-8a3e-0050040ef7d2),
39161     helpstring("IEnumAAFTaggedValues Interface"),
39162     pointer_default(unique)
39163 ]
39164 interface IEnumAAFTaggedValues : IUnknown
39165 {
39166 
39167   //***********************************************************
39168   //
39169   // NextOne()
39170   //
39196   HRESULT NextOne (
39197     [out,retval] IAAFTaggedValue ** ppTaggedValues);
39198 
39199 
39200   //***********************************************************
39201   //
39202   // Next()
39203   //
39232   HRESULT Next (
39233     [in] aafUInt32  count,
39234     [out, size_is(count), length_is(*pNumFetched)] IAAFTaggedValue ** ppTaggedValues,
39235     [out,ref] aafUInt32 *  pNumFetched);
39236 
39237 
39238   //***********************************************************
39239   //
39240   // Skip()
39241   //
39261   HRESULT Skip (
39262     [in] aafUInt32  count);
39263 
39264 
39265   //***********************************************************
39266   //
39267   // Reset()
39268   //
39279   HRESULT Reset ();
39280 
39281 
39282   //***********************************************************
39283   //
39284   // Clone()
39285   //
39309   HRESULT Clone (
39310     [out,retval] IEnumAAFTaggedValues ** ppEnum);
39311 }
39312 
39313 
39314 
39315 // ************************
39316 //
39317 // Interface IEnumAAFTypeDefs
39318 //
39319 // ************************
39320 [
39321     object,
39322     uuid(B1A2138C-1A7D-11D2-BF78-00104BC9156D),
39323     helpstring("IEnumAAFTypeDefs Interface"),
39324     pointer_default(unique)
39325 ]
39326 interface IEnumAAFTypeDefs : IUnknown
39327 {
39328 
39329   //***********************************************************
39330   //
39331   // NextOne()
39332   //
39358   HRESULT NextOne (
39359     [out,retval] IAAFTypeDef ** ppTypeDefs);
39360 
39361 
39362   //***********************************************************
39363   //
39364   // Next()
39365   //
39394   HRESULT Next (
39395     [in] aafUInt32  count,
39396     [out, size_is(count), length_is(*pNumFetched)] IAAFTypeDef ** ppTypeDefs,
39397     [out,ref] aafUInt32 *  pNumFetched);
39398 
39399 
39400   //***********************************************************
39401   //
39402   // Skip()
39403   //
39423   HRESULT Skip (
39424     [in] aafUInt32  count);
39425 
39426 
39427   //***********************************************************
39428   //
39429   // Reset()
39430   //
39441   HRESULT Reset ();
39442 
39443 
39444   //***********************************************************
39445   //
39446   // Clone()
39447   //
39471   HRESULT Clone (
39472     [out,retval] IEnumAAFTypeDefs ** ppEnum);
39473 }
39474 
39475 
39476 
39477 // ************************
39478 //
39479 // Interface IAAFAES3PCMDescriptor2
39480 //
39481 // ************************
39495 
39496 
39505 [
39506     object,
39507     uuid(5d7d099b-02eb-4dc8-afe8-01ce131f5663),
39508     helpstring("IAAFAES3PCMDescriptor2 Interface"),
39509     pointer_default(unique)
39510 ]
39511 interface IAAFAES3PCMDescriptor2 : IUnknown
39512 {
39513 
39514   //***********************************************************
39515   //
39516   // Initialize()
39517   //
39535   HRESULT Initialize ();
39536 
39537   //***********************************************************
39538   //
39539   // GetEmphasis()
39540   //
39560   HRESULT GetEmphasis (
39561     [out] aafEmphasisType_t *  pEmphasisType);
39562 
39563   //***********************************************************
39564   //
39565   // SetEmphasis()
39566   //
39582   HRESULT SetEmphasis (
39583     [in] aafEmphasisType_t  EmphasisType);
39584 
39585   //***********************************************************
39586   //
39587   // GetBlockStartOffset()
39588   //
39608   HRESULT GetBlockStartOffset (
39609     [out] aafUInt16 *  pBlockStartOffset);
39610 
39611   //***********************************************************
39612   //
39613   // SetBlockStartOffset()
39614   //
39630   HRESULT SetBlockStartOffset (
39631     [in] aafUInt16  BlockStartOffset);
39632 
39633   //***********************************************************
39634   //
39635   // GetAuxBitsMode()
39636   //
39656   HRESULT GetAuxBitsMode (
39657     [out] aafAuxBitsModeType_t *  pAuxBitsMode);
39658 
39659   //***********************************************************
39660   //
39661   // SetAuxBitsMode()
39662   //
39678   HRESULT SetAuxBitsMode (
39679     [in] aafAuxBitsModeType_t  AuxBitsMode);
39680 
39681   //***********************************************************
39682   //
39683   // GetChannelStatusModeAt()
39684   //
39708   HRESULT GetChannelStatusModeAt (
39709     [in] aafUInt32  index,
39710     [out] aafChannelStatusModeType_t *  pChannelStatusMode);
39711 
39712   //***********************************************************
39713   //
39714   // SetChannelStatusModeAt()
39715   //
39735   HRESULT SetChannelStatusModeAt (
39736     [in] aafUInt32  index,
39737     [in] aafChannelStatusModeType_t  ChannelStatusMode);
39738 
39739   //***********************************************************
39740   //
39741   // GetFixedChannelStatusDataAt()
39742   //
39773   HRESULT GetFixedChannelStatusDataAt (
39774     [in] aafUInt32  index,
39775     [in] aafUInt32  sizeOfBuffer,
39776     [out] aafUInt8 *  pFixedChannelStatusData);
39777 
39778   //***********************************************************
39779   //
39780   // SetFixedChannelStatusDataAt()
39781   //
39812   HRESULT SetFixedChannelStatusDataAt (
39813     [in] aafUInt32  index,
39814     [in] aafUInt32  sizeOfBuffer,
39815     [in] aafUInt8 *  pFixedChannelStatusData);
39816 
39817   //***********************************************************
39818   //
39819   // GetUserDataModeAt()
39820   //
39844   HRESULT GetUserDataModeAt (
39845     [in] aafUInt32  index,
39846     [out] aafUserDataModeType_t *  pUserDataMode);
39847 
39848   //***********************************************************
39849   //
39850   // SetUserDataModeAt()
39851   //
39871   HRESULT SetUserDataModeAt (
39872     [in] aafUInt32  index,
39873     [in] aafUserDataModeType_t  UserDataMode);
39874 
39875   //***********************************************************
39876   //
39877   // GetFixedUserDataAt()
39878   //
39909   HRESULT GetFixedUserDataAt (
39910     [in] aafUInt32  index,
39911     [in] aafUInt32  sizeOfBuffer,
39912     [out] aafUInt8 *  pFixedUserData);
39913 
39914   //***********************************************************
39915   //
39916   // SetFixedUserDataAt()
39917   //
39948   HRESULT SetFixedUserDataAt (
39949     [in] aafUInt32  index,
39950     [in] aafUInt32  sizeOfBuffer,
39951     [in] aafUInt8 *  pFixedUserData);
39952 
39953 }
39954 
39955 
39956 
39957 // ************************
39958 //
39959 // Interface IAAFCDCIDescriptor2
39960 //
39961 // ************************
39975 
39976 
39985 [
39986     object,
39987     uuid(82B83210-7E2C-417E-92BA-8F42C195906E),
39988     helpstring("IAAFCDCIDescriptor2 Interface"),
39989     pointer_default(unique)
39990 ]
39991 interface IAAFCDCIDescriptor2 : IUnknown
39992 {
39993 
39994 
39995   //***********************************************************
39996   //
39997   // Initialize()
39998   //
40016   HRESULT Initialize ();
40017 
40018 
40019   //***********************************************************
40020   //
40021   // SetComponentWidth()
40022   //
40045   HRESULT SetComponentWidth (
40046     [in] aafInt32  ComponentWidth);
40047 
40048 
40049   //***********************************************************
40050   //
40051   // GetComponentWidth()
40052   //
40080   HRESULT GetComponentWidth (
40081     [out] aafInt32 *  pComponentWidth);
40082 
40083 
40084   //***********************************************************
40085   //
40086   // SetHorizontalSubsampling()
40087   //
40108   HRESULT SetHorizontalSubsampling (
40109     [in] aafUInt32  HorizontalSubsampling);
40110 
40111 
40112   //***********************************************************
40113   //
40114   // GetHorizontalSubsampling()
40115   //
40142   HRESULT GetHorizontalSubsampling (
40143     [out] aafUInt32 *  pHorizontalSubsampling);
40144 
40145 
40146   //***********************************************************
40147   //
40148   // SetVerticalSubsampling()
40149   //
40170   HRESULT SetVerticalSubsampling (
40171     [in] aafUInt32  VerticalSubsampling);
40172 
40173 
40174   //***********************************************************
40175   //
40176   // GetVerticalSubsampling()
40177   //
40204   HRESULT GetVerticalSubsampling (
40205     [out] aafUInt32 *  pVerticalSubsampling);
40206 
40207 
40208   //***********************************************************
40209   //
40210   // SetColorSiting()
40211   //
40250   HRESULT SetColorSiting (
40251     [in] aafColorSiting_t  ColorSiting);
40252 
40253 
40254   //***********************************************************
40255   //
40256   // GetColorSiting()
40257   //
40300   HRESULT GetColorSiting (
40301     [out] aafColorSiting_t *  pColorSiting);
40302 
40303 
40304   //***********************************************************
40305   //
40306   // SetBlackReferenceLevel()
40307   //
40334   HRESULT SetBlackReferenceLevel (
40335     [in] aafUInt32  BlackReferenceLevel);
40336 
40337 
40338   //***********************************************************
40339   //
40340   // GetBlackReferenceLevel()
40341   //
40371   HRESULT GetBlackReferenceLevel (
40372     [out] aafUInt32 *  pBlackReferenceLevel);
40373 
40374 
40375   //***********************************************************
40376   //
40377   // SetWhiteReferenceLevel()
40378   //
40403   HRESULT SetWhiteReferenceLevel (
40404     [in] aafUInt32  WhiteReferenceLevel);
40405 
40406 
40407   //***********************************************************
40408   //
40409   // GetWhiteReferenceLevel()
40410   //
40437   HRESULT GetWhiteReferenceLevel (
40438     [out] aafUInt32 *  pWhiteReferenceLevel);
40439 
40440 
40441   //***********************************************************
40442   //
40443   // SetColorRange()
40444   //
40474   HRESULT SetColorRange (
40475     [in] aafUInt32  ColorRange);
40476 
40477 
40478   //***********************************************************
40479   //
40480   // GetColorRange()
40481   //
40511   HRESULT GetColorRange (
40512     [out] aafUInt32 *  pColorRange);
40513 
40514 
40515   //***********************************************************
40516   //
40517   // SetPaddingBits()
40518   //
40537   HRESULT SetPaddingBits (
40538     [in] aafInt16  PaddingBits);
40539 
40540 
40541   //***********************************************************
40542   //
40543   // GetPaddingBits()
40544   //
40567   HRESULT GetPaddingBits (
40568     [out] aafInt16 *  pPaddingBits);
40569 
40570 
40571   //***********************************************************
40572   //
40573   // SetAlphaSamplingWidth()
40574   //
40589   HRESULT SetAlphaSamplingWidth (
40590     [in] aafUInt32  alphaSamplingWidth);
40591 
40592   //***********************************************************
40593   //
40594   // GetAlphaSamplingWidth()
40595   //
40617   HRESULT GetAlphaSamplingWidth (
40618     [out] aafUInt32 *  pAlphaSamplingWidth);
40619 
40620   //***********************************************************
40621   //
40622   // SetReversedByteOrder()
40623   //
40638   HRESULT SetReversedByteOrder (
40639     [in] aafBoolean_t  reversedByteOrder);
40640 
40641   //***********************************************************
40642   //
40643   // GetReversedByteOrder()
40644   //
40666   HRESULT GetReversedByteOrder (
40667     [out] aafBoolean_t *  pReversedByteOrder);
40668 
40669 
40670 }
40671 
40672 
40673 
40674 // ************************
40675 //
40676 // Interface IAAFComponent2
40677 //
40678 // ************************
40705 [
40706     object,
40707     uuid(c703e7f5-b97f-44fb-87da-a412e60ea6aa),
40708     helpstring("IAAFComponent2 Interface"),
40709     pointer_default(unique)
40710 ]
40711 interface IAAFComponent2 : IUnknown
40712 {
40713 
40714 
40715 
40716 
40717   //***********************************************************
40718   //
40719   // SetLength()
40720   //
40744   HRESULT SetLength (
40745     [in] aafLength_constref  length);
40746 
40747 
40748   //***********************************************************
40749   //
40750   // GetLength()
40751   //
40778   HRESULT GetLength (
40779     [retval][out] aafLength_t *  pLength);
40780         
40781 
40782   //***********************************************************
40783   //
40784   // SetDataDef()
40785   //
40803   HRESULT SetDataDef (
40804     [in] IAAFDataDef * pDataDef);
40805 
40806 
40807   //***********************************************************
40808   //
40809   // GetDataDef()
40810   //
40830   HRESULT GetDataDef (
40831     [out, retval] IAAFDataDef ** ppDatadef);
40832 
40833   //***********************************************************
40834   //
40835   // AppendKLVData()
40836   //
40857   HRESULT AppendKLVData (
40858     [in] IAAFKLVData * pData);
40859 
40860 
40861   //***********************************************************
40862   //
40863   // CountKLVData()
40864   //
40884   HRESULT CountKLVData (
40885     [out] aafUInt32 *  pNumData);
40886 
40887 
40888   //***********************************************************
40889   //
40890   // GetKLVData()
40891   //
40913   HRESULT GetKLVData (
40914     [out] IEnumAAFKLVData ** ppEnum);
40915 
40916 
40917   //***********************************************************
40918   //
40919   // RemoveKLVData()
40920   //
40944   HRESULT RemoveKLVData (
40945     [in] IAAFKLVData * pData);
40946 
40947 
40948 
40949   //***********************************************************
40950   //
40951   // AppendComment()
40952   //
40971   HRESULT AppendComment (
40972     [in] aafCharacter_constptr  pName,
40973     [in] aafCharacter_constptr  pValue);
40974 
40975   //***********************************************************
40976   //
40977   // CountComments()
40978   //
40993   HRESULT CountComments (
40994     [out] aafUInt32*  pNumComments);
40995   
40996 
40997   //***********************************************************
40998   //
40999   // GetComments()
41000   //
41018   HRESULT GetComments (
41019     [out] IEnumAAFTaggedValues ** ppEnum);
41020 
41021 
41022   //***********************************************************
41023   //
41024   // RemoveComment()
41025   //
41040   HRESULT RemoveComment (
41041     [in] IAAFTaggedValue * pComment);
41042 
41043   //***********************************************************
41044   //
41045   // AppendAttribute()
41046   //
41065   HRESULT AppendAttribute (
41066     [in] aafCharacter_constptr  pName,
41067     [in] aafCharacter_constptr  pValue);
41068 
41069   //***********************************************************
41070   //
41071   // CountAttributes()
41072   //
41087   HRESULT CountAttributes (
41088     [out] aafUInt32*  pNumAttributes);
41089   
41090 
41091   //***********************************************************
41092   //
41093   // GetAttributes()
41094   //
41112   HRESULT GetAttributes (
41113     [out] IEnumAAFTaggedValues ** ppEnum);
41114 
41115 
41116   //***********************************************************
41117   //
41118   // RemoveAttribute()
41119   //
41134   HRESULT RemoveAttribute (
41135     [in] IAAFTaggedValue * pAttribute);
41136 
41137 }
41138 
41139 
41140 
41141 // ************************
41142 //
41143 // Interface IAAFCompositionMob2
41144 //
41145 // ************************
41160 
41161 
41167 [
41168     object,
41169     uuid(188a82c7-0d87-4af3-89e0-5f96e56ff9de),
41170     helpstring("IAAFCompositionMob2 Interface"),
41171     pointer_default(unique)
41172 ]
41173 interface IAAFCompositionMob2 : IUnknown
41174 {
41175 
41176 
41177 
41178   //***********************************************************
41179   //
41180   // Initialize()
41181   //
41203   HRESULT Initialize (
41204     [in, string] aafCharacter_constptr  pName);
41205 
41206 
41207   //***********************************************************
41208   //
41209   // GetDefaultFade()
41210   //
41235   HRESULT GetDefaultFade (
41236     [out] aafDefaultFade_t *  pResult);
41237         
41238 
41239   //***********************************************************
41240   //
41241   // SetDefaultFade()
41242   //
41268   HRESULT SetDefaultFade (
41269     [in] aafLength_t  fadeLength,
41270     [in] aafFadeType_t  fadeType,
41271     [in] aafRational_t  fadeEditUnit);
41272 
41273 
41274   //***********************************************************
41275   //
41276   // SetRendering()
41277   //
41279 
41286   HRESULT SetRendering (
41287     [in, ref] aafMobID_constref  mobID);
41288 
41289   //***********************************************************
41290   //
41291   // GetRendering()
41292   //
41294 
41312   HRESULT GetRendering (
41313     [out] aafMobID_t *  pMobID);
41314 
41315 
41316 }
41317 
41318 
41319 
41320 // ************************
41321 //
41322 // Interface IAAFDataDef2
41323 //
41324 // ************************
41325 
41330 [
41331     object,
41332     uuid(588951c1-2f10-46da-a20d-6e8e7ac6963c),
41333     helpstring("IAAFDataDef2 Interface"),
41334     pointer_default(unique)
41335 ]
41336 interface IAAFDataDef2 : IUnknown
41337 {
41338 
41339   //***********************************************************
41340   //
41341   // Initialize()
41342   //
41349   HRESULT Initialize (
41350     [in, ref] aafUID_constref  id,
41351     [in, string] aafCharacter_constptr  pName,
41352     [in, string] aafCharacter_constptr  pDescription);
41353 
41354 
41355   //***********************************************************
41356   //
41357   // IsPictureKind()
41358   //
41363   HRESULT IsPictureKind (
41364     [retval,out] aafBoolean_t *  bIsPictureKind);
41365 
41366 
41367   //***********************************************************
41368   //
41369   // IsMatteKind()
41370   //
41375   HRESULT IsMatteKind (
41376     [retval,out] aafBoolean_t *  bIsMatteKind);
41377 
41378 
41379   //***********************************************************
41380   //
41381   // IsPictureWithMatteKind()
41382   //
41387   HRESULT IsPictureWithMatteKind (
41388     [retval,out] aafBoolean_t *  bIsPictureWithMatteKind);
41389 
41390 
41391   //***********************************************************
41392   //
41393   // IsSoundKind()
41394   //
41399   HRESULT IsSoundKind (
41400     [retval,out] aafBoolean_t *  bIsSoundKind);
41401 
41402 
41403   //***********************************************************
41404   //
41405   // DoesDataDefConvertTo()
41406   //
41414   HRESULT DoesDataDefConvertTo (
41415     [in] IAAFDataDef * id,
41416     [retval, out] aafBoolean_t *  bDoesConvertTo);
41417                    
41418 
41419   //***********************************************************
41420   //
41421   // IsDataDefOf()
41422   //
41430   HRESULT IsDataDefOf (
41431     [in] IAAFDataDef * pDataDef,
41432     [retval, out] aafBoolean_t *  bIsDataDefOf);
41433 
41434 
41435   //***********************************************************
41436   //
41437   // DoesDataDefConvertFrom()
41438   //
41446   HRESULT DoesDataDefConvertFrom (
41447     [in] IAAFDataDef * pDataDef,
41448     [retval, out] aafBoolean_t *  bDoesConvertFrom);
41449 
41450 
41451   //***********************************************************
41452   //
41453   // IsEdgecodeKind()
41454   //
41459   HRESULT IsEdgecodeKind (
41460     [retval,out] aafBoolean_t *  bIsEdgecodeKind);
41461 
41462   //***********************************************************
41463   //
41464   // IsTimecodeKind()
41465   //
41470   HRESULT IsTimecodeKind (
41471     [retval,out] aafBoolean_t *  bIsTimecodeKind);
41472 
41473 }
41474 
41475 
41476 
41477 // ************************
41478 //
41479 // Interface IAAFDataDef3
41480 //
41481 // ************************
41482 
41487 [
41488     object,
41489     uuid(858109c4-cb51-48ad-9086-a3fcfe9739fa),
41490     helpstring("IAAFDataDef3 Interface"),
41491     pointer_default(unique)
41492 ]
41493 interface IAAFDataDef3 : IUnknown
41494 {
41495 
41496   //***********************************************************
41497   //
41498   // Initialize()
41499   //
41506   HRESULT Initialize (
41507     [in, ref] aafUID_constref  id,
41508     [in, string] aafCharacter_constptr  pName,
41509     [in, string] aafCharacter_constptr  pDescription);
41510 
41511 
41512   //***********************************************************
41513   //
41514   // IsPictureKind()
41515   //
41520   HRESULT IsPictureKind (
41521     [retval,out] aafBoolean_t *  bIsPictureKind);
41522 
41523 
41524   //***********************************************************
41525   //
41526   // IsMatteKind()
41527   //
41532   HRESULT IsMatteKind (
41533     [retval,out] aafBoolean_t *  bIsMatteKind);
41534 
41535 
41536   //***********************************************************
41537   //
41538   // IsPictureWithMatteKind()
41539   //
41544   HRESULT IsPictureWithMatteKind (
41545     [retval,out] aafBoolean_t *  bIsPictureWithMatteKind);
41546 
41547 
41548   //***********************************************************
41549   //
41550   // IsSoundKind()
41551   //
41556   HRESULT IsSoundKind (
41557     [retval,out] aafBoolean_t *  bIsSoundKind);
41558 
41559 
41560   //***********************************************************
41561   //
41562   // DoesDataDefConvertTo()
41563   //
41571   HRESULT DoesDataDefConvertTo (
41572     [in] IAAFDataDef * id,
41573     [retval, out] aafBoolean_t *  bDoesConvertTo);
41574                    
41575 
41576   //***********************************************************
41577   //
41578   // IsDataDefOf()
41579   //
41587   HRESULT IsDataDefOf (
41588     [in] IAAFDataDef * pDataDef,
41589     [retval, out] aafBoolean_t *  bIsDataDefOf);
41590 
41591 
41592   //***********************************************************
41593   //
41594   // DoesDataDefConvertFrom()
41595   //
41603   HRESULT DoesDataDefConvertFrom (
41604     [in] IAAFDataDef * pDataDef,
41605     [retval, out] aafBoolean_t *  bDoesConvertFrom);
41606 
41607 
41608   //***********************************************************
41609   //
41610   // IsEdgecodeKind()
41611   //
41616   HRESULT IsEdgecodeKind (
41617     [retval,out] aafBoolean_t *  bIsEdgecodeKind);
41618 
41619   //***********************************************************
41620   //
41621   // IsTimecodeKind()
41622   //
41627   HRESULT IsTimecodeKind (
41628     [retval,out] aafBoolean_t *  bIsTimecodeKind);
41629 
41630 
41631   //***********************************************************
41632   //
41633   // IsAuxiliaryKind()
41634   //
41639   HRESULT IsAuxiliaryKind (
41640     [retval,out] aafBoolean_t *  bIsAuxiliaryKind);
41641 
41642   //***********************************************************
41643   //
41644   // IsDescriptiveMetadataKind()
41645   //
41650   HRESULT IsDescriptiveMetadataKind (
41651     [retval,out] aafBoolean_t *  bIsDescriptiveMetadataKind);
41652 
41653 }
41654 
41655 
41656 
41657 // ************************
41658 //
41659 // Interface IAAFDiagnosticOutput
41660 //
41661 // ************************
41676 
41677 
41678 [
41679     object,
41680     uuid(C9346826-1CFE-4AEF-BA4D-54D414138739),
41681     helpstring("IAAFDiagnosticOutput Interface"),
41682     pointer_default(unique)
41683 ]
41684 
41685 interface IAAFDiagnosticOutput : IUnknown
41686 {
41687 
41688 
41689   //***********************************************************
41690   //
41691   // PutString()
41692   //
41698   HRESULT PutString (
41699     [in, string] aafCharacter_constptr  pString);
41700 
41701 }
41702 
41703 
41704 
41705 // ************************
41706 //
41707 // Interface IAAFDictionary2
41708 //
41709 // ************************
41724 [
41725     object,
41726     uuid(952a5c85-dcec-4c99-8e40-978d88a0cdc1),
41727     helpstring("IAAFDictionary2 Interface"),
41728     pointer_default(unique)
41729 ]
41730 interface IAAFDictionary2 : IUnknown
41731 {
41732 
41733   //***********************************************************
41734   //
41735   // CreateInstance()
41736   //
41747   HRESULT CreateInstance(
41748     [in, ref] aafUID_constref id,
41749     [in, ref] REFIID riid,
41750     [out, iid_is(riid)] IUnknown ** ppvObject);
41751 
41752 
41753   //***********************************************************
41754   //
41755   // CreateMetaInstance()
41756   //
41767   HRESULT CreateMetaInstance(
41768     [in, ref] aafUID_constref id,
41769     [in, ref] REFIID riid,
41770     [out, iid_is(riid)] IUnknown ** ppMetaDefinition);
41771 
41772 
41773 
41774 
41775   //***********************************************************
41776   //
41777   // RegisterClassDef()
41778   //
41801   HRESULT RegisterClassDef (
41802     [in] IAAFClassDef * pClassDef);
41803 
41804 
41805   //***********************************************************
41806   //
41807   // LookupClassDef()
41808   //
41832   HRESULT LookupClassDef (
41833     [in, ref] aafUID_constref  classId,
41834     [out,retval] IAAFClassDef ** ppClassDef);
41835 
41836 
41837   //***********************************************************
41838   //
41839   // GetClassDefs()
41840   //
41858   HRESULT GetClassDefs (
41859     [out,retval] IEnumAAFClassDefs ** ppEnum);
41860 
41861 
41862   //***********************************************************
41863   //
41864   // CountClassDefs()
41865   //
41886   HRESULT CountClassDefs (
41887     [out, retval] aafUInt32 *  pResult);
41888 
41889   //***********************************************************
41890   //
41891   // CreateForwardClassReference()
41892   //
41911   HRESULT CreateForwardClassReference (
41912     [in, ref] aafUID_constref  classId);
41913 
41914   //***********************************************************
41915   //
41916   // HasForwardClassReference()
41917   //
41941   HRESULT HasForwardClassReference (
41942     [in, ref] aafUID_constref  classId,
41943     [out,retval] aafBoolean_t *  pResult);
41944 
41945   //***********************************************************
41946   //
41947   // RegisterTypeDef()
41948   //
41970   HRESULT RegisterTypeDef (
41971     [in] IAAFTypeDef * pTypeDef);
41972 
41973 
41974   //***********************************************************
41975   //
41976   // LookupTypeDef()
41977   //
42001   HRESULT LookupTypeDef (
42002     [in, ref] aafUID_constref  typeId,
42003     [out,retval] IAAFTypeDef ** ppTypeDef);
42004 
42005 
42006   //***********************************************************
42007   //
42008   // GetTypeDefs()
42009   //
42027   HRESULT GetTypeDefs (
42028     [out,retval] IEnumAAFTypeDefs ** ppEnum);
42029 
42030 
42031   //***********************************************************
42032   //
42033   // CountTypeDefs()
42034   //
42055   HRESULT CountTypeDefs (
42056     [out, retval] aafUInt32 *  pResult);
42057 
42058 
42059   //***********************************************************
42060   //
42061   // RegisterOpaqueTypeDef()
42062   //
42084   HRESULT RegisterOpaqueTypeDef (
42085     [in] IAAFTypeDef * pTypeDef);
42086 
42087 
42088   //***********************************************************
42089   //
42090   // LookupOpaqueTypeDef()
42091   //
42115   HRESULT LookupOpaqueTypeDef (
42116     [in, ref] aafUID_constref  typeId,
42117     [out,retval] IAAFTypeDef ** ppTypeDef);
42118 
42119 
42120   //***********************************************************
42121   //
42122   // GetOpaqueTypeDefs()
42123   //
42141   HRESULT GetOpaqueTypeDefs (
42142     [out,retval] IEnumAAFTypeDefs ** ppEnum);
42143 
42144 
42145   //***********************************************************
42146   //
42147   // CountOpaqueTypeDefs()
42148   //
42169   HRESULT CountOpaqueTypeDefs (
42170     [out, retval] aafUInt32 *  pResult);
42171 
42172   //***********************************************************
42173   //
42174   // RegisterKLVDataKey()
42175   //
42200   HRESULT RegisterKLVDataKey (
42201     [in] aafUID_t  pUID,
42202     [in] IAAFTypeDef * pTypeDef);
42203 
42204   //***********************************************************
42205   //
42206   // RegisterDataDef()
42207   //
42212   HRESULT RegisterDataDef (
42213     [in] IAAFDataDef * pDataDef);
42214 
42215 
42216   //***********************************************************
42217   //
42218   // LookupDataDef()
42219   //
42225   HRESULT LookupDataDef (
42226     [in, ref] aafUID_constref  dataDefinitionId,
42227     [out,retval] IAAFDataDef ** ppDataDef);
42228 
42229 
42230   //***********************************************************
42231   //
42232   // GetDataDefs()
42233   //
42238   HRESULT GetDataDefs (
42239     [out,retval] IEnumAAFDataDefs ** ppEnum);
42240 
42241 
42242   //***********************************************************
42243   //
42244   // CountDataDefs()
42245   //
42266   HRESULT CountDataDefs (
42267     [out, retval] aafUInt32 *  pResult);
42268 
42269 
42270   //***********************************************************
42271   //
42272   // RegisterOperationDef()
42273   //
42278   HRESULT RegisterOperationDef (
42279     [in] IAAFOperationDef * pOperationDef);
42280 
42281 
42282   //***********************************************************
42283   //
42284   // LookupOperationDef()
42285   //
42291   HRESULT LookupOperationDef (
42292     [in, ref] aafUID_constref  operationId,
42293     [out,retval] IAAFOperationDef ** ppOperationDef);
42294 
42295 
42296   //***********************************************************
42297   //
42298   // GetOperationDefs()
42299   //
42304   HRESULT GetOperationDefs (
42305     [out,retval] IEnumAAFOperationDefs ** ppEnum);
42306 
42307 
42308   //***********************************************************
42309   //
42310   // CountOperationDefs()
42311   //
42332   HRESULT CountOperationDefs (
42333     [out, retval] aafUInt32 *  pResult);
42334 
42335 
42336   //***********************************************************
42337   //
42338   // RegisterParameterDef()
42339   //
42344   HRESULT RegisterParameterDef (
42345     [in] IAAFParameterDef * pParmDef);
42346 
42347 
42348   //***********************************************************
42349   //
42350   // LookupParameterDef()
42351   //
42357   HRESULT LookupParameterDef (
42358     [in, ref] aafUID_constref  parameterId,
42359     [out,retval] IAAFParameterDef ** ppParmDef);
42360 
42361 
42362   //***********************************************************
42363   //
42364   // GetParameterDefs()
42365   //
42370   HRESULT GetParameterDefs (
42371     [out,retval] IEnumAAFParameterDefs ** ppEnum);
42372 
42373 
42374   //***********************************************************
42375   //
42376   // CountParameterDefs()
42377   //
42398   HRESULT CountParameterDefs (
42399     [out, retval] aafUInt32 *  pResult);
42400 
42401 
42402   //***********************************************************
42403   //
42404   // RegisterCodecDef()
42405   //
42410   HRESULT RegisterCodecDef (
42411     [in] IAAFCodecDef * pParmDef);
42412 
42413 
42414   //***********************************************************
42415   //
42416   // LookupCodecDef()
42417   //
42423   HRESULT LookupCodecDef (
42424     [in, ref] aafUID_constref  parameterId,
42425     [out,retval] IAAFCodecDef ** ppParmDef);
42426 
42427 
42428   //***********************************************************
42429   //
42430   // GetCodecDefs()
42431   //
42436   HRESULT GetCodecDefs (
42437     [out,retval] IEnumAAFCodecDefs ** ppEnum);
42438 
42439 
42440   //***********************************************************
42441   //
42442   // CountCodecDefs()
42443   //
42464   HRESULT CountCodecDefs (
42465     [out, retval] aafUInt32 *  pResult);
42466 
42467 
42468   //***********************************************************
42469   //
42470   // RegisterContainerDef()
42471   //
42476   HRESULT RegisterContainerDef (
42477     [in] IAAFContainerDef * pParmDef);
42478 
42479 
42480   //***********************************************************
42481   //
42482   // LookupContainerDef()
42483   //
42489   HRESULT LookupContainerDef (
42490     [in, ref] aafUID_constref  parameterId,
42491     [out,retval] IAAFContainerDef ** ppParmDef);
42492 
42493 
42494   //***********************************************************
42495   //
42496   // GetContainerDefs()
42497   //
42502   HRESULT GetContainerDefs (
42503     [out,retval] IEnumAAFContainerDefs ** ppEnum);
42504 
42505 
42506   //***********************************************************
42507   //
42508   // CountContainerDefs()
42509   //
42530   HRESULT CountContainerDefs (
42531     [out, retval] aafUInt32 *  pResult);
42532 
42533 
42534   //***********************************************************
42535   //
42536   // RegisterInterpolationDef()
42537   //
42542   HRESULT RegisterInterpolationDef (
42543     [in] IAAFInterpolationDef * pInterpolationDef);
42544 
42545 
42546   //***********************************************************
42547   //
42548   // LookupInterpolationDef()
42549   //
42555   HRESULT LookupInterpolationDef (
42556     [in, ref] aafUID_constref  parameterId,
42557     [out,retval] IAAFInterpolationDef ** ppInterpolationDef);
42558 
42559 
42560   //***********************************************************
42561   //
42562   // GetInterpolationDefs()
42563   //
42568   HRESULT GetInterpolationDefs (
42569     [out,retval] IEnumAAFInterpolationDefs ** ppEnum);
42570 
42571 
42572   //***********************************************************
42573   //
42574   // CountInterpolationDefs()
42575   //
42596   HRESULT CountInterpolationDefs (
42597     [out, retval] aafUInt32 *  pResult);
42598 
42599 
42600   //***********************************************************
42601   //
42602   // RegisterPluginDef()
42603   //
42608   HRESULT RegisterPluginDef (
42609     [in] IAAFPluginDef * pPlugDef);
42610 
42611 
42612   //***********************************************************
42613   //
42614   // LookupPluginDef()
42615   //
42621   HRESULT LookupPluginDef (
42622     [in, ref] aafUID_constref  parameterId,
42623     [out,retval] IAAFPluginDef ** ppPlugDef);
42624 
42625 
42626   //***********************************************************
42627   //
42628   // GetPluginDefs()
42629   //
42634   HRESULT GetPluginDefs (
42635     [out,retval] IEnumAAFPluginDefs ** ppEnum);
42636 
42637 
42638   //***********************************************************
42639   //
42640   // CountPluginDefs()
42641   //
42662   HRESULT CountPluginDefs (
42663     [out, retval] aafUInt32 *  pResult);
42664 
42665 
42666   //***********************************************************
42667   //
42668   // RegisterKLVDataDef()
42669   //
42674   HRESULT RegisterKLVDataDef (
42675     [in] IAAFKLVDataDefinition * pDef);
42676 
42677 
42678   //***********************************************************
42679   //
42680   // LookupKLVDataDef()
42681   //
42687   HRESULT LookupKLVDataDef (
42688     [in, ref] aafUID_constref  defId,
42689     [out,retval] IAAFKLVDataDefinition ** ppDef);
42690 
42691 
42692   //***********************************************************
42693   //
42694   // GetKLVDataDefs()
42695   //
42700   HRESULT GetKLVDataDefs (
42701     [out,retval] IEnumAAFKLVDataDefs ** ppEnum);
42702 
42703 
42704   //***********************************************************
42705   //
42706   // CountKLVDataDefs()
42707   //
42728   HRESULT CountKLVDataDefs (
42729     [out, retval] aafUInt32 *  pResult);
42730 
42731 
42732   //***********************************************************
42733   //
42734   // RegisterTaggedValueDef()
42735   //
42740   HRESULT RegisterTaggedValueDef (
42741     [in] IAAFTaggedValueDefinition * pDef);
42742 
42743 
42744   //***********************************************************
42745   //
42746   // LookupTaggedValueDef()
42747   //
42753   HRESULT LookupTaggedValueDef (
42754     [in, ref] aafUID_constref  defId,
42755     [out,retval] IAAFTaggedValueDefinition ** ppDef);
42756 
42757 
42758   //***********************************************************
42759   //
42760   // GetTaggedValueDefs()
42761   //
42766   HRESULT GetTaggedValueDefs (
42767     [out,retval] IEnumAAFTaggedValueDefs ** ppEnum);
42768 
42769 
42770   //***********************************************************
42771   //
42772   // CountTaggedValueDefs()
42773   //
42794   HRESULT CountTaggedValueDefs (
42795     [out, retval] aafUInt32 *  pResult);
42796 
42797   //***********************************************************
42798   //
42799   // LookupAuxiliaryDataDef()
42800   //
42818   HRESULT LookupAuxiliaryDataDef (
42819     [out,retval] IAAFDataDef ** ppDataDef);
42820 
42821   //***********************************************************
42822   //
42823   // LookupDescriptiveMetadataDataDef()
42824   //
42842   HRESULT LookupDescriptiveMetadataDataDef (
42843     [out,retval] IAAFDataDef ** ppDataDef);
42844 
42845 
42846   //***********************************************************
42847   //
42848   // LookupEdgecodeDataDef()
42849   //
42867   HRESULT LookupEdgecodeDataDef (
42868     [out,retval] IAAFDataDef ** ppDataDef);
42869 
42870 
42871   //***********************************************************
42872   //
42873   // LookupLegacyPictureDataDef()
42874   //
42892   HRESULT LookupLegacyPictureDataDef (
42893     [out,retval] IAAFDataDef ** ppDataDef);
42894 
42895 
42896   //***********************************************************
42897   //
42898   // LookupLegacySoundDataDef()
42899   //
42917   HRESULT LookupLegacySoundDataDef (
42918     [out,retval] IAAFDataDef ** ppDataDef);
42919 
42920 
42921   //***********************************************************
42922   //
42923   // LookupLegacyTimecodeDataDef()
42924   //
42942   HRESULT LookupLegacyTimecodeDataDef (
42943     [out,retval] IAAFDataDef ** ppDataDef);
42944 
42945 
42946   //***********************************************************
42947   //
42948   // LookupMatteDataDef()
42949   //
42967   HRESULT LookupMatteDataDef (
42968     [out,retval] IAAFDataDef ** ppDataDef);
42969 
42970 
42971   //***********************************************************
42972   //
42973   // LookupPictureDataDef()
42974   //
42992   HRESULT LookupPictureDataDef (
42993     [out,retval] IAAFDataDef ** ppDataDef);
42994 
42995 
42996   //***********************************************************
42997   //
42998   // LookupPictureWithMatteDataDef()
42999   //
43017   HRESULT LookupPictureWithMatteDataDef (
43018     [out,retval] IAAFDataDef ** ppDataDef);
43019 
43020 
43021   //***********************************************************
43022   //
43023   // LookupSoundDataDef()
43024   //
43042   HRESULT LookupSoundDataDef (
43043     [out,retval] IAAFDataDef ** ppDataDef);
43044 
43045 
43046   //***********************************************************
43047   //
43048   // LookupTimecodeDataDef()
43049   //
43067   HRESULT LookupTimecodeDataDef (
43068     [out,retval] IAAFDataDef ** ppDataDef);
43069 
43070 
43071 }
43072 
43073 
43074 
43075 // ************************
43076 //
43077 // Interface IAAFDigitalImageDescriptor2
43078 //
43079 // ************************
43172 [
43173     object,
43174     uuid(F7B9D3BE-773E-4910-9888-C9C4D71561CC),
43175     helpstring("IAAFDigitalImageDescriptor2 Interface"),
43176     pointer_default(unique)
43177 ]
43178 interface IAAFDigitalImageDescriptor2 : IUnknown
43179 {
43180 
43181 
43182   //***********************************************************
43183   //
43184   // SetCompression()
43185   //
43201   HRESULT SetCompression (
43202     [in] aafUID_constref  compression);
43203 
43204 
43205   //***********************************************************
43206   //
43207   // GetCompression()
43208   //
43228   HRESULT GetCompression (
43229     [out] aafUID_t *  pCompression);
43230 
43231 
43232   //***********************************************************
43233   //
43234   // SetStoredView()
43235   //
43251   HRESULT SetStoredView (
43252     [in] aafUInt32  StoredHeight,
43253     [in] aafUInt32  StoredWidth);
43254 
43255 
43256   //***********************************************************
43257   //
43258   // GetStoredView()
43259   //
43281   HRESULT GetStoredView (
43282     [out] aafUInt32 *  pStoredHeight,
43283     [out] aafUInt32 *  pStoredWidth);
43284 
43285 
43286   //***********************************************************
43287   //
43288   // SetSampledView()
43289   //
43323   HRESULT SetSampledView (
43324     [in] aafUInt32  SampledHeight,
43325     [in] aafUInt32  SampledWidth,
43326     [in] aafInt32  SampledXOffset,
43327     [in] aafInt32  SampledYOffset);
43328 
43329 
43330   //***********************************************************
43331   //
43332   // GetSampledView()
43333   //
43363   HRESULT GetSampledView (
43364     [out] aafUInt32 *  pSampledHeight,
43365     [out] aafUInt32 *  pSampledWidth,
43366     [out] aafInt32 *  pSampledXOffset,
43367     [out] aafInt32 *  pSampledYOffset);
43368 
43369 
43370   //***********************************************************
43371   //
43372   // SetDisplayView()
43373   //
43411   HRESULT SetDisplayView (
43412     [in] aafUInt32  DisplayHeight,
43413     [in] aafUInt32  DisplayWidth,
43414     [in] aafInt32  DisplayXOffset,
43415     [in] aafInt32  DisplayYOffset);
43416 
43417 
43418   //***********************************************************
43419   //
43420   // GetDisplayView()
43421   //
43451   HRESULT GetDisplayView (
43452     [out] aafUInt32 *  pDisplayHeight,
43453     [out] aafUInt32 *  pDisplayWidth,
43454     [out] aafInt32 *  pDisplayXOffset,
43455     [out] aafInt32 *  pDisplayYOffset);
43456 
43457 
43458   //***********************************************************
43459   //
43460   // SetFrameLayout()
43461   //
43495   HRESULT SetFrameLayout (
43496     [in] aafFrameLayout_t  FrameLayout);
43497 
43498 
43499   //***********************************************************
43500   //
43501   // GetFrameLayout()
43502   //
43535   HRESULT GetFrameLayout (
43536     [out] aafFrameLayout_t *  pFrameLayout);
43537 
43538 
43539   //***********************************************************
43540   //
43541   // SetVideoLineMap()
43542   //
43566   HRESULT SetVideoLineMap (
43567     [in] aafUInt32  numberElements,
43568     [in, size_is(numberElements)] aafInt32 *  pVideoLineMap);
43569 
43570 
43571   //***********************************************************
43572   //
43573   // GetVideoLineMap()
43574   //
43606   HRESULT GetVideoLineMap (
43607     [in] aafUInt32  numberElements,
43608     [out, size_is(numberElements)] aafInt32 *  pVideoLineMap);
43609 
43610 
43611   //***********************************************************
43612   //
43613   // GetVideoLineMapSize()
43614   //
43632   HRESULT GetVideoLineMapSize (
43633     [out] aafUInt32 *  pNumberElements);
43634 
43635 
43636   //***********************************************************
43637   //
43638   // SetImageAspectRatio()
43639   //
43657   HRESULT SetImageAspectRatio (
43658     [in] aafRational_t  ImageAspectRatio);
43659 
43660 
43661   //***********************************************************
43662   //
43663   // GetImageAspectRatio()
43664   //
43684   HRESULT GetImageAspectRatio (
43685     [out] aafRational_t *  pImageAspectRatio);
43686 
43687 
43688   //***********************************************************
43689   //
43690   // SetAlphaTransparency()
43691   //
43716   HRESULT SetAlphaTransparency (
43717     [in] aafAlphaTransparency_t  AlphaTransparency);
43718 
43719 
43720   //***********************************************************
43721   //
43722   // GetAlphaTransparency()
43723   //
43745   HRESULT GetAlphaTransparency (
43746     [out] aafAlphaTransparency_t *  pAlphaTransparency);
43747 
43748 
43749 
43750   //***********************************************************
43751   //
43752   // SetImageAlignmentFactor()
43753   //
43773   HRESULT SetImageAlignmentFactor (
43774     [in] aafUInt32  ImageAlignmentFactor);
43775 
43776 
43777   //***********************************************************
43778   //
43779   // GetImageAlignmentFactor()
43780   //
43803   HRESULT GetImageAlignmentFactor (
43804     [out] aafUInt32 *  pImageAlignmentFactor);
43805 
43806 
43807   //***********************************************************
43808   //
43809   // SetTransferCharacteristic()
43810   //
43826   HRESULT SetTransferCharacteristic (
43827     [in] aafUID_constref  transferCharacteristic);
43828 
43829 
43830   //***********************************************************
43831   //
43832   // GetTransferCharacteristic()
43833   //
43854   HRESULT GetTransferCharacteristic (
43855     [out] aafUID_t *  pTransferCharacteristic);
43856 
43857   //***********************************************************
43858   //
43859   // SetCodingEquations()
43860   //
43876   HRESULT SetCodingEquations (
43877     [in] aafUID_constref  codingEquations);
43878 
43879 
43880   //***********************************************************
43881   //
43882   // GetCodingEquations()
43883   //
43904   HRESULT GetCodingEquations (
43905     [out] aafUID_t *  pCodingEquations);
43906 
43907   //***********************************************************
43908   //
43909   // SetColorPrimaries()
43910   //
43926   HRESULT SetColorPrimaries (
43927     [in] aafUID_constref  colorPrimaries);
43928 
43929 
43930   //***********************************************************
43931   //
43932   // GetColorPrimaries()
43933   //
43954   HRESULT GetColorPrimaries (
43955     [out] aafUID_t *  pColorPrimaries);
43956 
43957   //***********************************************************
43958   //
43959   // SetFieldStartOffset()
43960   //
43975   HRESULT SetFieldStartOffset (
43976     [in] aafUInt32  fieldStartOffset);
43977 
43978 
43979   //***********************************************************
43980   //
43981   // GetFieldStartOffset()
43982   //
44003   HRESULT GetFieldStartOffset (
44004     [out] aafUInt32 *  pFieldStartOffset);
44005 
44006   //***********************************************************
44007   //
44008   // SetFieldEndOffset()
44009   //
44024   HRESULT SetFieldEndOffset (
44025     [in] aafUInt32  fieldEndOffset);
44026 
44027 
44028   //***********************************************************
44029   //
44030   // GetFieldEndOffset()
44031   //
44052   HRESULT GetFieldEndOffset (
44053     [out] aafUInt32 *  pFieldEndOffset);
44054 
44055   //***********************************************************
44056   //
44057   // SetFieldDominance()
44058   //
44076   HRESULT SetFieldDominance (
44077     [in] aafFieldNumber_t  fieldDominance);
44078 
44079 
44080   //***********************************************************
44081   //
44082   // GetFieldDominance()
44083   //
44104   HRESULT GetFieldDominance (
44105     [out] aafFieldNumber_t *  pFieldDominance);
44106 
44107   //***********************************************************
44108   //
44109   // SetDisplayF2Offset()
44110   //
44128   HRESULT SetDisplayF2Offset (
44129     [in] aafInt32  displayF2Offset);
44130 
44131 
44132   //***********************************************************
44133   //
44134   // GetDisplayF2Offset()
44135   //
44156   HRESULT GetDisplayF2Offset (
44157     [out] aafInt32 *  pDisplayF2Offset);
44158 
44159   //***********************************************************
44160   //
44161   // SetStoredF2Offset()
44162   //
44180   HRESULT SetStoredF2Offset (
44181     [in] aafInt32  storedF2Offset);
44182 
44183 
44184   //***********************************************************
44185   //
44186   // GetStoredF2Offset()
44187   //
44208   HRESULT GetStoredF2Offset (
44209     [out] aafInt32 *  pStoredF2Offset);
44210 
44211   //***********************************************************
44212   //
44213   // SetActiveFormatDescriptor()
44214   //
44229   HRESULT SetActiveFormatDescriptor (
44230     [in] aafUInt8  activeFormatDescriptor);
44231 
44232 
44233   //***********************************************************
44234   //
44235   // GetActiveFormatDescriptor()
44236   //
44257   HRESULT GetActiveFormatDescriptor (
44258     [out] aafUInt8 *  pActiveFormatDescriptor);
44259 
44260   //***********************************************************
44261   //
44262   // SetSignalStandard()
44263   //
44281   HRESULT SetSignalStandard (
44282     [in] aafSignalStandard_t  signalStandard);
44283 
44284 
44285   //***********************************************************
44286   //
44287   // GetSignalStandard()
44288   //
44309   HRESULT GetSignalStandard (
44310     [out] aafSignalStandard_t *  pSignalStandard);
44311 
44312 }
44313 
44314 
44315 
44316 // ************************
44317 //
44318 // Interface IAAFEndian
44319 //
44320 // ************************
44347 [
44348     object,
44349     uuid(6BACC0C1-6091-11D2-841B-00600832ACB8),
44350     helpstring("IAAFEndian Interface"),
44351     pointer_default(unique)
44352 ]
44353 interface IAAFEndian : IUnknown
44354 {
44355 
44356   //***********************************************************
44357   //
44358   // GetStoredByteOrder()
44359   //
44382   HRESULT GetStoredByteOrder (
44383     [out] eAAFByteOrder_t *  pOrder);
44384 
44385 
44386   //***********************************************************
44387   //
44388   // GetNativeByteOrder()
44389   //
44410   HRESULT GetNativeByteOrder (
44411     [out] eAAFByteOrder_t *  pOrder);
44412 }
44413 
44414 
44415 
44416 // ************************
44417 //
44418 // Interface IAAFEssenceDataEx
44419 //
44420 // ************************
44421 
44448 [
44449     object,
44450     uuid(d919d41f-979b-4aba-9785-8ec319dba448),
44451     helpstring("IAAFEssenceDataEx Interface"),
44452     pointer_default(unique)
44453 ]
44454 interface IAAFEssenceDataEx : IUnknown
44455 {
44456 
44457 
44458   //***********************************************************
44459   //
44460   // Initialize()
44461   //
44483   HRESULT Initialize (
44484     [in] IAAFSourceMob * pFileMob);
44485 
44486   //***********************************************************
44487   //
44488   // Write()
44489   //
44496   HRESULT Write (
44497     [in] aafUInt32  bytes,
44498     [out, size_is(bytes)] aafDataBuffer_t  buffer,
44499     [out,ref] aafUInt32 *  bytesWritten);
44500 
44501 
44502   //***********************************************************
44503   //
44504   // Read()
44505   //
44512   HRESULT Read (
44513     [in] aafUInt32  bytes,
44514     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
44515     [out,ref] aafUInt32 *  bytesRead);
44516 
44517 
44518   //***********************************************************
44519   //
44520   // SetPosition()
44521   //
44526   HRESULT SetPosition (
44527     [in] aafPosition_t  offset);
44528 
44529 
44530   //***********************************************************
44531   //
44532   // GetPosition()
44533   //
44538   HRESULT GetPosition (
44539     [out] aafPosition_t*  pOffset);
44540 
44541 
44542   //***********************************************************
44543   //
44544   // GetSize()
44545   //
44550   HRESULT GetSize (
44551     [out] aafLength_t *  pSize );
44552 
44553   //***********************************************************
44554   //
44555   // WriteSampleIndex()
44556   //
44563   HRESULT WriteSampleIndex (
44564     [in] aafUInt32  bytes,
44565     [out, size_is(bytes)] aafDataBuffer_t  buffer,
44566     [out,ref] aafUInt32 *  bytesWritten);
44567 
44568 
44569   //***********************************************************
44570   //
44571   // ReadSampleIndex()
44572   //
44579   HRESULT ReadSampleIndex (
44580     [in] aafUInt32  bytes,
44581     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
44582     [out,ref] aafUInt32 *  bytesRead);
44583 
44584 
44585   //***********************************************************
44586   //
44587   // SetSampleIndexPosition()
44588   //
44593   HRESULT SetSampleIndexPosition (
44594     [in] aafPosition_t  offset);
44595 
44596 
44597   //***********************************************************
44598   //
44599   // GetSampleIndexPosition()
44600   //
44605   HRESULT GetSampleIndexPosition (
44606     [out] aafPosition_t*  pOffset);
44607 
44608 
44609   //***********************************************************
44610   //
44611   // GetSampleIndexSize()
44612   //
44617   HRESULT GetSampleIndexSize (
44618     [out] aafLength_t *  pSize );
44619 
44620 
44621   //***********************************************************
44622   //
44623   // SetFileMob()
44624   //
44646   HRESULT SetFileMob (
44647     [in] IAAFSourceMob * pFileMob);
44648 
44649 
44650   //***********************************************************
44651   //
44652   // GetFileMob()
44653   //
44676   HRESULT GetFileMob (
44677     [in] IAAFSourceMob ** ppFileMob);
44678 
44679 
44680   //***********************************************************
44681   //
44682   // GetFileMobID()
44683   //
44690   HRESULT GetFileMobID (
44691     [out] aafMobID_t *  pFileMobID);
44692 
44693 }
44694 
44695 
44696 
44697 // ************************
44698 //
44699 // Interface IAAFEssenceData2
44700 //
44701 // ************************
44702 
44726 [
44727     object,
44728     uuid(a4b0a376-af63-4620-8ae7-0db819ac4b06),
44729     helpstring("IAAFEssenceData2 Interface"),
44730     pointer_default(unique)
44731 ]
44732 interface IAAFEssenceData2 : IUnknown
44733 {
44734 
44735 
44736   //***********************************************************
44737   //
44738   // Initialize()
44739   //
44761   HRESULT Initialize (
44762     [in] IAAFSourceMob * pFileMob);
44763 
44764   //***********************************************************
44765   //
44766   // Write()
44767   //
44774   HRESULT Write (
44775     [in] aafUInt32  bytes,
44776     [out, size_is(bytes)] aafDataBuffer_t  buffer,
44777     [out,ref] aafUInt32 *  bytesWritten);
44778 
44779 
44780   //***********************************************************
44781   //
44782   // Read()
44783   //
44790   HRESULT Read (
44791     [in] aafUInt32  bytes,
44792     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
44793     [out,ref] aafUInt32 *  bytesRead);
44794 
44795 
44796   //***********************************************************
44797   //
44798   // SetPosition()
44799   //
44804   HRESULT SetPosition (
44805     [in] aafPosition_t  offset);
44806 
44807 
44808   //***********************************************************
44809   //
44810   // GetPosition()
44811   //
44816   HRESULT GetPosition (
44817     [out] aafPosition_t*  pOffset);
44818 
44819 
44820   //***********************************************************
44821   //
44822   // GetSize()
44823   //
44828   HRESULT GetSize (
44829     [out] aafLength_t *  pSize );
44830 
44831   //***********************************************************
44832   //
44833   // WriteSampleIndex()
44834   //
44841   HRESULT WriteSampleIndex (
44842     [in] aafUInt32  bytes,
44843     [out, size_is(bytes)] aafDataBuffer_t  buffer,
44844     [out,ref] aafUInt32 *  bytesWritten);
44845 
44846 
44847   //***********************************************************
44848   //
44849   // ReadSampleIndex()
44850   //
44857   HRESULT ReadSampleIndex (
44858     [in] aafUInt32  bytes,
44859     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
44860     [out,ref] aafUInt32 *  bytesRead);
44861 
44862 
44863   //***********************************************************
44864   //
44865   // SetSampleIndexPosition()
44866   //
44871   HRESULT SetSampleIndexPosition (
44872     [in] aafPosition_t  offset);
44873 
44874 
44875   //***********************************************************
44876   //
44877   // GetSampleIndexPosition()
44878   //
44883   HRESULT GetSampleIndexPosition (
44884     [out] aafPosition_t*  pOffset);
44885 
44886 
44887   //***********************************************************
44888   //
44889   // GetSampleIndexSize()
44890   //
44895   HRESULT GetSampleIndexSize (
44896     [out] aafLength_t *  pSize );
44897 
44898 
44899   //***********************************************************
44900   //
44901   // SetFileMob()
44902   //
44924   HRESULT SetFileMob (
44925     [in] IAAFSourceMob * pFileMob);
44926 
44927 
44928   //***********************************************************
44929   //
44930   // GetFileMob()
44931   //
44954   HRESULT GetFileMob (
44955     [in] IAAFSourceMob ** ppFileMob);
44956 
44957 
44958   //***********************************************************
44959   //
44960   // GetFileMobID()
44961   //
44968   HRESULT GetFileMobID (
44969     [out] aafMobID_t *  pFileMobID);
44970 
44971 
44972   //***********************************************************
44973   //
44974   // GetPlainEssenceData()
44975   //
44977   // the AAFPlainEssenceData interface and provides access to a file
44978   // encoding-independent essence data.
44979   //
44980   // Succeeds if:
44981   // - Initialize() has already been called on this object.
44982   // - pPlainEssenceData is a valid pointer.
44983   // - reserved is 0.
45004   HRESULT GetPlainEssenceData (
45005     [in] aafUInt32  reserved,
45006     [out,retval] IAAFPlainEssenceData ** pPlainEssenceData);
45007 
45008 }
45009 
45010 
45011 
45012 // ************************
45013 //
45014 // Interface IAAFEssenceMultiAccess
45015 //
45016 // ************************
45017 
45038 [
45039     object,
45040     uuid(D815E2B4-2425-11d3-80AD-006008143E6F),
45041     helpstring("IAAFEssenceMultiAccess Interface"),
45042     pointer_default(unique)
45043 ]
45044 interface IAAFEssenceMultiAccess : IUnknown
45045 {
45046 
45047   //***********************************************************
45048   //
45049   // WriteMultiSamples()
45050   //
45074   HRESULT WriteMultiSamples (
45075     [in] aafUInt16  arrayElemCount,
45076     [in,size_is(arrayElemCount)] aafmMultiXfer_t *  xferArray,
45077     [out,size_is(arrayElemCount)] aafmMultiResult_t *  resultArray);
45078 
45079 
45080   //***********************************************************
45081   //
45082   // ReadMultiSamples()
45083   //
45114   HRESULT ReadMultiSamples (
45115     [in] aafUInt16  elemCount,
45116     [in, size_is(elemCount)] aafmMultiXfer_t *  xferArray,
45117     [out, size_is(elemCount)] aafmMultiResult_t *  resultArray);
45118 }
45119 
45120 
45121 
45122 // ************************
45123 //
45124 // Interface IAAFEventMobSlot2
45125 //
45126 // ************************
45127 
45134 
45135 
45140 [
45141     object,
45142     uuid(15375122-ce6c-464d-8ac5-228862e61d08),
45143     helpstring("IAAFEventMobSlot2 Interface"),
45144     pointer_default(unique)
45145 ]
45146 interface IAAFEventMobSlot2 : IUnknown
45147 {
45148 
45149   //***********************************************************
45150   //
45151   // GetEditRate()
45152   //
45173   HRESULT GetEditRate (
45174     [out,retval] aafRational_t *  pEditRate);
45175 
45176 
45177   //***********************************************************
45178   //
45179   // SetEditRate()
45180   //
45201   HRESULT SetEditRate (
45202     [in] aafRational_t *  pEditRate);
45203 
45204   //***********************************************************
45205   //
45206   // GetEventSlotOrigin()
45207   //
45230   HRESULT GetEventSlotOrigin (
45231     [out,retval] aafPosition_t *  pEventSlotOrigin);
45232 
45233 
45234   //***********************************************************
45235   //
45236   // SetEventSlotOrigin()
45237   //
45250   HRESULT SetEventSlotOrigin (
45251     [in] aafPosition_t  eventSlotOrigin);
45252 
45253 
45254 
45255 }
45256 
45257 
45258 
45259 // ************************
45260 //
45261 // Interface IAAFFileDescriptor2
45262 //
45263 // ************************
45285 
45286 
45291 [
45292     object,
45293     uuid(38c1088b-f0f2-47c7-9413-361262ae9f07),
45294     helpstring("IAAFFileDescriptor2 Interface"),
45295     pointer_default(unique)
45296 ]
45297 interface IAAFFileDescriptor2 : IUnknown
45298 {
45299 
45300   //***********************************************************
45301   //
45302   // SetLength()
45303   //
45317   HRESULT SetLength (
45318     [in] aafLength_t  length);
45319 
45320 
45321   //***********************************************************
45322   //
45323   // GetLength()
45324   //
45344   HRESULT GetLength (
45345     [out] aafLength_t *  pLength);
45346 
45347 
45348   //***********************************************************
45349   //
45350   // SetCodecDef()
45351   //
45365   HRESULT SetCodecDef (
45366     [in] IAAFCodecDef * codecDef);
45367 
45368 
45369   //***********************************************************
45370   //
45371   // GetCodecDef()
45372   //
45398   HRESULT GetCodecDef (
45399     [out] IAAFCodecDef ** pCodecDef);
45400 
45401 
45402   //***********************************************************
45403   //
45404   // SetSampleRate()
45405   //
45420   HRESULT SetSampleRate (
45421     [in] aafRational_constref  rate);
45422 
45423 
45424   //***********************************************************
45425   //
45426   // GetSampleRate()
45427   //
45448   HRESULT GetSampleRate (
45449     [out] aafRational_t*  pRate);
45450 
45451 
45452   //***********************************************************
45453   //
45454   // SetContainerFormat()
45455   //
45471   HRESULT SetContainerFormat (
45472     [in] IAAFContainerDef * format);
45473 
45474 
45475   //***********************************************************
45476   //
45477   // GetContainerFormat()
45478   //
45504   HRESULT GetContainerFormat (
45505     [out] IAAFContainerDef ** pFormat);
45506 
45507 
45508   //***********************************************************
45509   //
45510   // SetLinkedSlotID()
45511   //
45527   HRESULT SetLinkedSlotID (
45528     [in] aafUInt32  LinkedSlotID);
45529 
45530 
45531   //***********************************************************
45532   //
45533   // GetLinkedSlotID()
45534   //
45556   HRESULT GetLinkedSlotID (
45557     [out] aafUInt32 *  pLinkedSlotID);
45558 
45559 }
45560 
45561 
45562 
45563 // ************************
45564 //
45565 // Interface IAAFHeader2
45566 //
45567 // ************************
45587 [
45588     object,
45589     uuid(463C0CA0-926B-4BE4-84C1-4455FF5628EE),
45590     helpstring("IAAFHeader2 Interface"),
45591     pointer_default(unique)
45592 ]
45593 interface IAAFHeader2 : IUnknown
45594 {
45595 
45596   //***********************************************************
45597   //
45598   // LookupMob()
45599   //
45625   HRESULT LookupMob (
45626     [in, ref] aafMobID_constref  mobID,
45627     [out,retval] IAAFMob ** ppMob);
45628 
45629 
45630   //***********************************************************
45631   //
45632   // CountMobs()
45633   //
45655   HRESULT CountMobs (
45656     [in] aafMobKind_t  mobKind,
45657     [out, retval] aafNumSlots_t *  pResult);
45658 
45659 
45660   //***********************************************************
45661   //
45662   // GetMobs()
45663   //
45689   HRESULT GetMobs (
45690     [in] aafSearchCrit_t *  pSearchCriteria,
45691     [out, retval] IEnumAAFMobs ** ppEnum);
45692 
45693 
45694   //***********************************************************
45695   //
45696   // AddMob()
45697   //
45722   HRESULT AddMob (
45723     [in] IAAFMob * pMob);
45724 
45725 
45726   //***********************************************************
45727   //
45728   // RemoveMob()
45729   //
45753   HRESULT RemoveMob (
45754     [in] IAAFMob * pMob);
45755 
45756 
45757   //***********************************************************
45758   //
45759   // CountEssenceData()
45760   //
45782   HRESULT CountEssenceData (
45783     [out, retval] aafUInt32 *  pResult);
45784 
45785 
45786   //***********************************************************
45787   //
45788   // IsEssenceDataPresent()
45789   //
45811   HRESULT IsEssenceDataPresent (
45812     [in, ref] aafMobID_constref  fileMobID,
45813     [in] aafFileFormat_t  fmt,
45814     [out,retval] aafBoolean_t *  pResult);
45815 
45816 
45817   //***********************************************************
45818   //
45819   // EnumEssenceData()
45820   //
45843   HRESULT EnumEssenceData (
45844     [out,retval] IEnumAAFEssenceData ** ppEnum);
45845 
45846 
45847   //***********************************************************
45848   //
45849   // AddEssenceData()
45850   //
45876   HRESULT AddEssenceData (
45877     [in] IAAFEssenceData * pEssenceData);
45878 
45879   //***********************************************************
45880   //
45881   // RemoveEssenceData()
45882   //
45906   HRESULT RemoveEssenceData (
45907     [in] IAAFEssenceData * pEssenceData);
45908 
45909   //***********************************************************
45910   //
45911   // LookupEssenceData()
45912   //
45938   HRESULT LookupEssenceData (
45939     [in, ref] aafMobID_constref  mobID,
45940     [out,retval] IAAFEssenceData ** ppEssenceData);
45941 
45942   //***********************************************************
45943   //
45944   // GetDictionary()
45945   //
45968   HRESULT GetDictionary (
45969     [out, retval] IAAFDictionary ** ppDictionary);
45970 
45971 
45972   //***********************************************************
45973   //
45974   // GetLastIdentification()
45975   //
45997   HRESULT GetLastIdentification (
45998     [out,retval] IAAFIdentification ** ppIdentification);
45999 
46000 
46001   //***********************************************************
46002   //
46003   // LookupIdentification()
46004   //
46031   HRESULT LookupIdentification (
46032     [in, ref] aafUID_constref  generation,
46033     [out,retval] IAAFIdentification ** ppIdentification);
46034 
46035 
46036   //***********************************************************
46037   //
46038   // CountIdentifications()
46039   //
46060   HRESULT CountIdentifications (
46061     [out, retval] aafUInt32 *  pResult);
46062 
46063 
46064   //***********************************************************
46065   //
46066   // GetIdentifications()
46067   //
46091   HRESULT GetIdentifications (
46092     [out,retval] IEnumAAFIdentifications ** ppEnum);
46093 
46094 
46095   //***********************************************************
46096   //
46097   // AppendIdentification()
46098   //
46121   HRESULT AppendIdentification (
46122     [in] IAAFIdentification * pIdent);
46123 
46124 
46125   //***********************************************************
46126   //
46127   // GetIdentificationAt()
46128   //
46152   HRESULT GetIdentificationAt (
46153     [in] aafUInt32  index,
46154     [out, retval] IAAFIdentification ** ppIdentification);
46155 
46156 
46157   //***********************************************************
46158   //
46159   // GetRefImplVersion()
46160   //
46181   HRESULT GetRefImplVersion (
46182     [out, retval] aafProductVersion_t *  pVersion);
46183 
46184 
46185   //***********************************************************
46186   //
46187   // GetFileRevision()
46188   //
46210   HRESULT GetFileRevision (
46211     [out, retval] aafVersionType_t *  pRevision);
46212 
46213 
46214   //***********************************************************
46215   //
46216   // GetLastModified()
46217   //
46239   HRESULT GetLastModified (
46240     [out, retval] aafTimeStamp_t *  pTimeStamp);
46241 
46242 
46243   //***********************************************************
46244   //
46245   // GetContentStorage()
46246   //
46271   HRESULT GetContentStorage (
46272     [out] IAAFContentStorage ** ppStorage);
46273 
46274 
46275   //***********************************************************
46276   //
46277   // GetPrimaryMob()
46278   //
46303   HRESULT GetPrimaryMob (
46304     [out, retval] IAAFMob ** pPrimaryMob);
46305 
46306 
46307   //***********************************************************
46308   //
46309   // SetPrimaryMob()
46310   //
46328   HRESULT SetPrimaryMob (
46329     [in] IAAFMob * pPrimaryMob);
46330 
46331 
46332   //***********************************************************
46333   //
46334   // GetOperationalPattern()
46335   //
46360   HRESULT GetOperationalPattern (
46361     [out] aafUID_t *  pOperationalPatternID);
46362 
46363 
46364   //***********************************************************
46365   //
46366   // SetOperationalPattern()
46367   //
46382   HRESULT SetOperationalPattern (
46383     [in] aafUID_constref  operationalPatternID);
46384 
46385 
46386   //***********************************************************
46387   //
46388   // UpdateEssenceContainers()
46389   //
46405   HRESULT UpdateEssenceContainers ();
46406 
46407 
46408   //***********************************************************
46409   //
46410   // CountEssenceContainers()
46411   //
46435   HRESULT CountEssenceContainers (
46436     [out, retval] aafUInt32*  pCount);
46437 
46438 
46439   //***********************************************************
46440   //
46441   // GetEssenceContainers()
46442   //
46475   HRESULT GetEssenceContainers (
46476     [in] aafUInt32  maxEssenceContainersCount,
46477     [out, size_is(maxEssenceContainersCount)] aafUID_t *  pEssenceContainerIDs);
46478 
46479 
46480   //***********************************************************
46481   //
46482   // IsEssenceContainerPresent()
46483   //
46508   HRESULT IsEssenceContainerPresent (
46509     [in, ref] aafUID_constref  essenceContainerID,
46510     [out,retval] aafBoolean_t*  pIsPresent);
46511 
46512 
46513   //***********************************************************
46514   //
46515   // CountDescriptiveSchemes()
46516   //
46540   HRESULT CountDescriptiveSchemes (
46541     [out, retval] aafUInt32*  pCount);
46542 
46543 
46544   //***********************************************************
46545   //
46546   // GetDescriptiveSchemes()
46547   //
46580   HRESULT GetDescriptiveSchemes (
46581     [in] aafUInt32  maxDescriptiveSchemesCount,
46582     [out, size_is(maxDescriptiveSchemesCount)] aafUID_t *  pDescriptiveSchemeIDs);
46583 
46584 
46585   //***********************************************************
46586   //
46587   // IsDescriptiveSchemePresent()
46588   //
46614   HRESULT IsDescriptiveSchemePresent (
46615     [in, ref] aafUID_constref  descriptiveSchemeID,
46616     [out,retval] aafBoolean_t*  pIsPresent);
46617 
46618 
46619   //***********************************************************
46620   //
46621   // AddDescriptiveScheme()
46622   //
46644   HRESULT AddDescriptiveScheme (
46645     [in] aafUID_constref  descriptiveSchemeID);
46646 
46647 
46648   //***********************************************************
46649   //
46650   // RemoveDescriptiveScheme()
46651   //
46676   HRESULT RemoveDescriptiveScheme (
46677     [in] aafUID_constref  descriptiveSchemeID);
46678 
46679 }
46680 
46681 
46682 
46683 // ************************
46684 //
46685 // Interface IAAFKLVEssenceDataParameters
46686 //
46687 // ************************
46697 
46698 
46699 [
46700     object,
46701     uuid(cc2af9ae-edad-4b30-9e3e-5ba692380a84),
46702     helpstring("IAAFKLVEssenceDataParameters Interface"),
46703     pointer_default(unique)
46704 ]
46705 interface IAAFKLVEssenceDataParameters : IUnknown
46706 {
46707 
46708 
46709   //***********************************************************
46710   //
46711   // GetEssenceElementKey()
46712   //
46740   HRESULT GetEssenceElementKey (
46741     [out] aafUID_t *  pEssenceElementKey);
46742 
46743 
46744   //***********************************************************
46745   //
46746   // SetEssenceElementKey()
46747   //
46770   HRESULT SetEssenceElementKey (
46771     [in, ref] aafUID_constref  key);
46772 
46773 }
46774 
46775 
46776 
46777 // ************************
46778 //
46779 // Interface IAAFKLVStreamParameters
46780 //
46781 // ************************
46791 [
46792     object,
46793     uuid(379d9d03-4a5f-4399-a105-5ae6e17d9e59),
46794     helpstring("IAAFKLVStreamParameters Interface"),
46795     pointer_default(unique)
46796 ]
46797 interface IAAFKLVStreamParameters : IUnknown
46798 {
46799 
46800 
46801   //***********************************************************
46802   //
46803   // GetEssenceElementKey()
46804   //
46834   HRESULT GetEssenceElementKey (
46835     [in] IAAFPropertyValue * pStreamPropertyValue,
46836     [out] aafUID_t *  pEssenceElementKey);
46837 
46838 
46839   //***********************************************************
46840   //
46841   // SetEssenceElementKey()
46842   //
46870   HRESULT SetEssenceElementKey (
46871     [in] IAAFPropertyValue * pStreamPropertyValue,
46872     [in, ref] aafUID_constref  key);
46873 
46874 }
46875 
46876 
46877 
46878 // ************************
46879 //
46880 // Interface IAAFMasterMob2
46881 //
46882 // ************************
46902 [
46903     object,
46904     uuid(afcffd2c-279b-466f-a496-55cbdcc17531),
46905     helpstring("IAAFMasterMob2 Interface"),
46906     pointer_default(unique)
46907 ]
46908 interface IAAFMasterMob2 : IUnknown
46909 {
46910 
46911 
46912 
46913   //***********************************************************
46914   //
46915   // Initialize()
46916   //
46934   HRESULT Initialize ();
46935 
46936 
46937   //***********************************************************
46938   //
46939   // AddMasterSlot()
46940   //
46990   HRESULT AddMasterSlot (
46991     [in] IAAFDataDef * pDataDef,
46992     [in] aafSlotID_t  sourceSlotID,
46993     [in] IAAFSourceMob * pSourceMob,
46994     [in] aafSlotID_t  masterSlotID,
46995     [in, string] aafCharacter_constptr  pSlotName);
46996 
46997 
46998   //***********************************************************
46999   //
47000   // GetTapeName()
47001   //
47047   HRESULT GetTapeName (
47048     [in] aafUInt32  masterSlotID,
47049     [out, size_is(bufSize), string] aafCharacter *  pTapeName,
47050     [in] aafUInt32  bufSize);
47051 
47052 
47053   //***********************************************************
47054   //
47055   // GetTapeNameBufLen()
47056   //
47089   HRESULT GetTapeNameBufLen (
47090     [in] aafUInt32  masterSlotID,
47091     [out] aafUInt32 *  pLen);
47092 
47093 
47094   //***********************************************************
47095   //
47096   // GetNumRepresentations()
47097   //
47131   HRESULT GetNumRepresentations (
47132     [in] aafSlotID_t  slotID,
47133     [out, retval] aafNumSlots_t *  pNumReps);
47134 
47135 
47136   //***********************************************************
47137   //
47138   // GetRepresentation()
47139   //
47181   HRESULT GetRepresentation (
47182     [in] aafSlotID_t  slotID,
47183     [in] aafUInt32  index,
47184     [out] IAAFSegment ** ppSourceClip);
47185 
47186 
47187   //***********************************************************
47188   //
47189   // GetCriteriaSegment()
47190   //
47239   HRESULT GetCriteriaSegment (
47240     [in] aafSlotID_t  slotID,
47241     [in] aafMediaCriteria_t *  pCriteria,
47242     [out] IAAFSegment ** ppSegment);
47243 
47244 
47245   //***********************************************************
47246   //
47247   // AppendPhysSourceRef()
47248   //
47293   HRESULT AppendPhysSourceRef (
47294     [in] aafRational_t  editrate,
47295     [in] aafSlotID_t  aMobSlot,
47296     [in] IAAFDataDef * pEssenceKind,
47297     [in] aafSourceRef_t  ref,
47298     [in] aafLength_t  srcRefLength);
47299 
47300 
47301   //***********************************************************
47302   //
47303   // NewPhysSourceRef()
47304   //
47349   HRESULT NewPhysSourceRef (
47350     [in] aafRational_t  editrate,
47351     [in] aafSlotID_t  aMobSlot,
47352     [in] IAAFDataDef * pEssenceKind,
47353     [in] aafSourceRef_t  ref,
47354     [in] aafLength_t  srcRefLength);
47355 
47356 
47357   //***********************************************************
47358   //
47359   // CreateEssence()
47360   //
47386   HRESULT CreateEssence (
47387     [in] aafSlotID_t  masterSlotID,
47388     [in] IAAFDataDef * pMediaKind,
47389     [in, ref] aafUID_constref  codecID,
47390     [in] aafRational_t  editRate,
47391     [in] aafRational_t  samplerate,
47392     [in] aafCompressEnable_t  Enable,
47393     [in] IAAFLocator * destination,
47394     [in, ref] aafUID_constref  fileFormat,
47395     [out] IAAFEssenceAccess ** access);
47396 
47397 
47398   //***********************************************************
47399   //
47400   // CreateMultiEssence()
47401   //
47417   HRESULT CreateMultiEssence (
47418     [in, ref] aafUID_constref  codecID,
47419     [in] aafUInt16  arrayElemCount,
47420     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
47421     [in] aafCompressEnable_t  Enable,
47422     [in] IAAFLocator * destination,
47423     [in, ref] aafUID_constref  fileFormat,
47424     [out] IAAFEssenceMultiAccess**  access);
47425 
47426 
47427   //***********************************************************
47428   //
47429   // OpenEssence()
47430   //
47451   HRESULT OpenEssence (
47452     [in] aafSlotID_t  slotID,
47453     [in] aafMediaCriteria_t*  mediaCrit,
47454     [in] aafMediaOpenMode_t  openMode,
47455     [in] aafCompressEnable_t  compEnable,
47456     [out] IAAFEssenceAccess ** access);
47457         
47458 
47459   //***********************************************************
47460   //
47461   // OpenMultiEssence()
47462   //
47477   HRESULT OpenMultiEssence (
47478     [in] aafSlotID_t  slotID,
47479     [in] aafMediaCriteria_t*  mediaCrit,
47480     [in] aafMediaOpenMode_t  openMode,
47481     [in] aafCompressEnable_t  compEnable,
47482     [out] IAAFEssenceMultiAccess**  access);
47483 
47484 
47485   //***********************************************************
47486   //
47487   // CountChannels()
47488   //
47505   HRESULT CountChannels (
47506     [in] aafSlotID_t  slotID,
47507     [in] aafMediaCriteria_t*  mediaCrit,
47508     [in] IAAFDataDef * pMediaKind,
47509     [out] aafUInt16*  numCh);
47510 
47511 
47512 
47513 
47514   //***********************************************************
47515   //
47516   // ExtendEssence()
47517   //
47535   HRESULT ExtendEssence (
47536     [in] aafSlotID_t  masterSlotID,
47537     [in] IAAFDataDef * pMediaKind,
47538     [in, ref] aafUID_constref  codecID,
47539     [in] aafRational_t  editRate,
47540     [in] aafRational_t  samplerate,
47541     [in] aafCompressEnable_t  Enable,
47542     [in] IAAFLocator * destination,
47543     [in, ref] aafUID_constref  fileFormat,
47544     [out] IAAFEssenceAccess ** access);
47545 
47546 
47547   //***********************************************************
47548   //
47549   // ExtendMultiEssence()
47550   //
47566   HRESULT ExtendMultiEssence (
47567     [in, ref] aafUID_constref  codecID,
47568     [in] aafUInt16  arrayElemCount,
47569     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
47570     [in] aafCompressEnable_t  Enable,
47571     [in] IAAFLocator * destination,
47572     [in, ref] aafUID_constref  fileFormat,
47573     [out] IAAFEssenceMultiAccess**  access);
47574 
47575 
47576   //***********************************************************
47577   //
47578   // CreateStaticEssence()
47579   //
47590   HRESULT CreateStaticEssence (
47591     [in] aafSlotID_t  masterSlotID,
47592     [in] IAAFDataDef * pMediaKind,
47593     [in, ref] aafUID_constref  codecID,
47594     [in] aafCompressEnable_t  Enable,
47595     [in] IAAFLocator * destination,
47596     [in, ref] aafUID_constref  fileFormat,
47597     [out] IAAFEssenceAccess ** access);
47605 
47606 
47607   //***********************************************************
47608   //
47609   // CreateEventEssence()
47610   //
47623   HRESULT CreateEventEssence (
47624     [in] aafSlotID_t  masterSlotID,
47625     [in] IAAFDataDef * pMediaKind,
47626     [in, ref] aafUID_constref  codecID,
47627     [in] aafRational_t  editRate,
47628     [in] aafRational_t  samplerate,
47629     [in] aafCompressEnable_t  Enable,
47630     [in] IAAFLocator * destination,
47631     [in, ref] aafUID_constref  fileFormat,
47632     [out] IAAFEssenceAccess ** access);
47641 
47642 }
47643 
47644 
47645 
47646 
47647 // ************************
47648 //
47649 // Interface IAAFMasterMob3
47650 //
47651 // ************************
47671 [
47672     object,
47673     uuid(988af5ac-57d8-47b7-9b0f-239971161939),
47674     helpstring("IAAFMasterMob3 Interface"),
47675     pointer_default(unique)
47676 ]
47677 interface IAAFMasterMob3 : IUnknown
47678 {
47679 
47680 
47681 
47682   //***********************************************************
47683   //
47684   // Initialize()
47685   //
47703   HRESULT Initialize ();
47704 
47705 
47706   //***********************************************************
47707   //
47708   // AddMasterSlot()
47709   //
47759   HRESULT AddMasterSlot (
47760     [in] IAAFDataDef * pDataDef,
47761     [in] aafSlotID_t  sourceSlotID,
47762     [in] IAAFSourceMob * pSourceMob,
47763     [in] aafSlotID_t  masterSlotID,
47764     [in, string] aafCharacter_constptr  pSlotName);
47765 
47766 
47767   //***********************************************************
47768   //
47769   // GetTapeName()
47770   //
47816   HRESULT GetTapeName (
47817     [in] aafUInt32  masterSlotID,
47818     [out, size_is(bufSize), string] aafCharacter *  pTapeName,
47819     [in] aafUInt32  bufSize);
47820 
47821 
47822   //***********************************************************
47823   //
47824   // GetTapeNameBufLen()
47825   //
47858   HRESULT GetTapeNameBufLen (
47859     [in] aafUInt32  masterSlotID,
47860     [out] aafUInt32 *  pLen);
47861 
47862 
47863   //***********************************************************
47864   //
47865   // GetNumRepresentations()
47866   //
47900   HRESULT GetNumRepresentations (
47901     [in] aafSlotID_t  slotID,
47902     [out, retval] aafNumSlots_t *  pNumReps);
47903 
47904 
47905   //***********************************************************
47906   //
47907   // GetRepresentation()
47908   //
47950   HRESULT GetRepresentation (
47951     [in] aafSlotID_t  slotID,
47952     [in] aafUInt32  index,
47953     [out] IAAFSegment ** ppSourceClip);
47954 
47955 
47956   //***********************************************************
47957   //
47958   // GetCriteriaSegment()
47959   //
48008   HRESULT GetCriteriaSegment (
48009     [in] aafSlotID_t  slotID,
48010     [in] aafMediaCriteria_t *  pCriteria,
48011     [out] IAAFSegment ** ppSegment);
48012 
48013 
48014   //***********************************************************
48015   //
48016   // AppendPhysSourceRef()
48017   //
48062   HRESULT AppendPhysSourceRef (
48063     [in] aafRational_t  editrate,
48064     [in] aafSlotID_t  aMobSlot,
48065     [in] IAAFDataDef * pEssenceKind,
48066     [in] aafSourceRef_t  ref,
48067     [in] aafLength_t  srcRefLength);
48068 
48069 
48070   //***********************************************************
48071   //
48072   // NewPhysSourceRef()
48073   //
48118   HRESULT NewPhysSourceRef (
48119     [in] aafRational_t  editrate,
48120     [in] aafSlotID_t  aMobSlot,
48121     [in] IAAFDataDef * pEssenceKind,
48122     [in] aafSourceRef_t  ref,
48123     [in] aafLength_t  srcRefLength);
48124 
48125 
48126   //***********************************************************
48127   //
48128   // CreateEssence()
48129   //
48155   HRESULT CreateEssence (
48156     [in] aafSlotID_t  masterSlotID,
48157     [in] IAAFDataDef * pMediaKind,
48158     [in, ref] aafUID_constref  codecID,
48159     [in] aafRational_t  editRate,
48160     [in] aafRational_t  samplerate,
48161     [in] aafCompressEnable_t  Enable,
48162     [in] IAAFLocator * destination,
48163     [in, ref] aafUID_constref  fileFormat,
48164     [out] IAAFEssenceAccess ** access);
48165 
48166 
48167   //***********************************************************
48168   //
48169   // CreateMultiEssence()
48170   //
48186   HRESULT CreateMultiEssence (
48187     [in, ref] aafUID_constref  codecID,
48188     [in] aafUInt16  arrayElemCount,
48189     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
48190     [in] aafCompressEnable_t  Enable,
48191     [in] IAAFLocator * destination,
48192     [in, ref] aafUID_constref  fileFormat,
48193     [out] IAAFEssenceMultiAccess**  access);
48194 
48195 
48196   //***********************************************************
48197   //
48198   // OpenEssence()
48199   //
48220   HRESULT OpenEssence (
48221     [in] aafSlotID_t  slotID,
48222     [in] aafMediaCriteria_t*  mediaCrit,
48223     [in] aafMediaOpenMode_t  openMode,
48224     [in] aafCompressEnable_t  compEnable,
48225     [out] IAAFEssenceAccess ** access);
48226         
48227 
48228   //***********************************************************
48229   //
48230   // OpenMultiEssence()
48231   //
48246   HRESULT OpenMultiEssence (
48247     [in] aafSlotID_t  slotID,
48248     [in] aafMediaCriteria_t*  mediaCrit,
48249     [in] aafMediaOpenMode_t  openMode,
48250     [in] aafCompressEnable_t  compEnable,
48251     [out] IAAFEssenceMultiAccess**  access);
48252 
48253 
48254   //***********************************************************
48255   //
48256   // CountChannels()
48257   //
48274   HRESULT CountChannels (
48275     [in] aafSlotID_t  slotID,
48276     [in] aafMediaCriteria_t*  mediaCrit,
48277     [in] IAAFDataDef * pMediaKind,
48278     [out] aafUInt16*  numCh);
48279 
48280 
48281 
48282 
48283   //***********************************************************
48284   //
48285   // ExtendEssence()
48286   //
48304   HRESULT ExtendEssence (
48305     [in] aafSlotID_t  masterSlotID,
48306     [in] IAAFDataDef * pMediaKind,
48307     [in, ref] aafUID_constref  codecID,
48308     [in] aafRational_t  editRate,
48309     [in] aafRational_t  samplerate,
48310     [in] aafCompressEnable_t  Enable,
48311     [in] IAAFLocator * destination,
48312     [in, ref] aafUID_constref  fileFormat,
48313     [out] IAAFEssenceAccess ** access);
48314 
48315 
48316   //***********************************************************
48317   //
48318   // ExtendMultiEssence()
48319   //
48335   HRESULT ExtendMultiEssence (
48336     [in, ref] aafUID_constref  codecID,
48337     [in] aafUInt16  arrayElemCount,
48338     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
48339     [in] aafCompressEnable_t  Enable,
48340     [in] IAAFLocator * destination,
48341     [in, ref] aafUID_constref  fileFormat,
48342     [out] IAAFEssenceMultiAccess**  access);
48343 
48344 
48345   //***********************************************************
48346   //
48347   // CreateStaticEssence()
48348   //
48359   HRESULT CreateStaticEssence (
48360     [in] aafSlotID_t  masterSlotID,
48361     [in] IAAFDataDef * pMediaKind,
48362     [in, ref] aafUID_constref  codecID,
48363     [in] aafCompressEnable_t  Enable,
48364     [in] IAAFLocator * destination,
48365     [in, ref] aafUID_constref  fileFormat,
48366     [out] IAAFEssenceAccess ** access);
48374 
48375 
48376   //***********************************************************
48377   //
48378   // CreateEventEssence()
48379   //
48392   HRESULT CreateEventEssence (
48393     [in] aafSlotID_t  masterSlotID,
48394     [in] IAAFDataDef * pMediaKind,
48395     [in, ref] aafUID_constref  codecID,
48396     [in] aafRational_t  editRate,
48397     [in] aafRational_t  samplerate,
48398     [in] aafCompressEnable_t  Enable,
48399     [in] IAAFLocator * destination,
48400     [in, ref] aafUID_constref  fileFormat,
48401     [out] IAAFEssenceAccess ** access);
48410 
48411 
48412   //***********************************************************
48413   //
48414   // AddMasterSlotWithSequence()
48415   //
48467   HRESULT AddMasterSlotWithSequence (
48468     [in] IAAFDataDef * pDataDef,
48469     [in] aafSlotID_t  sourceSlotID,
48470     [in] IAAFSourceMob * pSourceMob,
48471     [in] aafSlotID_t  masterSlotID,
48472     [in, string] aafCharacter_constptr  pSlotName);
48473 
48474 }
48475 
48476 
48477 
48478 
48479 // ************************
48480 //
48481 // Interface IAAFMasterMobEx
48482 //
48483 // ************************
48523 [
48524     object,
48525     uuid(b1a21370-1a7d-11d2-bf78-00104bc9156d ),
48526     helpstring("IAAFMasterMobEx Interface"),
48527     pointer_default(unique)
48528 ]
48529 interface IAAFMasterMobEx : IUnknown
48530 {
48531 
48532 
48533   //***********************************************************
48534   //
48535   // ExtendEssence()
48536   //
48554   HRESULT ExtendEssence (
48555     [in] aafSlotID_t  masterSlotID,
48556     [in] IAAFDataDef * pMediaKind,
48557     [in, ref] aafUID_constref  codecID,
48558     [in] aafRational_t  editRate,
48559     [in] aafRational_t  samplerate,
48560     [in] aafCompressEnable_t  Enable,
48561     [in] IAAFLocator * destination,
48562     [in, ref] aafUID_constref  fileFormat,
48563     [out] IAAFEssenceAccess ** access);
48564 
48565 
48566   //***********************************************************
48567   //
48568   // ExtendMultiEssence()
48569   //
48585   HRESULT ExtendMultiEssence (
48586     [in, ref] aafUID_constref  codecID,
48587     [in] aafUInt16  arrayElemCount,
48588     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
48589     [in] aafCompressEnable_t  Enable,
48590     [in] IAAFLocator * destination,
48591     [in, ref] aafUID_constref  fileFormat,
48592     [out] IAAFEssenceMultiAccess**  access);
48593 
48594 }
48595 
48596 
48597 
48598 // ************************
48599 //
48600 // Interface IAAFMob2
48601 //
48602 // ************************
48627 [
48628     object,
48629     uuid(a94fdb8b-451f-4d62-ac17-16950344832e),
48630     helpstring("IAAFMob2 Interface"),
48631     pointer_default(unique)
48632 ]
48633 interface IAAFMob2 : IUnknown
48634 {
48635 
48636 
48637 
48638 
48639 
48640 
48641 
48642 
48643   //***********************************************************
48644   //
48645   // GetMobID()
48646   //
48666   HRESULT GetMobID (
48667     [out] aafMobID_t *  pMobID);
48668 
48669 
48670   //***********************************************************
48671   //
48672   // SetMobID()
48673   //
48689   HRESULT SetMobID (
48690     [in, ref] aafMobID_constref  mobID);
48691 
48692 
48693   //***********************************************************
48694   //
48695   // SetName()
48696   //
48725   HRESULT SetName (
48726     [in, string] aafCharacter_constptr  pName);
48727 
48728 
48729   //***********************************************************
48730   //
48731   // GetName()
48732   //
48770   HRESULT GetName (
48771     [out, string, size_is(bufSize)] aafCharacter *  pName,
48772     [in] aafUInt32  bufSize);
48773 
48774 
48775   //***********************************************************
48776   //
48777   // GetNameBufLen()
48778   //
48796   HRESULT GetNameBufLen (
48797     [out] aafUInt32 *  pBufSize);
48798 
48799 
48800   //***********************************************************
48801   //
48802   // CountSlots()
48803   //
48823   HRESULT CountSlots (
48824     [out] aafNumSlots_t *  pNumSlots);
48825 
48826 
48827   //***********************************************************
48828   //
48829   // AppendSlot()
48830   //
48850   HRESULT AppendSlot (
48851     [in] IAAFMobSlot * pSlot);
48852 
48853 
48854   //***********************************************************
48855   //
48856   // PrependSlot()
48857   //
48877   HRESULT PrependSlot (
48878     [in] IAAFMobSlot * pSlot);
48879 
48880 
48881   //***********************************************************
48882   //
48883   // InsertSlotAt()
48884   //
48912   HRESULT InsertSlotAt (
48913     [in] aafUInt32  index,
48914     [in] IAAFMobSlot * pSlot);
48915 
48916 
48917   //***********************************************************
48918   //
48919   // RemoveSlotAt()
48920   //
48943   HRESULT RemoveSlotAt (
48944     [in] aafUInt32  index);
48945 
48946 
48947   //***********************************************************
48948   //
48949   // GetSlotAt()
48950   //
48976   HRESULT GetSlotAt (
48977     [in] aafUInt32  index,
48978     [out, retval] IAAFMobSlot ** ppSlot);
48979 
48980 
48981   //***********************************************************
48982   //
48983   // GetSlots()
48984   //
49005   HRESULT GetSlots (
49006     [out] IEnumAAFMobSlots ** ppEnum);
49007 
49008 
49009   //***********************************************************
49010   //
49011   // GetModTime()
49012   //
49032   HRESULT GetModTime (
49033     [out] aafTimeStamp_t *  pLastModified);
49034 
49035 
49036   //***********************************************************
49037   //
49038   // SetModTime()
49039   //
49058   HRESULT SetModTime (
49059     [in, ref] aafTimeStamp_constref  modTime);
49060 
49061 
49062   //***********************************************************
49063   //
49064   // GetCreateTime()
49065   //
49085   HRESULT GetCreateTime (
49086     [out] aafTimeStamp_t *  pCreationTime);
49087 
49088 
49089   //***********************************************************
49090   //
49091   // SetCreateTime()
49092   //
49110   HRESULT SetCreateTime (
49111     [in, ref] aafTimeStamp_constref  createTime);
49112 
49113 
49114   //***********************************************************
49115   //
49116   // AppendComment()
49117   //
49141   HRESULT AppendComment (
49142     [in,string] aafCharacter *  pCategory,
49143     [in, string] aafCharacter_constptr  pComment);
49144 
49145 
49146   //***********************************************************
49147   //
49148   // CountComments()
49149   //
49169   HRESULT CountComments (
49170     [out] aafUInt32 *  pNumComments);
49171 
49172 
49173   //***********************************************************
49174   //
49175   // GetComments()
49176   //
49199   HRESULT GetComments (
49200     [out] IEnumAAFTaggedValues ** ppEnum);
49201 
49202 
49203   //***********************************************************
49204   //
49205   // RemoveComment()
49206   //
49230   HRESULT RemoveComment (
49231     [in] IAAFTaggedValue * pComment);
49232 
49233 
49234   //***********************************************************
49235   //
49236   // AppendNewTimelineSlot()
49237   //
49267   HRESULT AppendNewTimelineSlot (
49268     [in] aafRational_t  editRate,
49269     [in] IAAFSegment * pSegment,
49270     [in] aafSlotID_t  slotID,
49271     [in, string] aafCharacter_constptr  pSlotName,
49272     [in] aafPosition_t  origin,
49273     [out] IAAFTimelineMobSlot ** ppNewSlot);
49274 
49275 
49276   //***********************************************************
49277   //
49278   // GetMobInfo()
49279   //
49311   HRESULT GetMobInfo (
49312     [out] aafTimeStamp_t *  pLastModified,
49313     [out] aafTimeStamp_t *  pCreationTime,
49314     [out, size_is(bufSize), string] aafCharacter *  pName,
49315     [in] aafInt32  bufSize);
49316 
49317 
49318   //***********************************************************
49319   //
49320   // OffsetToMobTimecode()
49321   //
49352   HRESULT OffsetToMobTimecode (
49353     [in] IAAFSegment * pTcSeg,
49354     [in] aafPosition_t *  pOffset,
49355     [out] aafTimecode_t *  pResult);
49356 
49357 
49358   //***********************************************************
49359   //
49360   // LookupSlot()
49361   //
49385   HRESULT LookupSlot (
49386     [in] aafSlotID_t  slotId,
49387     [out] IAAFMobSlot ** ppDestSlot);
49388 
49389 
49390   //***********************************************************
49391   //
49392   // ChangeRef()
49393   //
49414   HRESULT ChangeRef (
49415     [in, ref] aafMobID_constref  oldMobID,
49416     [in, ref] aafMobID_constref  newMobID);
49417 
49418 
49419   //***********************************************************
49420   //
49421   // CloneExternal()
49422   //
49463   HRESULT CloneExternal (
49464     [in] aafDepend_t  resolveDependencies,
49465     [in] aafIncMedia_t  includeMedia,
49466     [in] IAAFFile * pDestFile,
49467     [out] IAAFMob ** ppDestMob);
49468 
49469 
49470   //***********************************************************
49471   //
49472   // Copy()
49473   //
49503   HRESULT Copy (
49504     [in, string] aafCharacter_constptr  pDestMobName,
49505     [out] IAAFMob ** ppDestMob);
49507 
49508   //***********************************************************
49509   //
49510   // AppendKLVData()
49511   //
49532   HRESULT AppendKLVData (
49533     [in] IAAFKLVData * pData);
49534 
49535 
49536   //***********************************************************
49537   //
49538   // CountKLVData()
49539   //
49559   HRESULT CountKLVData (
49560     [out] aafUInt32 *  pNumData);
49561 
49562 
49563   //***********************************************************
49564   //
49565   // GetKLVData()
49566   //
49588   HRESULT GetKLVData (
49589     [out] IEnumAAFKLVData ** ppEnum);
49590 
49591 
49592   //***********************************************************
49593   //
49594   // RemoveKLVData()
49595   //
49619   HRESULT RemoveKLVData (
49620     [in] IAAFKLVData * pData);
49621 
49622 
49623   //***********************************************************
49624   //
49625   // AppendAttribute()
49626   //
49645   HRESULT AppendAttribute (
49646     [in] aafCharacter_constptr  pName,
49647     [in] aafCharacter_constptr  pValue);
49648 
49649   //***********************************************************
49650   //
49651   // CountAttributes()
49652   //
49667   HRESULT CountAttributes (
49668     [out] aafUInt32*  pNumAttributes);
49669   
49670 
49671   //***********************************************************
49672   //
49673   // GetAttributes()
49674   //
49692   HRESULT GetAttributes (
49693     [out] IEnumAAFTaggedValues ** ppEnum);
49694 
49695 
49696   //***********************************************************
49697   //
49698   // RemoveAttribute()
49699   //
49714   HRESULT RemoveAttribute (
49715     [in] IAAFTaggedValue * pAttribute);
49716         
49717   //***********************************************************
49718   //
49719   // SetUsageCode()
49720   //
49730   HRESULT SetUsageCode (
49731     [in] aafUID_constref  usageCode);
49732 
49733   //***********************************************************
49734   //
49735   // GetUsageCode()
49736   //
49756   HRESULT GetUsageCode (
49757     [out] aafUID_t*  pUsageCode);
49758 
49759 
49760   //***********************************************************
49761   //
49762   // AppendNewStaticSlot()
49763   //
49791   HRESULT AppendNewStaticSlot (
49792     [in] IAAFSegment * pSegment,
49793     [in] aafSlotID_t  slotID,
49794     [in, string] aafCharacter_constptr  pSlotName,
49795     [out] IAAFStaticMobSlot ** ppNewSlot);
49796 
49797 
49798   //***********************************************************
49799   //
49800   // AppendNewEventSlot()
49801   //
49831   HRESULT AppendNewEventSlot (
49832     [in] aafRational_t  editRate,
49833     [in] IAAFSegment * pSegment,
49834     [in] aafSlotID_t  slotID,
49835     [in, string] aafCharacter_constptr  pSlotName,
49836     [in] aafPosition_t  origin,
49837     [out] IAAFEventMobSlot ** ppNewSlot);
49838              
49839 
49840 }
49841 
49842 
49843 
49844 // ************************
49845 //
49846 // Interface IAAFProgress
49847 //
49848 // ************************
49859 
49860 
49861 [
49862     object,
49863     uuid(8E7B0F14-A759-416a-98FD-346242D5081F),
49864     helpstring("IAAFProgress Interface"),
49865     pointer_default(unique)
49866 ]
49867 
49868 interface IAAFProgress : IUnknown
49869 {
49870 
49871 
49872   //***********************************************************
49873   //
49874   // ProgressCallback()
49875   //
49885   HRESULT ProgressCallback ();
49886 }
49887 
49888 
49889 
49890 // ************************
49891 //
49892 // Interface IAAFRGBADescriptor2
49893 //
49894 // ************************
49895 
49896 
49931 [
49932     object,
49933     uuid(205c5aae-727a-46c3-8368-cd8b1d14fbdd),
49934     helpstring("IAAFRGBADescriptor2 Interface"),
49935     pointer_default(unique)
49936 ]
49937 interface IAAFRGBADescriptor2 : IUnknown
49938 {
49939 
49940 
49941   //***********************************************************
49942   //
49943   // SetPixelLayout()
49944   //
49969   HRESULT SetPixelLayout (
49970     [in] aafUInt32  numberElements,
49971     [in] aafRGBAComponent_t*  PixelLayoutArray);
49972 
49973   //***********************************************************
49974   //
49975   // CountPixelLayoutElements()
49976   //
50000   HRESULT CountPixelLayoutElements (
50001     [out] aafUInt32 *  pResult);
50002 
50003   //***********************************************************
50004   //
50005   // GetPixelLayout()
50006   //
50039   HRESULT GetPixelLayout (
50040     [in] aafUInt32  numberElements,
50041     [out, size_is(numberElements)] aafRGBAComponent_t*  PixelLayoutArray);
50042 
50043   //***********************************************************
50044   //
50045   // SetPalette()
50046   //
50067   HRESULT SetPalette (
50068     [in] aafUInt32  numberElements,
50069     [in, size_is(numberElements)] aafUInt8*  pPalette);
50070 
50071 
50072   //***********************************************************
50073   //
50074   // GetPalette()
50075   //
50104   HRESULT GetPalette (
50105     [in] aafUInt32  numberRecords,
50106     [out, size_is(numberRecords)] aafUInt8*  pPalette);
50107 
50108 
50109   //***********************************************************
50110   //
50111   // GetPaletteSize()
50112   //
50130   HRESULT GetPaletteSize (
50131     [out] aafUInt32 *  pNumberBytes);
50132 
50133   //***********************************************************
50134   //
50135   // CountPaletteLayoutElements()
50136   //
50160   HRESULT CountPaletteLayoutElements (
50161     [out] aafUInt32 *  pResult);
50162 
50163   //***********************************************************
50164   //
50165   // SetPaletteLayout()
50166   //
50191   HRESULT SetPaletteLayout (
50192     [in] aafUInt32  numberElements,
50193     [in] aafRGBAComponent_t*  PaletteLayoutArray);
50194 
50195   //***********************************************************
50196   //
50197   // GetPaletteLayout()
50198   //
50230   HRESULT GetPaletteLayout (
50231     [in] aafUInt32  numberElements,
50232     [out, size_is(numberElements)] aafRGBAComponent_t*  PaletteLayoutArray);
50233 
50234 
50235   //***********************************************************
50236   //
50237   // SetComponentMaxRef()
50238   //
50253   HRESULT SetComponentMaxRef (
50254     [in] aafUInt32  componentMaxRef);
50255 
50256 
50257   //***********************************************************
50258   //
50259   // GetComponentMaxRef()
50260   //
50282   HRESULT GetComponentMaxRef (
50283     [out] aafUInt32 *  pComponentMaxRef);
50284 
50285 
50286   //***********************************************************
50287   //
50288   // SetComponentMinRef()
50289   //
50304   HRESULT SetComponentMinRef (
50305     [in] aafUInt32  componentMinRef);
50306 
50307 
50308   //***********************************************************
50309   //
50310   // GetComponentMinRef()
50311   //
50333   HRESULT GetComponentMinRef (
50334     [out] aafUInt32 *  pComponentMinRef);
50335 
50336 
50337   //***********************************************************
50338   //
50339   // SetAlphaMaxRef()
50340   //
50355   HRESULT SetAlphaMaxRef (
50356     [in] aafUInt32  alphaMaxRef);
50357 
50358 
50359   //***********************************************************
50360   //
50361   // GetAlphaMaxRef()
50362   //
50384   HRESULT GetAlphaMaxRef (
50385     [out] aafUInt32 *  pAlphaMaxRef);
50386 
50387 
50388   //***********************************************************
50389   //
50390   // SetAlphaMinRef()
50391   //
50406   HRESULT SetAlphaMinRef (
50407     [in] aafUInt32  alphaMinRef);
50408 
50409 
50410   //***********************************************************
50411   //
50412   // GetAlphaMinRef()
50413   //
50435   HRESULT GetAlphaMinRef (
50436     [out] aafUInt32 *  pAlphaMinRef);
50437 
50438 
50439   //***********************************************************
50440   //
50441   // SetScanningDirection()
50442   //
50461   HRESULT SetScanningDirection (
50462     [in] aafScanningDirection_t  scanningDirection);
50463 
50464 
50465   //***********************************************************
50466   //
50467   // GetScanningDirection()
50468   //
50490   HRESULT GetScanningDirection (
50491     [out] aafScanningDirection_t *  pScanningDirection);
50492 
50493 
50494 }
50495 
50496 
50497 
50498 // ************************
50499 //
50500 // Interface IAAFSearchSource
50501 //
50502 // ************************
50523 [
50524     object,
50525     uuid(332CBDD0-5425-11D2-AA7A-10003D000000),
50526     helpstring("IAAFSearchSource Interface"),
50527     pointer_default(unique)
50528 ]
50529 interface IAAFSearchSource : IUnknown
50530 {
50531 
50532   //***********************************************************
50533   //
50534   // SearchSource()
50535   //
50576   HRESULT SearchSource (
50577     [in] aafSlotID_t  slotID,
50578     [in] aafPosition_t  offset,
50579     [in] aafMobKind_t  mobKind,
50580     [in] aafMediaCriteria_t *  pMediaCrit,
50581     [in] aafOperationChoice_t *  pOperationChoice,
50582     [out] IAAFFindSourceInfo ** ppSourceInfo);
50583 }
50584 
50585 
50586 
50587 // ************************
50588 //
50589 // Interface IAAFSourceReference2
50590 //
50591 // ************************
50619 [
50620     object,
50621     uuid(eb3094c4-f60e-4aa3-b500-ba72c4c791b7),
50622     helpstring("IAAFSourceReference2 Interface"),
50623     pointer_default(unique)
50624 ]
50625 interface IAAFSourceReference2 : IUnknown
50626 {
50627 
50628 
50629 
50630   //***********************************************************
50631   //
50632   // GetSourceID()
50633   //
50653   HRESULT GetSourceID (
50654     [retval][out] aafMobID_t *  pSourceID);
50655 
50656 
50657   //***********************************************************
50658   //
50659   // SetSourceID()
50660   //
50674   HRESULT SetSourceID (
50675     [in] aafMobID_constref   sourceID);
50676 
50677 
50678   //***********************************************************
50679   //
50680   // GetSourceMobSlotID()
50681   //
50701   HRESULT GetSourceMobSlotID (
50702     [retval][out] aafSlotID_t *  pMobSlotID);
50703 
50704 
50705   //***********************************************************
50706   //
50707   // SetSourceMobSlotID()
50708   //
50727   HRESULT SetSourceMobSlotID (
50728     [in] aafSlotID_t   mobSlotID);
50729 
50730 
50731 
50732   //***********************************************************
50733   //
50734   // SetChannelIDs()
50735   //
50753   HRESULT SetChannelIDs (
50754     [in] aafUInt32  numberElements,
50755     [in] aafUInt32*  pChannelIDs);
50756 
50757 
50758   //***********************************************************
50759   //
50760   // GetChannelIDs()
50761   //
50782   HRESULT GetChannelIDs (
50783     [in] aafUInt32  numberElements,
50784     [in] aafUInt32*  pChannelIDs);
50785 
50786   //***********************************************************
50787   //
50788   // GetChannelIDsSize()
50789   //
50803   HRESULT GetChannelIDsSize (
50804     [out] aafUInt32 *  pSize);
50805 
50806   //***********************************************************
50807   //
50808   // SetMonoSourceSlotIDs()
50809   //
50825   HRESULT SetMonoSourceSlotIDs (
50826     [in] aafUInt32  numberElements,
50827     [in] aafUInt32*  pMonoSourceSlotIDs);
50828 
50829 
50830   //***********************************************************
50831   //
50832   // GetMonoSourceSlotIDs()
50833   //
50854   HRESULT GetMonoSourceSlotIDs (
50855     [in] aafUInt32  numberElements,
50856     [in] aafUInt32*  pMonoSourceSlotIDs);
50857 
50858   //***********************************************************
50859   //
50860   // GetMonoSourceSlotIDsSize()
50861   //
50875   HRESULT GetMonoSourceSlotIDsSize (
50876     [out] aafUInt32 *  pSize);
50877 
50878 }
50879 
50880 
50881 
50882 // ************************
50883 //
50884 // Interface IAAFStreamAccess
50885 //
50886 // ************************
50897 
50898 
50899 [
50900     object,
50901     uuid(065F5F69-3A64-401e-A1A6-5833268F5236),
50902     helpstring("IAAFStreamAccess Interface"),
50903     pointer_default(unique)
50904 ]
50905 
50906 interface IAAFStreamAccess : IUnknown
50907 {
50908 
50909 
50910   //***********************************************************
50911   //
50912   // WriteStream()
50913   //
50928   HRESULT WriteStream (
50929     [in] IAAFPropertyValue * propertyValue,
50930     [in] aafMemPtr_t  pUserData);
50931 
50932 }
50933 
50934 
50935 
50936 // ************************
50937 //
50938 // Interface IAAFTimelineMobSlot2
50939 //
50940 // ************************
50960 
50961 
50966 [
50967     object,
50968     uuid(db347978-ba72-4bdf-a188-8172ea5c5f00),
50969     helpstring("IAAFTimelineMobSlot2 Interface"),
50970     pointer_default(unique)
50971 ]
50972 interface IAAFTimelineMobSlot2 : IUnknown
50973 {
50974 
50975   //***********************************************************
50976   //
50977   // Initialize()
50978   //
50997   HRESULT Initialize ();
50998 
50999 
51000   //***********************************************************
51001   //
51002   // GetEditRate()
51003   //
51024   HRESULT GetEditRate (
51025     [out,retval] aafRational_t *  pEditRate);
51026 
51027 
51028   //***********************************************************
51029   //
51030   // SetEditRate()
51031   //
51046   HRESULT SetEditRate (
51047     [in] aafRational_constref  editRate);
51048 
51049 
51050   //***********************************************************
51051   //
51052   // GetOrigin()
51053   //
51074   HRESULT GetOrigin (
51075     [out,retval] aafPosition_t *  pOrigin);
51076 
51077 
51078   //***********************************************************
51079   //
51080   // SetOrigin()
51081   //
51096   HRESULT SetOrigin (
51097     [in] aafPosition_t  origin);
51098 
51099   //***********************************************************
51100   //
51101   // GetMarkIn()
51102   //
51129   HRESULT GetMarkIn (
51130     [out,retval] aafPosition_t *  result);
51131 
51132   //***********************************************************
51133   //
51134   // SetMarkIn()
51135   //
51155   HRESULT SetMarkIn (
51156     [in] aafPosition_t  value);
51157 
51158   //***********************************************************
51159   //
51160   // GetMarkOut()
51161   //
51188   HRESULT GetMarkOut (
51189     [out,retval] aafPosition_t *  result);
51190 
51191   //***********************************************************
51192   //
51193   // SetMarkOut()
51194   //
51214   HRESULT SetMarkOut (
51215     [in] aafPosition_t  value);
51216 
51217   //***********************************************************
51218   //
51219   // GetUserPos()
51220   //
51247   HRESULT GetUserPos (
51248     [out,retval] aafPosition_t *  result);
51249 
51250   //***********************************************************
51251   //
51252   // SetUserPos()
51253   //
51273   HRESULT SetUserPos (
51274     [in] aafPosition_t  value);
51275 
51276 }
51277 
51278 
51279 
51280 // ************************
51281 //
51282 // Interface IAAFTypeDefStreamEx
51283 //
51284 // ************************
51300 [
51301     object,
51302     uuid(A7A76BEF-E074-4da8-B18D-07E355C60DF4 ),
51303     helpstring("IAAFTypeDefStreamEx Interface"),
51304     pointer_default(unique)
51305 ]
51306 
51307 interface IAAFTypeDefStreamEx : IUnknown
51308 {
51309 
51310 
51311 
51312   //***********************************************************
51313   //
51314   // SetCallback()
51315   //
51339   HRESULT SetCallback (
51340     [in] IAAFPropertyValue * pPropertyValue,
51341     [in] IAAFStreamAccess*  pCallbackIF,
51342     [in] aafMemPtr_t  pUserData);
51343 
51344 }
51345 
51346 
51347 
51348 
51349 
51350 // ************************
51351 //
51352 // Interface IAAFTypeDefStream3
51353 //
51354 // ************************
51373 [
51374     object,
51375     uuid(D1E43120-D90A-463f-BC4D-BB1174A8DBD3),
51376     helpstring("IAAFTypeDefStream3 Interface"),
51377     pointer_default(unique)
51378 ]
51379 
51380 interface IAAFTypeDefStream3 : IUnknown
51381 {
51382 
51383 
51384 
51385   //***********************************************************
51386   //
51387   // GetSize()
51388   //
51413   HRESULT GetSize (
51414     [in] IAAFPropertyValue * pStreamPropertyValue,
51415     [out] aafInt64 *  pSize);
51416 
51417   //***********************************************************
51418   //
51419   // SetSize()
51420   //
51443   HRESULT SetSize (
51444     [in] IAAFPropertyValue * pStreamPropertyValue,
51445     [in] aafInt64  newSize);
51446 
51447   //***********************************************************
51448   //
51449   // GetPosition()
51450   //
51474   HRESULT GetPosition (
51475     [in] IAAFPropertyValue * pStreamPropertyValue,
51476     [out] aafInt64 *  pPosition);
51477 
51478   //***********************************************************
51479   //
51480   // SetPosition()
51481   //
51508   HRESULT SetPosition (
51509     [in] IAAFPropertyValue * pStreamPropertyValue,
51510     [in] aafInt64  newPosition);
51511 
51512 
51513   //***********************************************************
51514   //
51515   // Read()
51516   //
51546   HRESULT Read (
51547     [in] IAAFPropertyValue * pStreamPropertyValue,
51548     [in] aafUInt32  dataSize,
51549     [out, size_is(dataSize), length_is(*bytesRead)] aafMemPtr_t  pData,
51550     [out,ref] aafUInt32 *  bytesRead);
51551 
51552   //***********************************************************
51553   //
51554   // Write()
51555   //
51583   HRESULT Write (
51584     [in] IAAFPropertyValue * pStreamPropertyValue,
51585     [in] aafUInt32  dataSize,
51586     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
51587 
51588   //***********************************************************
51589   //
51590   // Append()
51591   //
51619   HRESULT Append (
51620     [in] IAAFPropertyValue * pStreamPropertyValue,
51621     [in] aafUInt32  dataSize,
51622     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
51623 
51624 
51625   //***********************************************************
51626   //
51627   // HasStoredByteOrder()
51628   //
51653   HRESULT HasStoredByteOrder (
51654     [in] IAAFPropertyValue * pStreamPropertyValue,
51655     [out] aafBoolean_t *  pHasByteOrder);
51656 
51657   //***********************************************************
51658   //
51659   // GetStoredByteOrder()
51660   //
51684   HRESULT GetStoredByteOrder (
51685     [in] IAAFPropertyValue * pStreamPropertyValue,
51686     [out] eAAFByteOrder_t *  pByteOrder);
51687 
51688   //***********************************************************
51689   //
51690   // SetStoredByteOrder()
51691   //
51716   HRESULT SetStoredByteOrder (
51717     [in] IAAFPropertyValue * pStreamPropertyValue,
51718     [in] eAAFByteOrder_t  byteOrder);
51719 
51720   //***********************************************************
51721   //
51722   // ClearStoredByteOrder()
51723   //
51747   HRESULT ClearStoredByteOrder (
51748     [in] IAAFPropertyValue * pStreamPropertyValue);
51749 
51750   //***********************************************************
51751   //
51752   // ReadElements()
51753   //
51798   HRESULT ReadElements (
51799     [in] IAAFPropertyValue * pStreamPropertyValue,
51800     [in] IAAFTypeDef * pElementType,
51801     [in] aafUInt32  dataSize,
51802     [out, size_is(dataSize), length_is(*pBytesRead)] aafMemPtr_t  pData,
51803     [out,ref] aafUInt32 *  pBytesRead);
51804 
51805   //***********************************************************
51806   //
51807   // WriteElements()
51808   //
51850   HRESULT WriteElements (
51851     [in] IAAFPropertyValue * pStreamPropertyValue,
51852     [in] IAAFTypeDef * pElementType,
51853     [in] aafUInt32  dataSize,
51854     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
51855 
51856 
51857 cpp_quote("  /// Extend in chunks of typed Elements") 
51858 
51859   //***********************************************************
51860   //
51861   // AppendElements()
51862   //
51903   HRESULT AppendElements (
51904     [in] IAAFPropertyValue * pStreamPropertyValue,
51905     [in] IAAFTypeDef * pElementType,
51906     [in] aafUInt32  dataSize,
51907     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
51908 
51909   //***********************************************************
51910   //
51911   // SetCallback()
51912   //
51936   HRESULT SetCallback (
51937     [in] IAAFPropertyValue * pPropertyValue,
51938     [in] IAAFStreamAccess*  pCallbackIF,
51939     [in] aafMemPtr_t  pUserData);
51940 
51941   //***********************************************************
51942   //
51943   // GetPlainStreamData()
51944   //
51946   // interface and provides access to the file encoding-independent
51947   // stream data.
51948   //
51949   // Succeeds if:
51950   // - Initialize() has already been called on this object.
51951   // - pPlainStreamData is a valid pointer.
51952   // - reserved is 0.
51973   HRESULT GetPlainStreamData (
51974     [in] aafUInt32  reserved,
51975     [out,retval] IAAFPlainStreamData ** pPlainStreamData);
51976 
51977 }
51978 
51979 
51980 
51981 // ************************
51982 //
51983 // Interface IAAFTypeDefVariableArrayEx
51984 //
51985 // ************************
52001 [
52002     object,
52003     uuid(7f73d4b3-6f9a-11d4-8e59-009027dfcc26 ),
52004     helpstring("IAAFTypeDefVariableArrayEx Interface"),
52005     pointer_default(unique)
52006 ]
52007 
52008 interface IAAFTypeDefVariableArrayEx : IUnknown
52009 {
52010 
52011 
52012 
52013   //***********************************************************
52014   //
52015   // PrependElement()
52016   //
52038   HRESULT PrependElement (
52039     [in] IAAFPropertyValue * pInPropVal,
52040     [in] IAAFPropertyValue * pMemberPropVal);
52041 
52042 
52043 
52044 
52045   //***********************************************************
52046   //
52047   // RemoveElement()
52048   //
52077   HRESULT RemoveElement (
52078     [in] IAAFPropertyValue * pInPropVal,
52079     [in] aafUInt32  index);
52080 
52081 
52082 
52083 
52084   //***********************************************************
52085   //
52086   // InsertElement()
52087   //
52120   HRESULT InsertElement (
52121     [in] IAAFPropertyValue * pInPropVal,
52122     [in] aafUInt32  index,
52123     [in] IAAFPropertyValue * pMemberPropVal);
52124 
52125 
52126 
52127 
52128 }
52129 
52130 
52131 
52132 
52133 
52134 
52147 
52148 
52149 
52150 cpp_quote("  ///***********************************************************") 
52151 cpp_quote("  
52152 cpp_quote("  
52153 cpp_quote("  
52154 cpp_quote("  
52155 cpp_quote("  
52156 cpp_quote("  
52157 cpp_quote("  
52158 
52159   //***********************************************************
52160   //
52161   // AAFLoad()
52162   //
52177 cpp_quote("STDAPI AAFLoad (const char *  dllname);")
52178 cpp_quote("")
52179 
52180 
52182   //
52183   // AAFUnload()
52184   //
52188 cpp_quote("STDAPI AAFUnload ();")
52189 cpp_quote("")
52190 
52191 
52192 cpp_quote("  
52193 cpp_quote("  
52194 cpp_quote("  
52195 
52196   //***********************************************************
52197   //
52198   // AAFFileOpenExistingRead()
52199   //
52256 cpp_quote("STDAPI AAFFileOpenExistingRead (")
52257 cpp_quote("          aafCharacter_constptr  pFileName,")
52258 cpp_quote("          aafUInt32  modeFlags,")
52259 cpp_quote("          IAAFFile ** ppFile);")
52260 cpp_quote("")
52261 
52262 
52263   //***********************************************************
52264   //
52265   // AAFFileOpenExistingModify()
52266   //
52334 cpp_quote("STDAPI AAFFileOpenExistingModify (")
52335 cpp_quote("          aafCharacter_constptr  pFileName,")
52336 cpp_quote("          aafUInt32  modeFlags,")
52337 cpp_quote("          aafProductIdentification_t *  pIdent,")
52338 cpp_quote("          IAAFFile ** ppFile);")
52339 cpp_quote("")
52340 
52341 
52342   //***********************************************************
52343   //
52344   // AAFFileOpenNewModify()
52345   //
52404 cpp_quote("STDAPI AAFFileOpenNewModify (")
52405 cpp_quote("          aafCharacter_constptr  pFileName,")
52406 cpp_quote("          aafUInt32  modeFlags,")
52407 cpp_quote("          aafProductIdentification_t *  pIdent,")
52408 cpp_quote("          IAAFFile ** ppFile);")
52409 cpp_quote("")
52410 
52411 
52412   //***********************************************************
52413   //
52414   // AAFFileOpenNewModifyEx()
52415   //
52470 cpp_quote("STDAPI AAFFileOpenNewModifyEx (")
52471 cpp_quote("          aafCharacter_constptr  pFileName,")
52472 cpp_quote("          aafUID_constptr  pFileKind,")
52473 cpp_quote("          aafUInt32  modeFlags,")
52474 cpp_quote("          aafProductIdentification_t *  pIdent,")
52475 cpp_quote("          IAAFFile ** ppFile);")
52476 cpp_quote("")
52477 
52478 
52479   //***********************************************************
52480   //
52481   // AAFFileOpenTransient()
52482   //
52515 cpp_quote("STDAPI AAFFileOpenTransient (")
52516 cpp_quote("          aafProductIdentification_t *  pIdent,")
52517 cpp_quote("          IAAFFile ** ppFile);")
52518 cpp_quote("")
52519 
52520 
52521   //***********************************************************
52522   //
52523   // AAFFileIsAAFFile()
52524   //
52548 cpp_quote("STDAPI AAFFileIsAAFFile (")
52549 cpp_quote("          aafCharacter_constptr  pFileName,")
52550 cpp_quote("          aafUID_t *  pAAFFileKind,")
52551 cpp_quote("          aafBool *  pFileIsAAFFile);")
52552 cpp_quote("")
52553 
52554   //***********************************************************
52555   //
52556   // AAFRawStorageIsAAFFile()
52557   //
52578 cpp_quote("STDAPI AAFRawStorageIsAAFFile (")
52579 cpp_quote("          IAAFRawStorage *  pRawStorage,")
52580 cpp_quote("          aafUID_t *  pAAFFileKind,")
52581 cpp_quote("          aafBool *  pRawStorageIsAAFFile);")
52582 cpp_quote("")
52583 
52584 
52585   //***********************************************************
52586   //
52587   // AAFFileIsAAFFileKind()
52588   //
52613 cpp_quote("STDAPI AAFFileIsAAFFileKind (")
52614 cpp_quote("          aafCharacter_constptr  pFileName,")
52615 cpp_quote("          aafUID_constptr  pAAFFileKind,")
52616 cpp_quote("          aafBool *  pFileIsAAFFile);")
52617 cpp_quote("")
52618 
52619 
52620   //***********************************************************
52621   //
52622   // AAFRawStorageIsAAFFileKind()
52623   //
52648 cpp_quote("STDAPI AAFRawStorageIsAAFFileKind (")
52649 cpp_quote("          IAAFRawStorage *  pRawStorage,")
52650 cpp_quote("          aafUID_constptr  pAAFFileKind,")
52651 cpp_quote("          aafBool *  pRawStorageIsAAFFile);")
52652 cpp_quote("")
52653 
52654 
52655   //***********************************************************
52656   //
52657   // AAFGetPluginManager()
52658   //
52664 cpp_quote("STDAPI AAFGetPluginManager (IAAFPluginManager ** ppPluginManager);")
52665 cpp_quote("")
52666 
52667 
52668   //***********************************************************
52669   //
52670   // AAFCreateRawStorageMemory()
52671   //
52695 cpp_quote("STDAPI AAFCreateRawStorageMemory (")
52696 cpp_quote("          aafFileAccess_t  access,")
52697 cpp_quote("          IAAFRawStorage ** ppNewRawStorage);")
52698 cpp_quote("")
52699 
52700 
52701   //***********************************************************
52702   //
52703   // AAFCreateRawStorageDisk()
52704   //
52742 cpp_quote("STDAPI AAFCreateRawStorageDisk (")
52743 cpp_quote("          aafCharacter_constptr  pFilename,")
52744 cpp_quote("          aafFileExistence_t  existence,")
52745 cpp_quote("          aafFileAccess_t  access,")
52746 cpp_quote("          IAAFRawStorage ** ppNewRawStorage);")
52747 cpp_quote("")
52748 
52749 
52750   //***********************************************************
52751   //
52752   // AAFCreateRawStorageCachedDisk()
52753   //
52793 cpp_quote("STDAPI AAFCreateRawStorageCachedDisk (")
52794 cpp_quote("          aafCharacter_constptr  pFilename,")
52795 cpp_quote("          aafFileExistence_t  existence,")
52796 cpp_quote("          aafFileAccess_t  access,")
52797 cpp_quote("          aafUInt32  pageCount,")
52798 cpp_quote("          aafUInt32  pageSize,")
52799 cpp_quote("          IAAFRawStorage ** ppNewRawStorage);")
52800 cpp_quote("")
52801 
52802   //***********************************************************
52803   //
52804   // AAFCreateRawStorageCached()
52805   //
52830 cpp_quote("STDAPI AAFCreateRawStorageCached (")
52831 cpp_quote("          IAAFRawStorage *  pRawStorage,")
52832 cpp_quote("          aafUInt32  pageCount,")
52833 cpp_quote("          aafUInt32  pageSize,")
52834 cpp_quote("          IAAFRawStorage ** ppNewRawStorage);")
52835 cpp_quote("")
52836 
52837   //***********************************************************
52838   //
52839   // AAFCreateRawStorageCached2()
52840   //
52871 cpp_quote("STDAPI AAFCreateRawStorageCached2 (")
52872 cpp_quote("          IAAFRawStorage *  pRawStorage,")
52873 cpp_quote("          aafUInt32  pageCount,")
52874 cpp_quote("          aafUInt32  pageSize,")
52875 cpp_quote("          IAAFCachePageAllocator*  pCachePageAllocator,")
52876 cpp_quote("          IAAFRawStorage ** ppNewRawStorage);")
52877 cpp_quote("")
52878 
52879   //***********************************************************
52880   //
52881   // AAFCreateAAFFileOnRawStorage()
52882   //
52947 cpp_quote("STDAPI AAFCreateAAFFileOnRawStorage (")
52948 cpp_quote("          IAAFRawStorage *  pRawStorage,")
52949 cpp_quote("          aafFileExistence_t  existence,")
52950 cpp_quote("          aafFileAccess_t  access,")
52951 cpp_quote("          aafUID_constptr  pFileKind,")
52952 cpp_quote("          aafUInt32  modeFlags,")
52953 cpp_quote("          aafProductIdentification_constptr  pIdent,")
52954 cpp_quote("          IAAFFile ** ppNewFile);")
52955 cpp_quote("")
52956 
52957   //***********************************************************
52958   //
52959   // AAFSetProgressCallback()
52960   //
52965 cpp_quote("STDAPI AAFSetProgressCallback (IAAFProgress*  pProgress);")
52966 cpp_quote("")
52967 
52968   //***********************************************************
52969   //
52970   // AAFGetFileEncodings()
52971   //
52990 cpp_quote("STDAPI AAFGetFileEncodings (IEnumAAFFileEncodings ** ppFileEncodings);")
52991 cpp_quote("")
52992 
52993   //***********************************************************
52994   //
52995   // AAFSetDiagnosticOutput()
52996   //
53018 cpp_quote("STDAPI AAFSetDiagnosticOutput (IAAFDiagnosticOutput*  pOutput);")
53019 cpp_quote("")
53020 
53021   //***********************************************************
53022   //
53023   // AAFGetLibraryVersion()
53024   //
53045 cpp_quote("STDAPI AAFGetLibraryVersion (aafProductVersion_t *  pVersion);")
53046 cpp_quote("")
53047 
53048   //***********************************************************
53049   //
53050   // AAFGetStaticLibraryVersion()
53051   //
53075 cpp_quote("STDAPI AAFGetStaticLibraryVersion (aafProductVersion_t *  pVersion);")
53076 cpp_quote("")
53077 
53078   //***********************************************************
53079   //
53080   // AAFGetLibraryPathNameBufLen()
53081   //
53099 cpp_quote("STDAPI AAFGetLibraryPathNameBufLen (aafUInt32 *  pBufSize);")
53100 cpp_quote("")
53101 
53102   //***********************************************************
53103   //
53104   // AAFGetLibraryPathName()
53105   //
53141 cpp_quote("STDAPI AAFGetLibraryPathName (")
53142 cpp_quote("          aafCharacter *  pLibraryPathName,")
53143 cpp_quote("          aafUInt32  bufSize);")
53144 cpp_quote("")
53145 
53146   //***********************************************************
53147   //
53148   // AAFResultToTextBufLen()
53149   //
53176 cpp_quote("STDAPI AAFResultToTextBufLen (")
53177 cpp_quote("          AAFRESULT  result,")
53178 cpp_quote("          aafUInt32 *   pResultTextSize);")
53179 cpp_quote("")
53180 
53181 
53182   //***********************************************************
53183   //
53184   // AAFResultToText()
53185   //
53217 cpp_quote("STDAPI AAFResultToText (")
53218 cpp_quote("          AAFRESULT  result,")
53219 cpp_quote("          aafCharacter *  pResultText,")
53220 cpp_quote("          aafUInt32  resultTextSize);")
53221 cpp_quote("")
53222 
53223 

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