AAFA Developer Support

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

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.24 2005/02/10 17:49:51 heydowns Exp $ $Name:  $")
00010 cpp_quote("//")
00011 cpp_quote("// The contents of this file are subject to the AAF SDK Public")
00012 cpp_quote("// Source License Agreement (the \"License\"); You may not use this file")
00013 cpp_quote("// except in compliance with the License.  The License is available in")
00014 cpp_quote("// AAFSDKPSL.TXT, or you may obtain a copy of the License from the AAF")
00015 cpp_quote("// Association 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.")
00021 cpp_quote("//")
00022 cpp_quote("// The Original Code of this file is Copyright 1998-2004, Licensor of the")
00023 cpp_quote("// AAF Association.")
00024 cpp_quote("//")
00025 cpp_quote("// The Initial Developer of the Original Code of this file and the")
00026 cpp_quote("// Licensor of the AAF Association is Avid Technology.")
00027 cpp_quote("// All rights reserved.")
00028 cpp_quote("//")
00029 cpp_quote("//=---------------------------------------------------------------------=")
00030 
00031 cpp_quote("//=--------------------------------------------------------------------------=")
00032 cpp_quote("// AAF Interfaces.")
00033 cpp_quote("//=--------------------------------------------------------------------------=")
00034 cpp_quote("//")
00035 
00036 #ifndef DO_NO_IMPORTS
00037 import "unknwn.idl";
00038 #endif
00039 
00040 #ifndef DO_NO_IMPORTS
00041 import "objidl.idl";
00042 #endif
00043 
00044 #ifndef DO_NO_IMPORTS
00045 import "AAFTypes.idl";
00046 #endif
00047 
00048 interface IAAFAIFCDescriptor;
00049 interface IAAFClassDef;
00050 interface IAAFCodecDef;
00051 interface IAAFCommentMarker;
00052 interface IAAFComponent;
00053 interface IAAFCompositionMob;
00054 interface IAAFConstantValue;
00055 interface IAAFContainerDef;
00056 interface IAAFContentStorage;
00057 interface IAAFControlPoint;
00058 interface IAAFDataDef;
00059 interface IAAFDefObject;
00060 interface IAAFPluginDef;
00061 interface IAAFDictionary;
00062 interface IAAFEdgecode;
00063 interface IAAFOperationDef;
00064 interface IAAFEssenceAccess;
00065 interface IAAFEssenceData;
00066 interface IAAFEssenceDescriptor;
00067 interface IAAFEvent;
00068 interface IAAFEventMobSlot;
00069 interface IAAFFile;
00070 interface IAAFFileDescriptor;
00071 interface IAAFFilmDescriptor;
00072 interface IAAFDigitalImageDescriptor;
00073 interface IAAFCDCIDescriptor;
00074 interface IAAFEssenceFormat;
00075 interface IAAFEssenceGroup;
00076 interface IAAFFiller;
00077 interface IAAFFindSourceInfo;
00078 interface IAAFOperationGroup;
00079 interface IAAFGPITrigger;
00080 interface IAAFHeader;
00081 interface IAAFIdentification;
00082 interface IAAFImportDescriptor;
00083 interface IAAFInterpolationDef;
00084 interface IAAFKLVData;
00085 interface IAAFLocator;
00086 interface IAAFMasterMob;
00087 interface IAAFMetaDefinition;
00088 interface IAAFMob;
00089 interface IAAFMobSlot;
00090 interface IAAFNestedScope;
00091 interface IAAFNetworkLocator;
00092 interface IAAFObject;
00093 interface IAAFPCMDescriptor;
00094 interface IAAFParameter;
00095 interface IAAFParameterDef;
00096 interface IAAFPhysicalDescriptor;
00097 interface IAAFProperty;
00098 interface IAAFPropertyDef;
00099 interface IAAFPropertyValue;
00100 interface IAAFPluginManager;
00101 interface IAAFPulldown;
00102 interface IAAFRGBADescriptor;
00103 interface IAAFScopeReference;
00104 interface IAAFSegment;
00105 interface IAAFSelector;
00106 interface IAAFSequence;
00107 interface IAAFSoundDescriptor;
00108 interface IAAFSourceClip;
00109 interface IAAFSourceMob;
00110 interface IAAFSourceReference;
00111 interface IAAFStaticMobSlot;
00112 interface IAAFTapeDescriptor;
00113 interface IAAFTaggedValue;
00114 interface IAAFTextLocator;
00115 interface IAAFTimecode;
00116 interface IAAFTimelineMobSlot;
00117 interface IAAFTransition;
00118 interface IAAFTIFFDescriptor;
00119 interface IAAFTimecodeStream;
00120 interface IAAFTimecodeStream12M;
00121 interface IAAFTypeDef;
00122 interface IAAFTypeDefCharacter;
00123 interface IAAFTypeDefIndirect;
00124 interface IAAFTypeDefInt;
00125 interface IAAFTypeDefRename;
00126 interface IAAFTypeDefEnum;
00127 interface IAAFTypeDefExtEnum;
00128 interface IAAFTypeDefFixedArray;
00129 interface IAAFTypeDefRecord;
00130 interface IAAFTypeDefSet;
00131 interface IAAFTypeDefStream;
00132 interface IAAFTypeDefString;
00133 interface IAAFTypeDefStrongObjRef;
00134 interface IAAFTypeDefWeakObjRef;
00135 interface IAAFTypeDefObjectRef;
00136 interface IAAFTypeDefOpaque;
00137 interface IAAFTypeDefVariableArray;
00138 interface IAAFVaryingValue;
00139 interface IAAFWAVEDescriptor;
00140 interface IEnumAAFClassDefs;
00141 interface IEnumAAFCodecDefs;
00142 interface IEnumAAFCodecFlavours;
00143 interface IEnumAAFComponents;
00144 interface IEnumAAFContainerDefs;
00145 interface IEnumAAFControlPoints;
00146 interface IEnumAAFDataDefs;
00147 interface IEnumAAFIdentifications;
00148 interface IEnumAAFInterpolationDefs;
00149 interface IEnumAAFOperationDefs;
00150 interface IEnumAAFEssenceData;
00151 interface IEnumAAFKLVData;
00152 interface IEnumAAFLoadedPlugins;
00153 interface IEnumAAFLocators;
00154 interface IEnumAAFMobSlots;
00155 interface IEnumAAFMobs;
00156 interface IEnumAAFParameterDefs;
00157 interface IEnumAAFParameters;
00158 interface IEnumAAFProperties;
00159 interface IEnumAAFPropertyDefs;
00160 interface IEnumAAFPropertyValues;
00161 interface IEnumAAFPluginDefs;
00162 interface IEnumAAFPluginLocators;
00163 interface IEnumAAFSegments;
00164 interface IEnumAAFTaggedValues;
00165 interface IEnumAAFTypeDefs;
00166 interface IAAFRawStorage;
00167 interface IAAFRandomRawStorage;
00168 interface IAAFGetFileBits;
00169 interface IAAFSetFileBits;
00170 interface IAAFRandomFile;
00171 interface IAAFTaggedValueDefinition;
00172 interface IAAFKLVDataDefinition;
00173 interface IEnumAAFTaggedValueDefs;
00174 interface IEnumAAFKLVDataDefs;
00175 interface IAAFRecordingDescriptor;
00176 interface IAAFAuxiliaryDescriptor;
00177 interface IAAFDescriptiveFramework;
00178 interface IAAFDescriptiveMarker;
00179 interface IAAFCDCIDescriptor2;
00180 interface IAAFComponent2;
00181 interface IAAFCompositionMob2;
00182 interface IAAFDataDef2;
00183 interface IAAFDataDef3;
00184 interface IAAFDictionary2;
00185 interface IAAFDigitalImageDescriptor2;
00186 interface IAAFEndian;
00187 interface IAAFEssenceDataEx;
00188 interface IAAFEssenceMultiAccess;
00189 interface IAAFHeader2;
00190 interface IAAFMasterMob2;
00191 interface IAAFMasterMobEx;
00192 interface IAAFMob2;
00193 interface IAAFRGBADescriptor2;
00194 interface IAAFSearchSource;
00195 interface IAAFSourceReference2;
00196 interface IAAFTimelineMobSlot2;
00197 interface IAAFTypeDefVariableArrayEx;
00198 
00199 
00200 // ************************
00201 //
00202 // Interface IAAFAIFCDescriptor
00203 //
00204 // ************************
00223 [
00224     object,
00225     uuid(e684d774-b935-11d2-bf9d-00104bc9156d),
00226     helpstring("IAAFAIFCDescriptor Interface"),
00227     pointer_default(unique)
00228 ]
00229 interface IAAFAIFCDescriptor : IUnknown
00230 {
00231 
00232   //***********************************************************
00233   //
00234   // Initialize()
00235   //
00254   HRESULT Initialize ();
00255 
00256 
00257   //***********************************************************
00258   //
00259   // GetSummary()
00260   //
00284   HRESULT GetSummary (
00285     [in] aafUInt32  size,
00286     [out, size_is(size)] aafDataValue_t  pSummary);
00287 
00288   //***********************************************************
00289   //
00290   // GetSummaryBufferSize()
00291   //
00311   HRESULT GetSummaryBufferSize (
00312     [out] aafUInt32 *  pSize);
00313 
00314   //***********************************************************
00315   //
00316   // SetSummary()
00317   //
00338   HRESULT SetSummary (
00339     [in] aafUInt32  size,
00340     [in, size_is(size)] aafDataValue_t  pSummary);
00341 
00342 
00343 }
00344 
00345 
00346 
00347 // ************************
00348 //
00349 // Interface IAAFClassDef
00350 //
00351 // ************************
00368 [
00369     object,
00370     uuid(dfbd6525-1d81-11d2-bf96-006097116212),
00371     helpstring("IAAFClassDef Interface"),
00372     pointer_default(unique)
00373 ]
00374 interface IAAFClassDef : IUnknown
00375 {
00376 
00377   //***********************************************************
00378   //
00379   // Initialize()
00380   //
00406   HRESULT Initialize (
00407     [in, ref] aafUID_constref  classID,
00408     [in] IAAFClassDef * pParentClass,
00409     [in, string] aafCharacter_constptr  pClassName,
00410     [in] aafBoolean_t  isConcrete);
00411 
00412 
00413   //***********************************************************
00414   //
00415   // GetPropertyDefs()
00416   //
00435   HRESULT GetPropertyDefs (
00436     [out, retval] IEnumAAFPropertyDefs ** ppEnum);
00437 
00438 
00439   //***********************************************************
00440   //
00441   // CountPropertyDefs()
00442   //
00460   HRESULT CountPropertyDefs (
00461     [out] aafUInt32 *  pCount);
00462 
00463 
00464   //***********************************************************
00465   //
00466   // RegisterNewPropertyDef()
00467   //
00515   HRESULT RegisterNewPropertyDef (
00516     [in, ref] aafUID_constref  id,
00517     [in, string] aafCharacter_constptr  pName,
00518     [in] IAAFTypeDef * pTypeDef,
00519     [in] aafBoolean_t  isOptional,
00520     [in] aafBoolean_t  isUniqueIdentifier,
00521     [out] IAAFPropertyDef ** ppPropDef);
00522 
00523 
00524   //***********************************************************
00525   //
00526   // RegisterOptionalPropertyDef()
00527   //
00564   HRESULT RegisterOptionalPropertyDef (
00565     [in, ref] aafUID_constref  id,
00566     [in, string] aafCharacter_constptr  pName,
00567     [in] IAAFTypeDef * pTypeDef,
00568     [out] IAAFPropertyDef ** ppPropDef);
00569 
00570 
00571   //***********************************************************
00572   //
00573   // LookupPropertyDef()
00574   //
00601   HRESULT LookupPropertyDef (
00602     [in, ref] aafUID_constref  propID,
00603     [out] IAAFPropertyDef ** ppPropDef);
00604 
00605 
00606   //***********************************************************
00607   //
00608   // GetName()
00609   //
00650   HRESULT GetName (
00651     [out, string, size_is(bufSize)] aafCharacter *  pName,
00652     [in] aafUInt32  bufSize);
00653 
00654 
00655   //***********************************************************
00656   //
00657   // GetNameBufLen()
00658   //
00676   HRESULT GetNameBufLen (
00677     [out] aafUInt32 *  pBufSize);
00678 
00679 
00680   //***********************************************************
00681   //
00682   // GetParent()
00683   //
00703   HRESULT GetParent (
00704     [out, retval] IAAFClassDef ** ppClassDef);
00705 
00706 
00707   //***********************************************************
00708   //
00709   // IsConcrete()
00710   //
00729   HRESULT IsConcrete (
00730     [out, retval] aafBoolean_t*  pResult);
00731 
00732 
00733   //***********************************************************
00734   //
00735   // IsRoot()
00736   //
00755   HRESULT IsRoot (
00756     [out, retval] aafBoolean_t*  isRoot);
00757 
00758 
00759   //***********************************************************
00760   //
00761   // IsUniquelyIdentified()
00762   //
00780   HRESULT IsUniquelyIdentified (
00781     [out, retval] aafBoolean_t*  pIsUniquelyIdentified);
00782 
00783 
00784   //***********************************************************
00785   //
00786   // GetUniqueIdentifier()
00787   //
00810   HRESULT GetUniqueIdentifier (
00811     [out, retval] IAAFPropertyDef ** ppUniqueIdentifier);
00812 
00813 
00814   //***********************************************************
00815   //
00816   // CreateInstance()
00817   //
00838   HRESULT CreateInstance(
00839     [in, ref] REFIID riid,
00840     [out, iid_is(riid)] IUnknown ** ppvObject);
00841 
00842 }
00843 
00844 
00845 
00846 // ************************
00847 //
00848 // Interface IAAFCodecDef
00849 //
00850 // ************************
00868 [
00869     object,
00870     uuid(AD1BB856-DBB2-11d2-809C-006008143E6F),
00871     helpstring("IAAFCodecDef Interface"),
00872     pointer_default(unique)
00873 ]
00874 interface IAAFCodecDef : IUnknown
00875 {
00876 
00877   //***********************************************************
00878   //
00879   // Initialize()
00880   //
00887   HRESULT Initialize (
00888     [in, ref] aafUID_constref  id,
00889     [in, string] aafCharacter_constptr  pName,
00890     [in, string] aafCharacter_constptr  pDescription);
00891 
00892 
00893   //***********************************************************
00894   //
00895   // IsEssenceKindSupported()
00896   //
00919   HRESULT IsEssenceKindSupported (
00920     [in] IAAFDataDef * pEssenceKind,
00921     [out,retval] aafBoolean_t*  pIsSupported);
00922 
00923  
00924   //***********************************************************
00925   //
00926   // AddEssenceKind()
00927   //
00948   HRESULT AddEssenceKind (
00949     [in] IAAFDataDef * pEssenceKind);
00950 
00951 
00952   //***********************************************************
00953   //
00954   // RemoveEssenceKind()
00955   //
00976   HRESULT RemoveEssenceKind (
00977     [in] IAAFDataDef * pEssenceKind);
00978 
00979 
00980   //***********************************************************
00981   //
00982   // CountEssenceKinds()
00983   //
01000   HRESULT CountEssenceKinds (
01001     [out, retval] aafUInt32 *  pResult);
01002 
01003 
01004   //***********************************************************
01005   //
01006   // GetEssenceKinds()
01007   //
01037   HRESULT GetEssenceKinds (
01038     [out, retval] IEnumAAFDataDefs ** ppEnum);
01039 
01040 
01041   //***********************************************************
01042   //
01043   // AreThereFlavours()
01044   //
01070   HRESULT AreThereFlavours (
01071     [out,retval] aafBoolean_t *  pResult);
01072 
01073 
01074   //***********************************************************
01075   //
01076   // GetFileDescriptorClass()
01077   //
01104   HRESULT GetFileDescriptorClass (
01105     [out] IAAFClassDef ** ppClass);
01106 
01107 
01108   //***********************************************************
01109   //
01110   // SetFileDescriptorClass()
01111   //
01133   HRESULT SetFileDescriptorClass (
01134     [in] IAAFClassDef * pClass);
01135 
01136 
01137   //***********************************************************
01138   //
01139   // EnumCodecFlavours()
01140   //
01168   HRESULT EnumCodecFlavours (
01169     [out,retval] IEnumAAFCodecFlavours ** ppEnum);
01170   
01171 }
01172 
01173 
01174 
01175 // ************************
01176 //
01177 // Interface IAAFCommentMarker
01178 //
01179 // ************************
01180 
01210 [
01211     object,
01212     uuid(e684d78a-b935-11d2-bf9d-00104bc9156d),
01213     helpstring("IAAFCommentMarker Interface"),
01214     pointer_default(unique)
01215 ]
01216 interface IAAFCommentMarker : IUnknown
01217 {
01218 
01219 
01220   //***********************************************************
01221   //
01222   // GetAnnotation()
01223   //
01244   HRESULT GetAnnotation (
01245     [out,retval] IAAFSourceReference ** ppResult);
01246 
01247   //***********************************************************
01248   //
01249   // SetAnnotation()
01250   //
01264   HRESULT SetAnnotation (
01265     [in] IAAFSourceReference * pAnnotation);
01266 
01267 }
01268 
01269 
01270 
01271 // ************************
01272 //
01273 // Interface IAAFComponent
01274 //
01275 // ************************
01305 [
01306     object,
01307     uuid(38e6f8a1-2a2c-11d2-8411-00600832acb8),
01308     helpstring("IAAFComponent Interface"),
01309     pointer_default(unique)
01310 ]
01311 interface IAAFComponent : IUnknown
01312 {
01313   //***********************************************************
01314   //
01315   // SetLength()
01316   //
01340   HRESULT SetLength (
01341     [in] aafLength_constref  length);
01342 
01343 
01344   //***********************************************************
01345   //
01346   // GetLength()
01347   //
01374   HRESULT GetLength (
01375     [retval][out] aafLength_t *  pLength);
01376         
01377 
01378   //***********************************************************
01379   //
01380   // SetDataDef()
01381   //
01399   HRESULT SetDataDef (
01400     [in] IAAFDataDef * pDataDef);
01401 
01402 
01403   //***********************************************************
01404   //
01405   // GetDataDef()
01406   //
01426   HRESULT GetDataDef (
01427     [out, retval] IAAFDataDef ** ppDatadef);
01428 
01429   //***********************************************************
01430   //
01431   // AppendKLVData()
01432   //
01453   HRESULT AppendKLVData (
01454     [in] IAAFKLVData * pData);
01455 
01456 
01457   //***********************************************************
01458   //
01459   // CountKLVData()
01460   //
01480   HRESULT CountKLVData (
01481     [out] aafUInt32 *  pNumData);
01482 
01483 
01484   //***********************************************************
01485   //
01486   // GetKLVData()
01487   //
01509   HRESULT GetKLVData (
01510     [out] IEnumAAFKLVData ** ppEnum);
01511 
01512 
01513   //***********************************************************
01514   //
01515   // RemoveKLVData()
01516   //
01540   HRESULT RemoveKLVData (
01541     [in] IAAFKLVData * pData);
01542 
01543 
01544 
01545 
01546 
01547 
01548 
01549 
01550 
01551 
01552 
01553 }
01554 
01555 
01556 
01557 // ************************
01558 //
01559 // Interface IAAFCompositionMob
01560 //
01561 // ************************
01578 
01579 
01586 [
01587     object,
01588     uuid(91920d63-2a2e-11D2-bfA3-006097116212),
01589     helpstring("IAAFCompositionMob Interface"),
01590     pointer_default(unique)
01591 ]
01592 interface IAAFCompositionMob : IUnknown
01593 {
01594   //***********************************************************
01595   //
01596   // Initialize()
01597   //
01619   HRESULT Initialize (
01620     [in, string] aafCharacter_constptr  pName);
01621 
01622 
01623   //***********************************************************
01624   //
01625   // GetDefaultFade()
01626   //
01651   HRESULT GetDefaultFade (
01652     [out] aafDefaultFade_t *  pResult);
01653         
01654 
01655   //***********************************************************
01656   //
01657   // SetDefaultFade()
01658   //
01684   HRESULT SetDefaultFade (
01685     [in] aafLength_t  fadeLength,
01686     [in] aafFadeType_t  fadeType,
01687     [in] aafRational_t  fadeEditUnit);
01688 
01689 
01690 
01691 
01692 
01693 }
01694 
01695 
01696 // ************************
01697 //
01698 // Interface IAAFConstantValue
01699 //
01700 // ************************
01719 [
01720     object,
01721     uuid(b8ddc080-2afa-11D2-bfA5-006097116212),
01722     helpstring("IAAFConstantValue Interface"),
01723     pointer_default(unique)
01724 ]
01725 interface IAAFConstantValue : IUnknown
01726 {
01727 
01728 
01729   //***********************************************************
01730   //
01731   // Initialize()
01732   //
01761   HRESULT Initialize (
01762     [in] IAAFParameterDef * pParameterDef,
01763     [in] aafUInt32  valueSize,
01764     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
01765 
01766 
01767   //***********************************************************
01768   //
01769   // GetValue()
01770   //
01803   HRESULT GetValue (
01804     [in] aafUInt32  valueSize,
01805     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
01806     [out] aafUInt32*  bytesRead);
01807 
01808 
01809   //***********************************************************
01810   //
01811   // GetValueBufLen()
01812   //
01834   HRESULT GetValueBufLen (
01835     [out] aafUInt32 *  pLen);
01836 
01837   //***********************************************************
01838   //
01839   // GetTypeDefinition()
01840   //
01859   HRESULT GetTypeDefinition (
01860     [out,retval] IAAFTypeDef ** ppTypeDef);
01861 
01862   //***********************************************************
01863   //
01864   // SetValue()
01865   //
01888   HRESULT SetValue (
01889     [in] aafUInt32  valueSize,
01890     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
01891 
01892 }
01893 
01894 
01895 
01896 // ************************
01897 //
01898 // Interface IAAFContainerDef
01899 //
01900 // ************************
01914 
01915 
01920 [
01921     object,
01922     uuid(AD1BB858-DBB2-11d2-809C-006008143E6F),
01923     helpstring("IAAFContainerDef Interface"),
01924     pointer_default(unique)
01925 ]
01926 interface IAAFContainerDef : IUnknown
01927 {
01928 
01929   //***********************************************************
01930   //
01931   // Initialize()
01932   //
01939   HRESULT Initialize (
01940     [in, ref] aafUID_constref  id,
01941     [in, string] aafCharacter_constptr  pName,
01942     [in, string] aafCharacter_constptr  pDescription);
01943 
01944 
01945   //***********************************************************
01946   //
01947   // EssenceIsIdentified()
01948   //
01974   HRESULT EssenceIsIdentified (
01975     [out] aafBoolean_t *  pEssenceIsIdentified);
01976 
01977 
01978   //***********************************************************
01979   //
01980   // SetEssenceIsIdentified()
01981   //
01998   HRESULT SetEssenceIsIdentified (
01999     [in] aafBoolean_t  EssenceIsIdentified);
02000 }
02001 
02002 
02003 
02004 // ************************
02005 //
02006 // Interface IAAFContentStorage
02007 //
02008 // ************************
02009 
02010 
02014 [
02015     object,
02016     uuid(54D4C482-5F8B-11d2-8073-006008143E6F),
02017     helpstring("IAAFContentStorage Interface"),
02018     pointer_default(unique)
02019 ]
02020 
02021 
02022 
02023 interface IAAFContentStorage : IUnknown
02024 {
02025 
02026 
02027   //***********************************************************
02028   //
02029   // LookupMob()
02030   //
02056   HRESULT LookupMob (
02057     [in, ref] aafMobID_constref  mobID,
02058     [out,retval] IAAFMob ** ppMob);
02059 
02060 
02061   //***********************************************************
02062   //
02063   // CountMobs()
02064   //
02086   HRESULT CountMobs (
02087     [in] aafMobKind_t  mobKind,
02088     [out, retval] aafNumSlots_t *  pResult);
02089 
02090 
02091   //***********************************************************
02092   //
02093   // GetMobs()
02094   //
02120   HRESULT GetMobs (
02121     [in] aafSearchCrit_t *  pSearchCriteria,
02122     [out, retval] IEnumAAFMobs ** ppEnum);
02123 
02124 
02125   //***********************************************************
02126   //
02127   // AddMob()
02128   //
02153   HRESULT AddMob (
02154     [in] IAAFMob * pMob);
02155 
02156 
02157   //***********************************************************
02158   //
02159   // RemoveMob()
02160   //
02184   HRESULT RemoveMob (
02185     [in] IAAFMob * pMob);
02186 
02187 
02188   //***********************************************************
02189   //
02190   // CountEssenceData()
02191   //
02213   HRESULT CountEssenceData (
02214     [out, retval] aafUInt32 *  pResult);
02215 
02216 
02217   //***********************************************************
02218   //
02219   // IsEssenceDataPresent()
02220   //
02241   HRESULT IsEssenceDataPresent (
02242     [in, ref] aafMobID_constref  fileMobID,
02243     [in] aafFileFormat_t  fmt,
02244     [out,retval] aafBoolean_t *  pResult);
02245 
02246 
02247   //***********************************************************
02248   //
02249   // EnumEssenceData()
02250   //
02273   HRESULT EnumEssenceData (
02274     [out,retval] IEnumAAFEssenceData ** ppEnum);
02275 
02276 
02277   //***********************************************************
02278   //
02279   // AddEssenceData()
02280   //
02304   HRESULT AddEssenceData (
02305     [in] IAAFEssenceData * pEssenceData);
02306 
02307   //***********************************************************
02308   //
02309   // RemoveEssenceData()
02310   //
02334   HRESULT RemoveEssenceData (
02335     [in] IAAFEssenceData * pEssenceData);
02336 
02337   //***********************************************************
02338   //
02339   // LookupEssenceData()
02340   //
02366   HRESULT LookupEssenceData (
02367     [in, ref] aafMobID_constref  mobID,
02368     [out,retval] IAAFEssenceData ** ppEssenceData);
02369 
02370 }
02371 
02372 
02373 
02374 // ************************
02375 //
02376 // Interface IAAFControlPoint
02377 //
02378 // ************************
02397 [
02398     object,
02399     uuid(86192db1-2a23-11D2-BFa3-006097116212),
02400     helpstring("IAAFControlPoint Interface"),
02401     pointer_default(unique)
02402 ]
02403 interface IAAFControlPoint : IUnknown
02404 {
02405 
02406 
02407   //***********************************************************
02408   //
02409   // Initialize()
02410   //
02441   HRESULT Initialize (
02442     [in] IAAFVaryingValue * pVaryingValue,
02443     [in] aafRational_constref  time,
02444     [in] aafUInt32  valueSize,
02445     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
02446 
02447   //***********************************************************
02448   //
02449   // GetTime()
02450   //
02477   HRESULT GetTime (
02478     [out,retval] aafRational_t *  pTime);
02479 
02480   //***********************************************************
02481   //
02482   // GetEditHint()
02483   //
02510   HRESULT GetEditHint (
02511     [out,retval] aafEditHint_t *  pEditHint);
02512 
02513   //***********************************************************
02514   //
02515   // GetValueBufLen()
02516   //
02537   HRESULT GetValueBufLen (
02538     [out] aafUInt32 *  pLen);
02539 
02540   //***********************************************************
02541   //
02542   // GetValue()
02543   //
02573   HRESULT GetValue (
02574     [in] aafUInt32  valueSize,
02575     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
02576     [out] aafUInt32*  bytesRead);
02577 
02578   //***********************************************************
02579   //
02580   // SetTime()
02581   //
02597   HRESULT SetTime (
02598     [in] aafRational_t  pTime);
02599 
02600   //***********************************************************
02601   //
02602   // SetEditHint()
02603   //
02619   HRESULT SetEditHint (
02620     [in] aafEditHint_t  editHint);
02621 
02622   //***********************************************************
02623   //
02624   // GetTypeDefinition()
02625   //
02644   HRESULT GetTypeDefinition (
02645     [out,retval] IAAFTypeDef ** ppTypeDef);
02646 
02647   //***********************************************************
02648   //
02649   // SetValue()
02650   //
02673   HRESULT SetValue (
02674     [in] aafUInt32  valueSize,
02675     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
02676 
02677 }
02678 
02679 
02680 
02681 
02682 // ************************
02683 //
02684 // Interface IAAFDataDef
02685 //
02686 // ************************
02694 [
02695     object,
02696     uuid(dfbd6529-1d81-11d2-bf96-006097116212),
02697     helpstring("IAAFDataDef Interface"),
02698     pointer_default(unique)
02699 ]
02700 interface IAAFDataDef : IUnknown
02701 {
02702   //***********************************************************
02703   //
02704   // Initialize()
02705   //
02712   HRESULT Initialize (
02713     [in, ref] aafUID_constref  id,
02714     [in, string] aafCharacter_constptr  pName,
02715     [in, string] aafCharacter_constptr  pDescription);
02716 
02717 
02718   //***********************************************************
02719   //
02720   // IsPictureKind()
02721   //
02726   HRESULT IsPictureKind (
02727     [retval,out] aafBoolean_t *  bIsPictureKind);
02728 
02729 
02730   //***********************************************************
02731   //
02732   // IsMatteKind()
02733   //
02738   HRESULT IsMatteKind (
02739     [retval,out] aafBoolean_t *  bIsMatteKind);
02740 
02741 
02742   //***********************************************************
02743   //
02744   // IsPictureWithMatteKind()
02745   //
02750   HRESULT IsPictureWithMatteKind (
02751     [retval,out] aafBoolean_t *  bIsPictureWithMatteKind);
02752 
02753 
02754   //***********************************************************
02755   //
02756   // IsSoundKind()
02757   //
02762   HRESULT IsSoundKind (
02763     [retval,out] aafBoolean_t *  bIsSoundKind);
02764 
02765 
02766   //***********************************************************
02767   //
02768   // DoesDataDefConvertTo()
02769   //
02777   HRESULT DoesDataDefConvertTo (
02778     [in] IAAFDataDef * id,
02779     [retval, out] aafBoolean_t *  bDoesConvertTo);
02780                    
02781 
02782   //***********************************************************
02783   //
02784   // IsDataDefOf()
02785   //
02793   HRESULT IsDataDefOf (
02794     [in] IAAFDataDef * pDataDef,
02795     [retval, out] aafBoolean_t *  bIsDataDefOf);
02796 
02797 
02798   //***********************************************************
02799   //
02800   // DoesDataDefConvertFrom()
02801   //
02809   HRESULT DoesDataDefConvertFrom (
02810     [in] IAAFDataDef * pDataDef,
02811     [retval, out] aafBoolean_t *  bDoesConvertFrom);
02812 
02813 
02814 
02815 
02816 
02817 
02818 
02819 }
02820 
02821 
02822 // ************************
02823 //
02824 // Interface IAAFDefObject
02825 //
02826 // ************************
02850 [
02851     object,
02852     uuid(dfbd6527-1d81-11d2-bf96-006097116212),
02853     helpstring("IAAFDefObject Interface"),
02854     pointer_default(unique)
02855 ]
02856 interface IAAFDefObject : IUnknown
02857 {
02858 
02859   //***********************************************************
02860   //
02861   // SetName()
02862   //
02891   HRESULT SetName (
02892     [in, string] aafCharacter_constptr  pName);
02893 
02894 
02895   //***********************************************************
02896   //
02897   // GetName()
02898   //
02936   HRESULT GetName (
02937     [out, string, size_is(bufSize)] aafCharacter *  pName,
02938     [in] aafUInt32  bufSize);
02939 
02940 
02941   //***********************************************************
02942   //
02943   // GetNameBufLen()
02944   //
02962   HRESULT GetNameBufLen (
02963     [out] aafUInt32 *  pBufSize);
02964 
02965 
02966   //***********************************************************
02967   //
02968   // SetDescription()
02969   //
02998   HRESULT SetDescription (
02999     [in, string] aafCharacter_constptr  pDescription);
03000 
03001 
03002   //***********************************************************
03003   //
03004   // GetDescription()
03005   //
03043   HRESULT GetDescription (
03044     [out, string, size_is(bufSize)] aafCharacter *  pDescription,
03045     [in] aafUInt32  bufSize);
03046 
03047 
03048   //***********************************************************
03049   //
03050   // GetDescriptionBufLen()
03051   //
03069   HRESULT GetDescriptionBufLen (
03070     [out] aafUInt32 *  pBufSize);
03071 
03072 
03073   //***********************************************************
03074   //
03075   // Initialize()
03076   //
03082   HRESULT Initialize (
03083     [in, ref] aafUID_constref  id,
03084     [in, string] aafCharacter_constptr  pName);
03085 
03086 
03087   //***********************************************************
03088   //
03089   // GetAUID()
03090   //
03095   HRESULT GetAUID (
03096     [retval,out] aafUID_t *  pAuid);
03097 
03098 }
03099 
03100 
03101 
03102 // ************************
03103 //
03104 // Interface IAAFPluginDef
03105 //
03106 // ************************
03123 [
03124     object,
03125     uuid(AD1BB854-DBB2-11d2-809C-006008143E6F),
03126     helpstring("IAAFPluginDef Interface"),
03127     pointer_default(unique)
03128 ]
03129 interface IAAFPluginDef : IUnknown
03130 {
03131 
03132   //***********************************************************
03133   //
03134   // Initialize()
03135   //
03142   HRESULT Initialize (
03143     [in, ref] aafUID_constref  id,
03144     [in] aafCharacter_constptr  pName,
03145     [in] aafCharacter_constptr  pDescription);
03146 
03147   //***********************************************************
03148   //
03149   // GetCategoryClass()
03150   //
03177   HRESULT GetCategoryClass (
03178     [out] aafUID_t *  pCategoryClass);
03179 
03180 
03181   //***********************************************************
03182   //
03183   // SetCategoryClass()
03184   //
03204   HRESULT SetCategoryClass (
03205     [in, ref] aafUID_constref  categoryClass);
03206 
03207 
03208   //***********************************************************
03209   //
03210   // GetPluginVersion()
03211   //
03235   HRESULT GetPluginVersion (
03236     [out] aafVersionType_t *  pVersion);
03237 
03238 
03239   //***********************************************************
03240   //
03241   // SetPluginVersion()
03242   //
03263   HRESULT SetPluginVersion (
03264     [in] aafVersionType_t *  pVersion);
03265 
03266 
03267   //***********************************************************
03268   //
03269   // SetPluginVersionString()
03270   //
03299   HRESULT SetPluginVersionString (
03300     [in, string] aafCharacter_constptr  pPluginVersionString);
03301 
03302 
03303   //***********************************************************
03304   //
03305   // GetPluginVersionString()
03306   //
03344   HRESULT GetPluginVersionString (
03345     [out, string, size_is(bufSize)] aafCharacter *  pPluginVersionString,
03346     [in] aafUInt32  bufSize);
03347 
03348 
03349   //***********************************************************
03350   //
03351   // GetPluginVersionStringBufLen()
03352   //
03370   HRESULT GetPluginVersionStringBufLen (
03371     [out] aafUInt32 *  pBufSize);
03372 
03373 
03374   //***********************************************************
03375   //
03376   // SetPluginManufacturerName()
03377   //
03406   HRESULT SetPluginManufacturerName (
03407     [in, string] aafCharacter_constptr  pPluginManufacturerName);
03408 
03409 
03410   //***********************************************************
03411   //
03412   // GetPluginManufacturerName()
03413   //
03451   HRESULT GetPluginManufacturerName (
03452     [out, string, size_is(bufSize)] aafCharacter *  pPluginManufacturerName,
03453     [in] aafUInt32  bufSize);
03454 
03455 
03456   //***********************************************************
03457   //
03458   // GetPluginManufacturerNameBufLen()
03459   //
03477   HRESULT GetPluginManufacturerNameBufLen (
03478     [out] aafUInt32 *  pBufSize);
03479 
03480 
03481   //***********************************************************
03482   //
03483   // GetManufacturerInfo()
03484   //
03508   HRESULT GetManufacturerInfo (
03509     [out, retval] IAAFNetworkLocator ** ppResult);
03510 
03511 
03512   //***********************************************************
03513   //
03514   // SetManufacturerInfo()
03515   //
03531   HRESULT SetManufacturerInfo (
03532     [in] IAAFNetworkLocator * pManufacturerInfo);
03533 
03534 
03535   //***********************************************************
03536   //
03537   // GetManufacturerID()
03538   //
03564   HRESULT GetManufacturerID (
03565     [out] aafUID_t *  pManufacturerID);
03566 
03567 
03568   //***********************************************************
03569   //
03570   // SetManufacturerID()
03571   //
03590   HRESULT SetManufacturerID (
03591     [in, ref] aafUID_constref  manufacturerID);
03592 
03593 
03594   //***********************************************************
03595   //
03596   // GetHardwarePlatform()
03597   //
03626   HRESULT GetHardwarePlatform (
03627     [out] aafHardwarePlatform_t *  pHardwarePlatform);
03628 
03629 
03630   //***********************************************************
03631   //
03632   // SetHardwarePlatform()
03633   //
03654   HRESULT SetHardwarePlatform (
03655     [in] aafHardwarePlatform_constref  hardwarePlatform);
03656 
03657 
03658   //***********************************************************
03659   //
03660   // GetPlatformVersionRange()
03661   //
03690   HRESULT GetPlatformVersionRange (
03691     [out] aafVersionType_t *  pMinVersion,
03692     [out] aafVersionType_t *  pMaxVersion);
03693 
03694 
03695   //***********************************************************
03696   //
03697   // SetPlatformMinimumVersion()
03698   //
03715   HRESULT SetPlatformMinimumVersion (
03716     [in] aafVersionType_constref  minVersion);
03717 
03718 
03719   //***********************************************************
03720   //
03721   // SetPlatformMaximumVersion()
03722   //
03739   HRESULT SetPlatformMaximumVersion (
03740     [in] aafVersionType_constref  maxVersion);
03741 
03742 
03743   //***********************************************************
03744   //
03745   // GetEngine()
03746   //
03775   HRESULT GetEngine (
03776     [out] aafEngine_t *  pEngine);
03777 
03778 
03779   //***********************************************************
03780   //
03781   // SetEngine()
03782   //
03804   HRESULT SetEngine (
03805     [in] aafEngine_constref  engine);
03806 
03807 
03808   //***********************************************************
03809   //
03810   // GetEngineVersionRange()
03811   //
03840   HRESULT GetEngineVersionRange (
03841     [out] aafVersionType_t *  pMinVersion,
03842     [out] aafVersionType_t *  pMaxVersion);
03843 
03844 
03845   //***********************************************************
03846   //
03847   // SetEngineMinimumVersion()
03848   //
03866   HRESULT SetEngineMinimumVersion (
03867     [in] aafVersionType_constref  minVersion);
03868 
03869 
03870   //***********************************************************
03871   //
03872   // SetEngineMaximumVersion()
03873   //
03891   HRESULT SetEngineMaximumVersion (
03892     [in] aafVersionType_constref  pMaxVersion);
03893 
03894 
03895   //***********************************************************
03896   //
03897   // GetPluginAPI()
03898   //
03926   HRESULT GetPluginAPI (
03927     [out] aafPluginAPI_t *  pPluginAPI);
03928 
03929 
03930   //***********************************************************
03931   //
03932   // SetPluginAPI()
03933   //
03955   HRESULT SetPluginAPI (
03956     [in] aafPluginAPI_constref  pluginAPI);
03957 
03958 
03959   //***********************************************************
03960   //
03961   // GetPluginAPIVersionRange()
03962   //
03991   HRESULT GetPluginAPIVersionRange (
03992     [out] aafVersionType_t *  pMinVersion,
03993     [out] aafVersionType_t *  pMaxVersion);
03994 
03995 
03996   //***********************************************************
03997   //
03998   // SetPluginAPIMinimumVersion()
03999   //
04016   HRESULT SetPluginAPIMinimumVersion (
04017     [out] aafVersionType_constref  minVersion);
04018 
04019 
04020   //***********************************************************
04021   //
04022   // SetPluginAPIMaximumVersion()
04023   //
04039   HRESULT SetPluginAPIMaximumVersion (
04040     [in] aafVersionType_constref  maxVersion);
04041 
04042 
04043   //***********************************************************
04044   //
04045   // IsSoftwareOnly()
04046   //
04073   HRESULT IsSoftwareOnly (
04074     [out] aafBoolean_t *  pIsSoftwareOnly);
04075 
04076 
04077   //***********************************************************
04078   //
04079   // SetIsSoftwareOnly()
04080   //
04100   HRESULT SetIsSoftwareOnly (
04101     [in] aafBoolean_t  isSoftwareOnly);
04102 
04103 
04104   //***********************************************************
04105   //
04106   // IsAccelerated()
04107   //
04132   HRESULT IsAccelerated (
04133     [out] aafBoolean_t *  pIsAccelerated);
04134 
04135 
04136   //***********************************************************
04137   //
04138   // SetIsAccelerated()
04139   //
04159   HRESULT SetIsAccelerated (
04160     [in] aafBoolean_t  isAccelerated);
04161 
04162 
04163   //***********************************************************
04164   //
04165   // SupportsAuthentication()
04166   //
04192   HRESULT SupportsAuthentication (
04193     [out] aafBoolean_t *  pSupportsAuthentication);
04194 
04195 
04196   //***********************************************************
04197   //
04198   // SetSupportsAuthentication()
04199   //
04216   HRESULT SetSupportsAuthentication (
04217     [in] aafBoolean_t  SupportsAuthentication);
04218 
04219 
04220 
04221   //***********************************************************
04222   //
04223   // CountLocators()
04224   //
04246   HRESULT CountLocators (
04247     [out] aafUInt32 *  pResult);
04248 
04249 
04250   //***********************************************************
04251   //
04252   // AppendLocator()
04253   //
04275   HRESULT AppendLocator (
04276     [in] IAAFLocator * pLocator);
04277 
04278 
04279   //***********************************************************
04280   //
04281   // PrependLocator()
04282   //
04304   HRESULT PrependLocator (
04305     [in] IAAFLocator * pLocator);
04306 
04307 
04308   //***********************************************************
04309   //
04310   // InsertLocatorAt()
04311   //
04340   HRESULT InsertLocatorAt (
04341     [in] aafUInt32  index,
04342     [in] IAAFLocator * pLocator);
04343 
04344 
04345   //***********************************************************
04346   //
04347   // GetLocatorAt()
04348   //
04375   HRESULT GetLocatorAt (
04376     [in] aafUInt32  index,
04377     [out] IAAFLocator ** ppLocator);
04378 
04379 
04380   //***********************************************************
04381   //
04382   // RemoveLocatorAt()
04383   //
04411   HRESULT RemoveLocatorAt (
04412     [in] aafUInt32  index);
04413 
04414 
04415 
04416   //***********************************************************
04417   //
04418   // GetLocators()
04419   //
04450   HRESULT GetLocators (
04451     [out, retval] IEnumAAFPluginLocators ** ppEnum);
04452 
04453     //***********************************************************
04454   //
04455   // SetDefinitionObjectID()
04456   //
04461   HRESULT SetDefinitionObjectID (
04462     [in] aafUID_t  pDef);
04463 
04464     //***********************************************************
04465   //
04466   // GetDefinitionObjectID()
04467   //
04472   HRESULT GetDefinitionObjectID (
04473     [retval,out] aafUID_t*  ppDef);
04474 
04475 }
04476 
04477 
04478 
04479 
04480 // ************************
04481 //
04482 // Interface IAAFDictionary
04483 //
04484 // ************************
04500 [
04501     object,
04502     uuid(B1A21398-1A7D-11D2-BF78-00104BC9156D),
04503     helpstring("IAAFDictionary Interface"),
04504     pointer_default(unique)
04505 ]
04506 
04507 interface IAAFDictionary : IUnknown
04508 {
04509 
04510   //***********************************************************
04511   //
04512   // CreateInstance()
04513   //
04524   HRESULT CreateInstance(
04525     [in, ref] aafUID_constref id,
04526     [in, ref] REFIID riid,
04527     [out, iid_is(riid)] IUnknown ** ppvObject);
04528 
04529 
04530   //***********************************************************
04531   //
04532   // CreateMetaInstance()
04533   //
04544   HRESULT CreateMetaInstance(
04545     [in, ref] aafUID_constref id,
04546     [in, ref] REFIID riid,
04547     [out, iid_is(riid)] IUnknown ** ppMetaDefinition);
04548 
04549 
04550 
04551   //***********************************************************
04552   //
04553   // RegisterClassDef()
04554   //
04577   HRESULT RegisterClassDef (
04578     [in] IAAFClassDef * pClassDef);
04579 
04580 
04581   //***********************************************************
04582   //
04583   // LookupClassDef()
04584   //
04608   HRESULT LookupClassDef (
04609     [in, ref] aafUID_constref  classId,
04610     [out,retval] IAAFClassDef ** ppClassDef);
04611 
04612 
04613   //***********************************************************
04614   //
04615   // GetClassDefs()
04616   //
04634   HRESULT GetClassDefs (
04635     [out,retval] IEnumAAFClassDefs ** ppEnum);
04636 
04637 
04638   //***********************************************************
04639   //
04640   // CountClassDefs()
04641   //
04662   HRESULT CountClassDefs (
04663     [out, retval] aafUInt32 *  pResult);
04664 
04665   //***********************************************************
04666   //
04667   // CreateForwardClassReference()
04668   //
04687   HRESULT CreateForwardClassReference (
04688     [in, ref] aafUID_constref  classId);
04689 
04690   //***********************************************************
04691   //
04692   // HasForwardClassReference()
04693   //
04717   HRESULT HasForwardClassReference (
04718     [in, ref] aafUID_constref  classId,
04719     [out,retval] aafBoolean_t *  pResult);
04720 
04721   //***********************************************************
04722   //
04723   // RegisterTypeDef()
04724   //
04746   HRESULT RegisterTypeDef (
04747     [in] IAAFTypeDef * pTypeDef);
04748 
04749 
04750   //***********************************************************
04751   //
04752   // LookupTypeDef()
04753   //
04777   HRESULT LookupTypeDef (
04778     [in, ref] aafUID_constref  typeId,
04779     [out,retval] IAAFTypeDef ** ppTypeDef);
04780 
04781 
04782   //***********************************************************
04783   //
04784   // GetTypeDefs()
04785   //
04803   HRESULT GetTypeDefs (
04804     [out,retval] IEnumAAFTypeDefs ** ppEnum);
04805 
04806 
04807   //***********************************************************
04808   //
04809   // CountTypeDefs()
04810   //
04831   HRESULT CountTypeDefs (
04832     [out, retval] aafUInt32 *  pResult);
04833 
04834 
04835   //***********************************************************
04836   //
04837   // RegisterOpaqueTypeDef()
04838   //
04860   HRESULT RegisterOpaqueTypeDef (
04861     [in] IAAFTypeDef * pTypeDef);
04862 
04863 
04864   //***********************************************************
04865   //
04866   // LookupOpaqueTypeDef()
04867   //
04891   HRESULT LookupOpaqueTypeDef (
04892     [in, ref] aafUID_constref  typeId,
04893     [out,retval] IAAFTypeDef ** ppTypeDef);
04894 
04895 
04896   //***********************************************************
04897   //
04898   // GetOpaqueTypeDefs()
04899   //
04917   HRESULT GetOpaqueTypeDefs (
04918     [out,retval] IEnumAAFTypeDefs ** ppEnum);
04919 
04920 
04921   //***********************************************************
04922   //
04923   // CountOpaqueTypeDefs()
04924   //
04945   HRESULT CountOpaqueTypeDefs (
04946     [out, retval] aafUInt32 *  pResult);
04947 
04948   //***********************************************************
04949   //
04950   // RegisterKLVDataKey()
04951   //
04975   HRESULT RegisterKLVDataKey (
04976     [in] aafUID_t  pUID,
04977     [in] IAAFTypeDef * pTypeDef);
04978 
04979   //***********************************************************
04980   //
04981   // RegisterDataDef()
04982   //
04987   HRESULT RegisterDataDef (
04988     [in] IAAFDataDef * pDataDef);
04989 
04990 
04991   //***********************************************************
04992   //
04993   // LookupDataDef()
04994   //
05000   HRESULT LookupDataDef (
05001     [in, ref] aafUID_constref  dataDefinitionId,
05002     [out,retval] IAAFDataDef ** ppDataDef);
05003 
05004 
05005   //***********************************************************
05006   //
05007   // GetDataDefs()
05008   //
05013   HRESULT GetDataDefs (
05014     [out,retval] IEnumAAFDataDefs ** ppEnum);
05015 
05016 
05017   //***********************************************************
05018   //
05019   // CountDataDefs()
05020   //
05041   HRESULT CountDataDefs (
05042     [out, retval] aafUInt32 *  pResult);
05043 
05044 
05045   //***********************************************************
05046   //
05047   // RegisterOperationDef()
05048   //
05053   HRESULT RegisterOperationDef (
05054     [in] IAAFOperationDef * pOperationDef);
05055 
05056 
05057   //***********************************************************
05058   //
05059   // LookupOperationDef()
05060   //
05066   HRESULT LookupOperationDef (
05067     [in, ref] aafUID_constref  operationId,
05068     [out,retval] IAAFOperationDef ** ppOperationDef);
05069 
05070 
05071   //***********************************************************
05072   //
05073   // GetOperationDefs()
05074   //
05079   HRESULT GetOperationDefs (
05080     [out,retval] IEnumAAFOperationDefs ** ppEnum);
05081 
05082 
05083   //***********************************************************
05084   //
05085   // CountOperationDefs()
05086   //
05107   HRESULT CountOperationDefs (
05108     [out, retval] aafUInt32 *  pResult);
05109 
05110 
05111   //***********************************************************
05112   //
05113   // RegisterParameterDef()
05114   //
05119   HRESULT RegisterParameterDef (
05120     [in] IAAFParameterDef * pParmDef);
05121 
05122 
05123   //***********************************************************
05124   //
05125   // LookupParameterDef()
05126   //
05132   HRESULT LookupParameterDef (
05133     [in, ref] aafUID_constref  parameterId,
05134     [out,retval] IAAFParameterDef ** ppParmDef);
05135 
05136 
05137   //***********************************************************
05138   //
05139   // GetParameterDefs()
05140   //
05145   HRESULT GetParameterDefs (
05146     [out,retval] IEnumAAFParameterDefs ** ppEnum);
05147 
05148 
05149   //***********************************************************
05150   //
05151   // CountParameterDefs()
05152   //
05173   HRESULT CountParameterDefs (
05174     [out, retval] aafUInt32 *  pResult);
05175 
05176 
05177   //***********************************************************
05178   //
05179   // RegisterCodecDef()
05180   //
05185   HRESULT RegisterCodecDef (
05186     [in] IAAFCodecDef * pParmDef);
05187 
05188 
05189   //***********************************************************
05190   //
05191   // LookupCodecDef()
05192   //
05198   HRESULT LookupCodecDef (
05199     [in, ref] aafUID_constref  parameterId,
05200     [out,retval] IAAFCodecDef ** ppParmDef);
05201 
05202 
05203   //***********************************************************
05204   //
05205   // GetCodecDefs()
05206   //
05211   HRESULT GetCodecDefs (
05212     [out,retval] IEnumAAFCodecDefs ** ppEnum);
05213 
05214 
05215   //***********************************************************
05216   //
05217   // CountCodecDefs()
05218   //
05239   HRESULT CountCodecDefs (
05240     [out, retval] aafUInt32 *  pResult);
05241 
05242 
05243   //***********************************************************
05244   //
05245   // RegisterContainerDef()
05246   //
05251   HRESULT RegisterContainerDef (
05252     [in] IAAFContainerDef * pParmDef);
05253 
05254 
05255   //***********************************************************
05256   //
05257   // LookupContainerDef()
05258   //
05264   HRESULT LookupContainerDef (
05265     [in, ref] aafUID_constref  parameterId,
05266     [out,retval] IAAFContainerDef ** ppParmDef);
05267 
05268 
05269   //***********************************************************
05270   //
05271   // GetContainerDefs()
05272   //
05277   HRESULT GetContainerDefs (
05278     [out,retval] IEnumAAFContainerDefs ** ppEnum);
05279 
05280 
05281   //***********************************************************
05282   //
05283   // CountContainerDefs()
05284   //
05305   HRESULT CountContainerDefs (
05306     [out, retval] aafUInt32 *  pResult);
05307 
05308 
05309   //***********************************************************
05310   //
05311   // RegisterInterpolationDef()
05312   //
05317   HRESULT RegisterInterpolationDef (
05318     [in] IAAFInterpolationDef * pInterpolationDef);
05319 
05320 
05321   //***********************************************************
05322   //
05323   // LookupInterpolationDef()
05324   //
05330   HRESULT LookupInterpolationDef (
05331     [in, ref] aafUID_constref  parameterId,
05332     [out,retval] IAAFInterpolationDef ** ppInterpolationDef);
05333 
05334 
05335   //***********************************************************
05336   //
05337   // GetInterpolationDefs()
05338   //
05343   HRESULT GetInterpolationDefs (
05344     [out,retval] IEnumAAFInterpolationDefs ** ppEnum);
05345 
05346 
05347   //***********************************************************
05348   //
05349   // CountInterpolationDefs()
05350   //
05371   HRESULT CountInterpolationDefs (
05372     [out, retval] aafUInt32 *  pResult);
05373 
05374 
05375   //***********************************************************
05376   //
05377   // RegisterPluginDef()
05378   //
05383   HRESULT RegisterPluginDef (
05384     [in] IAAFPluginDef * pPlugDef);
05385 
05386 
05387   //***********************************************************
05388   //
05389   // LookupPluginDef()
05390   //
05396   HRESULT LookupPluginDef (
05397     [in, ref] aafUID_constref  parameterId,
05398     [out,retval] IAAFPluginDef ** ppPlugDef);
05399 
05400 
05401   //***********************************************************
05402   //
05403   // GetPluginDefs()
05404   //
05409   HRESULT GetPluginDefs (
05410     [out,retval] IEnumAAFPluginDefs ** ppEnum);
05411 
05412 
05413   //***********************************************************
05414   //
05415   // CountPluginDefs()
05416   //
05437   HRESULT CountPluginDefs (
05438     [out, retval] aafUInt32 *  pResult);
05439 
05440 
05441 
05442 
05443 
05444 
05445 
05446 
05447 
05448 
05449 
05450 
05451 
05452 
05453 
05454 
05455 
05456 
05457 
05458 
05459 
05460 
05461 
05462 
05463 }
05464 
05465 
05466 // ************************
05467 //
05468 // Interface IAAFEdgecode
05469 //
05470 // ************************
05471  
05478 [
05479     object,
05480     uuid(38e6f8a4-2a2c-11d2-8411-00600832acb8),
05481     helpstring("IAAFEdgecode Interface"),
05482     pointer_default(unique)
05483 ]
05484 interface IAAFEdgecode : IUnknown
05485 {
05486 
05487 
05488   //***********************************************************
05489   //
05490   // Initialize()
05491   //
05500   HRESULT Initialize (
05501     [in] aafLength_t    length  ,
05502     [in] aafEdgecode_t  edgecode);
05503 
05504   //***********************************************************
05505   //
05506   // GetEdgecode()
05507   //
05513   HRESULT GetEdgecode (
05514     [out] aafEdgecode_t *  edgecode);
05515 
05516 }
05517 
05518 
05519 
05520 // ************************
05521 //
05522 // Interface IAAFOperationDef
05523 //
05524 // ************************
05540 
05541 
05542 
05543 
05544 
05545 
05546  
05547 
05552 [
05553     object,
05554     uuid(14035d91-1ff5-11d2-bf97-006097116212),
05555     helpstring("IAAFOperationDef Interface"),
05556     pointer_default(unique)
05557 ]
05558 interface IAAFOperationDef : IUnknown
05559 {
05560 
05561   //***********************************************************
05562   //
05563   // Initialize()
05564   //
05571   HRESULT Initialize (
05572     [in, ref] aafUID_constref  id,
05573     [in, string] aafCharacter_constptr  pName,
05574     [in, string] aafCharacter_constptr  pDescription);
05575 
05576 
05577   //***********************************************************
05578   //
05579   // GetDataDef()
05580   //
05616   HRESULT GetDataDef (
05617     [out] IAAFDataDef ** ppDataDef);
05618 
05619 
05620   //***********************************************************
05621   //
05622   // SetDataDef()
05623   //
05651   HRESULT SetDataDef (
05652     [in] IAAFDataDef * pDataDef);
05653 
05654 
05655   //***********************************************************
05656   //
05657   // IsTimeWarp()
05658   //
05680   HRESULT IsTimeWarp (
05681     [out, retval] aafBoolean_t *  bIsTimeWarp);
05682 
05683 
05684   //***********************************************************
05685   //
05686   // SetIsTimeWarp()
05687   //
05701   HRESULT SetIsTimeWarp (
05702     [in] aafBoolean_t  IsTimeWarp);
05703 
05704 
05705   //***********************************************************
05706   //
05707   // PrependDegradeToOperation()
05708   //
05731   HRESULT PrependDegradeToOperation (
05732     [in] IAAFOperationDef * pOperationDef);
05733 
05734 
05735   //***********************************************************
05736   //
05737   // AppendDegradeToOperation()
05738   //
05761   HRESULT AppendDegradeToOperation (
05762     [in] IAAFOperationDef * pOperationDef);
05763 
05764 
05765   //***********************************************************
05766   //
05767   // InsertDegradeToOperationAt()
05768   //
05798   HRESULT InsertDegradeToOperationAt (
05799     [in] aafUInt32  index,
05800     [in] IAAFOperationDef * pOperationDef);
05801 
05802 
05803   //***********************************************************
05804   //
05805   // RemoveDegradeToOperationAt()
05806   //
05831   HRESULT RemoveDegradeToOperationAt (
05832     [in] aafUInt32  index);
05833 
05834 
05835   //***********************************************************
05836   //
05837   // GetDegradeToOperations()
05838   //
05859   HRESULT GetDegradeToOperations (
05860     [out, retval] IEnumAAFOperationDefs ** ppEnum);
05861 
05862 
05863   //***********************************************************
05864   //
05865   // CountDegradeToOperations()
05866   //
05887   HRESULT CountDegradeToOperations (
05888     [out, retval] aafUInt32 *  pResult);
05889 
05890 
05891   //***********************************************************
05892   //
05893   // GetCategory()
05894   //
05914   HRESULT GetCategory (
05915     [out] aafUID_t*  pValue);
05916 
05917 
05918   //***********************************************************
05919   //
05920   // SetCategory()
05921   //
05935   HRESULT SetCategory (
05936     [in, ref] aafUID_constref  value);
05937 
05938 
05939   //***********************************************************
05940   //
05941   // GetNumberInputs()
05942   //
05965   HRESULT GetNumberInputs (
05966     [out, retval] aafInt32 *  pNumberInputs);
05967 
05968 
05969   //***********************************************************
05970   //
05971   // SetNumberInputs()
05972   //
05987   HRESULT SetNumberInputs (
05988     [in] aafInt32  NumberInputs);
05989 
05990 
05991   //***********************************************************
05992   //
05993   // GetBypass()
05994   //
06022   HRESULT GetBypass (
06023     [out,retval] aafUInt32 *  pBypass);
06024 
06025 
06026   //***********************************************************
06027   //
06028   // SetBypass()
06029   //
06049   HRESULT SetBypass (
06050     [in] aafUInt32  bypass);
06051 
06052 
06053   //***********************************************************
06054   //
06055   // AddParameterDef()
06056   //
06082   HRESULT AddParameterDef (
06083     [in] IAAFParameterDef * pParameterDef);
06084 
06085 
06086   //***********************************************************
06087   //
06088   // GetParameterDefs()
06089   //
06110   HRESULT GetParameterDefs (
06111     [out,retval] IEnumAAFParameterDefs ** ppEnum);
06112 
06113 
06114   //***********************************************************
06115   //
06116   // CountParameterDefs()
06117   //
06137   HRESULT CountParameterDefs (
06138     [out] aafUInt32 *  pResult);
06139 
06140 
06141   //***********************************************************
06142   //
06143   // LookupParameterDef()
06144   //
06170   HRESULT LookupParameterDef (
06171     [in] aafUID_constref  parameterDefId,
06172     [out] IAAFParameterDef ** ppParameterDef);
06173 }
06174 
06175 
06176 
06177 // ************************
06178 //
06179 // Interface IAAFEssenceAccess
06180 //
06181 // ************************
06182 
06205 [
06206     object,
06207     uuid(aed97eb0-2bc8-11D2-bfaa-006097116212),
06208     helpstring("IAAFEssenceAccess Interface"),
06209     pointer_default(unique)
06210 ]
06211 interface IAAFEssenceAccess : IUnknown
06212 {
06213 
06214 
06215   //***********************************************************
06216   //
06217   // SetEssenceCodecFlavour()
06218   //
06226   HRESULT SetEssenceCodecFlavour (
06227     [in, ref] aafUID_constref  flavour);
06228 
06229 
06230   //***********************************************************
06231   //
06232   // WriteSamples()
06233   //
06252   HRESULT WriteSamples (
06253     [in] aafUInt32  nSamples,
06254     [in] aafUInt32  buflen,
06255     [in,size_is(buflen)] aafDataBuffer_t  buffer,
06256     [out, ref] aafUInt32 *  samplesWritten,
06257     [out, ref] aafUInt32 *  bytesWritten);
06258 
06259 
06260   //***********************************************************
06261   //
06262   // GetLargestSampleSize()
06263   //
06276   HRESULT GetLargestSampleSize (
06277     [in] IAAFDataDef * pDataDef,
06278     [out] aafLength_t*  maxSize);
06279 
06280 
06281   //***********************************************************
06282   //
06283   // GetIndexedSampleSize()
06284   //
06303   HRESULT GetIndexedSampleSize (
06304     [in] IAAFDataDef * pDataDef,
06305     [in] aafPosition_t  frameNum,
06306     [out] aafLength_t*  frameSize);
06307 
06308 
06309   //***********************************************************
06310   //
06311   // SetTransformParameters()
06312   //
06328   HRESULT SetTransformParameters (
06329     [in] IAAFEssenceFormat * op);
06330          
06331 
06332   //***********************************************************
06333   //
06334   // CountSamples()
06335   //
06344   HRESULT CountSamples (
06345     [in] IAAFDataDef * pDataDef,
06346     [out] aafLength_t *  result);
06347 
06348 
06349   //***********************************************************
06350   //
06351   // ReadSamples()
06352   //
06374   HRESULT ReadSamples (
06375     [in] aafUInt32  nSamples,
06376     [in] aafUInt32  buflen,
06377     [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t  buffer,
06378     [out, ref] aafUInt32 *  samplesRead,
06379     [out, ref] aafUInt32 *  bytesRead);
06380 
06381 
06382   //***********************************************************
06383   //
06384   // Seek()
06385   //
06399   HRESULT Seek (
06400     [in] aafPosition_t  sampleFrameNum);
06401 
06402 
06403   //***********************************************************
06404   //
06405   // GetFileFormat()
06406   //
06413   HRESULT GetFileFormat (
06414     [in] IAAFEssenceFormat * opsTemplate,
06415     [out] IAAFEssenceFormat ** opsResult);
06416 
06417 
06418   //***********************************************************
06419   //
06420   // GetFileFormatParameterList()
06421   //
06427   HRESULT GetFileFormatParameterList (
06428     [out] IAAFEssenceFormat ** ops);
06429 
06430 
06431   //***********************************************************
06432   //
06433   // GetEmptyFileFormat()
06434   //
06440   HRESULT GetEmptyFileFormat (
06441     [out] IAAFEssenceFormat ** ops);
06442 
06443 
06444   //***********************************************************
06445   //
06446   // PutFileFormat()
06447   //
06453   HRESULT PutFileFormat (
06454     [in] IAAFEssenceFormat * ops);
06455 
06456 
06457   //***********************************************************
06458   //
06459   // GetCodecName()
06460   //
06477   HRESULT GetCodecName (
06478     [in] aafUInt32  namelen,
06479     [out,size_is(namelen)] aafCharacter *  name);
06480 
06481 
06482   //***********************************************************
06483   //
06484   // GetCodecID()
06485   //
06495   HRESULT GetCodecID (
06496     [out] aafCodecID_t *  codecID);
06497 
06498 
06499   //***********************************************************
06500   //
06501   // CompleteWrite()
06502   //
06512   HRESULT CompleteWrite ();
06513 
06514 
06515 
06516 
06517 
06518 }
06519 
06520 
06521 // ************************
06522 //
06523 // Interface IAAFEssenceData
06524 //
06525 // ************************
06526 
06554 [
06555     object,
06556     uuid(6a33f4e2-8ed6-11d2-bf9d-00104bc9156d),
06557     helpstring("IAAFEssenceData Interface"),
06558     pointer_default(unique)
06559 ]
06560 interface IAAFEssenceData : IUnknown
06561 {
06562 
06563   //***********************************************************
06564   //
06565   // Initialize()
06566   //
06588   HRESULT Initialize (
06589     [in] IAAFSourceMob * pFileMob);
06590 
06591   //***********************************************************
06592   //
06593   // Write()
06594   //
06601   HRESULT Write (
06602     [in] aafUInt32  bytes,
06603     [out, size_is(bytes)] aafDataBuffer_t  buffer,
06604     [out,ref] aafUInt32 *  bytesWritten);
06605 
06606 
06607   //***********************************************************
06608   //
06609   // Read()
06610   //
06617   HRESULT Read (
06618     [in] aafUInt32  bytes,
06619     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
06620     [out,ref] aafUInt32 *  bytesRead);
06621 
06622 
06623   //***********************************************************
06624   //
06625   // SetPosition()
06626   //
06631   HRESULT SetPosition (
06632     [in] aafPosition_t  offset);
06633 
06634 
06635   //***********************************************************
06636   //
06637   // GetPosition()
06638   //
06643   HRESULT GetPosition (
06644     [out] aafPosition_t*  pOffset);
06645 
06646 
06647   //***********************************************************
06648   //
06649   // GetSize()
06650   //
06655   HRESULT GetSize (
06656     [out] aafLength_t *  pSize );
06657 
06658 
06659   //***********************************************************
06660   //
06661   // SetFileMob()
06662   //
06684   HRESULT SetFileMob (
06685     [in] IAAFSourceMob * pFileMob);
06686 
06687 
06688   //***********************************************************
06689   //
06690   // GetFileMob()
06691   //
06714   HRESULT GetFileMob (
06715     [in] IAAFSourceMob ** ppFileMob);
06716 
06717 
06718   //***********************************************************
06719   //
06720   // GetFileMobID()
06721   //
06728   HRESULT GetFileMobID (
06729     [out] aafMobID_t *  pFileMobID);
06730 
06731 
06732 
06733 
06734 
06735 
06736 }
06737 
06738 
06739 // ************************
06740 //
06741 // Interface IAAFEssenceDescriptor
06742 //
06743 // ************************
06768 [
06769     object,
06770     uuid(94659783-2a3c-11D2-bfA4-006097116212),
06771     helpstring("IAAFEssenceDescriptor Interface"),
06772     pointer_default(unique)
06773 ]
06774 interface IAAFEssenceDescriptor : IUnknown
06775 {
06776 
06777   //***********************************************************
06778   //
06779   // CountLocators()
06780   //
06802   HRESULT CountLocators (
06803     [out] aafUInt32 *  pResult);
06804 
06805 
06806   //***********************************************************
06807   //
06808   // AppendLocator()
06809   //
06831   HRESULT AppendLocator (
06832     [in] IAAFLocator * pLocator);
06833 
06834 
06835   //***********************************************************
06836   //
06837   // PrependLocator()
06838   //
06860   HRESULT PrependLocator (
06861     [in] IAAFLocator * pLocator);
06862 
06863 
06864   //***********************************************************
06865   //
06866   // InsertLocatorAt()
06867   //
06896   HRESULT InsertLocatorAt (
06897     [in] aafUInt32  index,
06898     [in] IAAFLocator * pLocator);
06899 
06900 
06901   //***********************************************************
06902   //
06903   // GetLocatorAt()
06904   //
06930   HRESULT GetLocatorAt (
06931     [in] aafUInt32  index,
06932     [out, retval] IAAFLocator ** ppLocator);
06933 
06934 
06935   //***********************************************************
06936   //
06937   // RemoveLocatorAt()
06938   //
06961   HRESULT RemoveLocatorAt (
06962     [in] aafUInt32  index);
06963 
06964 
06965   //***********************************************************
06966   //
06967   // GetLocators()
06968   //
06989   HRESULT GetLocators (
06990     [out] IEnumAAFLocators ** ppEnum);
06991 }
06992 
06993 
06994 
06995 // ************************
06996 //
06997 // Interface IAAFEvent
06998 //
06999 // ************************
07000 
07029 [
07030     object,
07031     uuid(e684d790-b935-11d2-bf9d-00104bc9156d),
07032     helpstring("IAAFEvent Interface"),
07033     pointer_default(unique)
07034 ]
07035 interface IAAFEvent : IUnknown
07036 {
07037 
07038 
07039   //***********************************************************
07040   //
07041   // GetPosition()
07042   //
07063   HRESULT GetPosition (
07064     [out,retval] aafPosition_t *  pPosition);
07065 
07066   //***********************************************************
07067   //
07068   // SetPosition()
07069   //
07084   HRESULT SetPosition (
07085     [in] aafPosition_t  Position);
07086 
07087 
07088   //***********************************************************
07089   //
07090   // SetComment()
07091   //
07120   HRESULT SetComment (
07121     [in, string] aafCharacter_constptr  pComment);
07122 
07123 
07124   //***********************************************************
07125   //
07126   // GetComment()
07127   //
07165   HRESULT GetComment (
07166     [out, string, size_is(bufSize)] aafCharacter *  pComment,
07167     [in] aafUInt32  bufSize);
07168 
07169 
07170   //***********************************************************
07171   //
07172   // GetCommentBufLen()
07173   //
07191   HRESULT GetCommentBufLen (
07192     [out] aafUInt32 *  pBufSize);
07193 
07194 }
07195 
07196 
07197 
07198 // ************************
07199 //
07200 // Interface IAAFEventMobSlot
07201 //
07202 // ************************
07203 
07210 
07211 
07216 [
07217     object,
07218     uuid(e684d766-b935-11d2-bf9d-00104bc9156d),
07219     helpstring("IAAFEventMobSlot Interface"),
07220     pointer_default(unique)
07221 ]
07222 interface IAAFEventMobSlot : IUnknown
07223 {
07224 
07225   //***********************************************************
07226   //
07227   // GetEditRate()
07228   //
07249   HRESULT GetEditRate (
07250     [out,retval] aafRational_t *  pEditRate);
07251 
07252 
07253   //***********************************************************
07254   //
07255   // SetEditRate()
07256   //
07277   HRESULT SetEditRate (
07278     [in] aafRational_t *  pEditRate);
07279 
07280 
07281 
07282 }
07283 
07284 
07285 
07286 // ************************
07287 //
07288 // Interface IAAFFile
07289 //
07290 // ************************
07312 [
07313     object,
07314     uuid(9346ACD3-2713-11d2-8035-006008143E6F),
07315     helpstring("IAAFFile Interface"),
07316     pointer_default(unique)
07317 ]
07318 interface IAAFFile : IUnknown
07319 {
07320 
07321   //***********************************************************
07322   //
07323   // Open()
07324   //
07342   HRESULT Open ();
07343 
07344 
07345   //***********************************************************
07346   //
07347   // SaveCopyAs()
07348   //
07372   HRESULT SaveCopyAs (
07373     [in] IAAFFile * pDestFile);
07374 
07375 
07376   //***********************************************************
07377   //
07378   // GetHeader()
07379   //
07414   HRESULT GetHeader (
07415     [out, retval] IAAFHeader ** ppHeader);
07416 
07417 
07418   //***********************************************************
07419   //
07420   // GetRevision()
07421   //
07446   HRESULT GetRevision (
07447     [out, retval] aafFileRev_t *  pRev);
07448 
07449 
07450   //***********************************************************
07451   //
07452   // Save()
07453   //
07479   HRESULT Save ();
07480 
07481 
07482   //***********************************************************
07483   //
07484   // Close()
07485   //
07511   HRESULT Close ();
07512 
07513   //***********************************************************
07514   //
07515   // GetDictionary()
07516   //
07539   HRESULT GetDictionary (
07540     [out, retval] IAAFDictionary ** ppDictionary);
07541 
07542 }
07543 
07544 
07545 
07546 // ************************
07547 //
07548 // Interface IAAFFileDescriptor
07549 //
07550 // ************************
07572 
07573 
07578 [
07579     object,
07580     uuid(e58a8561-2a3e-11D2-bfa4-006097116212),
07581     helpstring("IAAFFileDescriptor Interface"),
07582     pointer_default(unique)
07583 ]
07584 interface IAAFFileDescriptor : IUnknown
07585 {
07586 
07587   //***********************************************************
07588   //
07589   // SetLength()
07590   //
07605   HRESULT SetLength (
07606     [in] aafLength_t  length);
07607 
07608 
07609   //***********************************************************
07610   //
07611   // GetLength()
07612   //
07632   HRESULT GetLength (
07633     [out] aafLength_t *  pLength);
07634 
07635 
07636   //***********************************************************
07637   //
07638   // SetCodecDef()
07639   //
07653   HRESULT SetCodecDef (
07654     [in] IAAFCodecDef * codecDef);
07655 
07656 
07657   //***********************************************************
07658   //
07659   // GetCodecDef()
07660   //
07680   HRESULT GetCodecDef (
07681     [out] IAAFCodecDef ** pCodecDef);
07682 
07683 
07684   //***********************************************************
07685   //
07686   // SetSampleRate()
07687   //
07702   HRESULT SetSampleRate (
07703     [in] aafRational_constref  rate);
07704 
07705 
07706   //***********************************************************
07707   //
07708   // GetSampleRate()
07709   //
07730   HRESULT GetSampleRate (
07731     [out] aafRational_t*  pRate);
07732 
07733 
07734   //***********************************************************
07735   //
07736   // SetContainerFormat()
07737   //
07753   HRESULT SetContainerFormat (
07754     [in] IAAFContainerDef * format);
07755 
07756 
07757   //***********************************************************
07758   //
07759   // GetContainerFormat()
07760   //
07780   HRESULT GetContainerFormat (
07781     [out] IAAFContainerDef ** pFormat);
07782 }
07783 
07784 
07785 
07786 // ************************
07787 //
07788 // Interface IAAFFilmDescriptor
07789 //
07790 // ************************
07808 [
07809     object,
07810     uuid(e58a8563-2a3e-11D2-bfa4-006097116212),
07811     helpstring("IAAFFilmDescriptor Interface"),
07812     pointer_default(unique)
07813 ]
07814 interface IAAFFilmDescriptor : IUnknown
07815 {
07816 
07817   //***********************************************************
07818   //
07819   // SetFilmManufacturer()
07820   //
07849   HRESULT SetFilmManufacturer (
07850     [in, string] aafCharacter_constptr  pFilmManufacturer);
07851 
07852 
07853   //***********************************************************
07854   //
07855   // GetFilmManufacturer()
07856   //
07894   HRESULT GetFilmManufacturer (
07895     [out, string, size_is(bufSize)] aafCharacter *  pFilmManufacturer,
07896     [in] aafUInt32  bufSize);
07897 
07898 
07899   //***********************************************************
07900   //
07901   // GetFilmManufacturerBufLen()
07902   //
07920   HRESULT GetFilmManufacturerBufLen (
07921     [out] aafUInt32 *  pBufSize);
07922 
07923 
07924   //***********************************************************
07925   //
07926   // SetFilmModel()
07927   //
07956   HRESULT SetFilmModel (
07957     [in, string] aafCharacter_constptr  pFilmModel);
07958 
07959 
07960   //***********************************************************
07961   //
07962   // GetFilmModel()
07963   //
08001   HRESULT GetFilmModel (
08002     [out, string, size_is(bufSize)] aafCharacter *  pFilmModel,
08003     [in] aafUInt32  bufSize);
08004 
08005 
08006   //***********************************************************
08007   //
08008   // GetFilmModelBufLen()
08009   //
08027   HRESULT GetFilmModelBufLen (
08028     [out] aafUInt32 *  pBufSize);
08029 
08030 
08031   //***********************************************************
08032   //
08033   // GetFilmFormat()
08034   //
08061   HRESULT GetFilmFormat (
08062     [out] aafFilmType_t*  pFilmFormat);
08063 
08064 
08065   //***********************************************************
08066   //
08067   // GetFrameRate()
08068   //
08089   HRESULT GetFrameRate (
08090     [out] aafUInt32*  pRate);
08091 
08092 
08093   //***********************************************************
08094   //
08095   // GetPerfPerFrame()
08096   //
08117   HRESULT GetPerfPerFrame (
08118     [out] aafUInt8*  pPerfPerFrame);
08119 
08120 
08121   //***********************************************************
08122   //
08123   // GetFilmAspectRatio()
08124   //
08145   HRESULT GetFilmAspectRatio (
08146     [out] aafRational_t*  pAspectRatio);
08147 
08148 
08149   //***********************************************************
08150   //
08151   // SetFilmFormat()
08152   //
08178   HRESULT SetFilmFormat (
08179     [in] aafFilmType_t  filmFormat);
08180 
08181 
08182   //***********************************************************
08183   //
08184   // SetFrameRate()
08185   //
08200   HRESULT SetFrameRate (
08201     [in] aafUInt32  rate);
08202 
08203 
08204   //***********************************************************
08205   //
08206   // SetPerfPerFrame()
08207   //
08222   HRESULT SetPerfPerFrame (
08223     [in] aafUInt8  perfPerFrame);
08224 
08225 
08226   //***********************************************************
08227   //
08228   // SetFilmAspectRatio()
08229   //
08244   HRESULT SetFilmAspectRatio (
08245     [in] aafRational_t  aspectRatio);
08246 }
08247 
08248 
08249 
08250 // ************************
08251 //
08252 // Interface IAAFDigitalImageDescriptor
08253 //
08254 // ************************
08344 
08345 
08352 [
08353     object,
08354     uuid(44861701-8AEA-11d2-813C-006097310172),
08355     helpstring("IAAFDigitalImageDescriptor Interface"),
08356     pointer_default(unique)
08357 ]
08358 
08359 interface IAAFDigitalImageDescriptor : IUnknown
08360 {
08361 
08362   //***********************************************************
08363   //
08364   // SetCompression()
08365   //
08381   HRESULT SetCompression (
08382     [in] aafUID_constref  compression);
08383 
08384 
08385   //***********************************************************
08386   //
08387   // GetCompression()
08388   //
08408   HRESULT GetCompression (
08409     [out] aafUID_t *  pCompression);
08410 
08411 
08412   //***********************************************************
08413   //
08414   // SetStoredView()
08415   //
08431   HRESULT SetStoredView (
08432     [in] aafUInt32  StoredHeight,
08433     [in] aafUInt32  StoredWidth);
08434 
08435 
08436   //***********************************************************
08437   //
08438   // GetStoredView()
08439   //
08461   HRESULT GetStoredView (
08462     [out] aafUInt32 *  pStoredHeight,
08463     [out] aafUInt32 *  pStoredWidth);
08464 
08465 
08466   //***********************************************************
08467   //
08468   // SetSampledView()
08469   //
08503   HRESULT SetSampledView (
08504     [in] aafUInt32  SampledHeight,
08505     [in] aafUInt32  SampledWidth,
08506     [in] aafInt32  SampledXOffset,
08507     [in] aafInt32  SampledYOffset);
08508 
08509 
08510   //***********************************************************
08511   //
08512   // GetSampledView()
08513   //
08543   HRESULT GetSampledView (
08544     [out] aafUInt32 *  pSampledHeight,
08545     [out] aafUInt32 *  pSampledWidth,
08546     [out] aafInt32 *  pSampledXOffset,
08547     [out] aafInt32 *  pSampledYOffset);
08548 
08549 
08550   //***********************************************************
08551   //
08552   // SetDisplayView()
08553   //
08591   HRESULT SetDisplayView (
08592     [in] aafUInt32  DisplayHeight,
08593     [in] aafUInt32  DisplayWidth,
08594     [in] aafInt32  DisplayXOffset,
08595     [in] aafInt32  DisplayYOffset);
08596 
08597 
08598   //***********************************************************
08599   //
08600   // GetDisplayView()
08601   //
08631   HRESULT GetDisplayView (
08632     [out] aafUInt32 *  pDisplayHeight,
08633     [out] aafUInt32 *  pDisplayWidth,
08634     [out] aafInt32 *  pDisplayXOffset,
08635     [out] aafInt32 *  pDisplayYOffset);
08636 
08637 
08638   //***********************************************************
08639   //
08640   // SetFrameLayout()
08641   //
08675   HRESULT SetFrameLayout (
08676     [in] aafFrameLayout_t  FrameLayout);
08677 
08678 
08679   //***********************************************************
08680   //
08681   // GetFrameLayout()
08682   //
08715   HRESULT GetFrameLayout (
08716     [out] aafFrameLayout_t *  pFrameLayout);
08717 
08718 
08719   //***********************************************************
08720   //
08721   // SetVideoLineMap()
08722   //
08746   HRESULT SetVideoLineMap (
08747     [in] aafUInt32  numberElements,
08748     [in, size_is(numberElements)] aafInt32 *  pVideoLineMap);
08749 
08750 
08751   //***********************************************************
08752   //
08753   // GetVideoLineMap()
08754   //
08786   HRESULT GetVideoLineMap (
08787     [in] aafUInt32  numberElements,
08788     [out, size_is(numberElements)] aafInt32 *  pVideoLineMap);
08789 
08790 
08791   //***********************************************************
08792   //
08793   // GetVideoLineMapSize()
08794   //
08812   HRESULT GetVideoLineMapSize (
08813     [out] aafUInt32 *  pNumberElements);
08814 
08815 
08816   //***********************************************************
08817   //
08818   // SetImageAspectRatio()
08819   //
08837   HRESULT SetImageAspectRatio (
08838     [in] aafRational_t  ImageAspectRatio);
08839 
08840 
08841   //***********************************************************
08842   //
08843   // GetImageAspectRatio()
08844   //
08864   HRESULT GetImageAspectRatio (
08865     [out] aafRational_t *  pImageAspectRatio);
08866 
08867 
08868   //***********************************************************
08869   //
08870   // SetAlphaTransparency()
08871   //
08896   HRESULT SetAlphaTransparency (
08897     [in] aafAlphaTransparency_t  AlphaTransparency);
08898 
08899 
08900   //***********************************************************
08901   //
08902   // GetAlphaTransparency()
08903   //
08925   HRESULT GetAlphaTransparency (
08926     [out] aafAlphaTransparency_t *  pAlphaTransparency);
08927 
08928 
08929   //***********************************************************
08930   //
08931   // SetGamma()
08932   //
08948   HRESULT SetGamma (
08949     [in] aafUID_t  Gamma);
08950 
08951 
08952   //***********************************************************
08953   //
08954   // GetGamma()
08955   //
08973   HRESULT GetGamma (
08974     [out] aafUID_t *  pGamma);
08975 
08976 
08977   //***********************************************************
08978   //
08979   // SetImageAlignmentFactor()
08980   //
09000   HRESULT SetImageAlignmentFactor (
09001     [in] aafUInt32  ImageAlignmentFactor);
09002 
09003 
09004   //***********************************************************
09005   //
09006   // GetImageAlignmentFactor()
09007   //
09030   HRESULT GetImageAlignmentFactor (
09031     [out] aafUInt32 *  pImageAlignmentFactor);
09032 
09033 
09034 
09035 
09036 
09037 
09038 
09039 
09040 
09041 
09042 
09043 
09044 
09045 
09046 
09047 
09048 
09049 
09050 
09051 
09052 
09053 
09054 }
09055 
09056 
09057 // ************************
09058 //
09059 // Interface IAAFCDCIDescriptor
09060 //
09061 // ************************
09078 
09079 
09088 [
09089     object,
09090     uuid(44861703-8AEA-11d2-813C-006097310172),
09091     helpstring("IAAFCDCIDescriptor Interface"),
09092     pointer_default(unique)
09093 ]
09094 
09095 interface IAAFCDCIDescriptor : IUnknown
09096 {
09097 
09098   //***********************************************************
09099   //
09100   // Initialize()
09101   //
09119   HRESULT Initialize ();
09120 
09121 
09122   //***********************************************************
09123   //
09124   // SetComponentWidth()
09125   //
09148   HRESULT SetComponentWidth (
09149     [in] aafInt32  ComponentWidth);
09150 
09151 
09152   //***********************************************************
09153   //
09154   // GetComponentWidth()
09155   //
09183   HRESULT GetComponentWidth (
09184     [out] aafInt32 *  pComponentWidth);
09185 
09186 
09187   //***********************************************************
09188   //
09189   // SetHorizontalSubsampling()
09190   //
09211   HRESULT SetHorizontalSubsampling (
09212     [in] aafUInt32  HorizontalSubsampling);
09213 
09214 
09215   //***********************************************************
09216   //
09217   // GetHorizontalSubsampling()
09218   //
09245   HRESULT GetHorizontalSubsampling (
09246     [out] aafUInt32 *  pHorizontalSubsampling);
09247 
09248 
09249   //***********************************************************
09250   //
09251   // SetVerticalSubsampling()
09252   //
09273   HRESULT SetVerticalSubsampling (
09274     [in] aafUInt32  VerticalSubsampling);
09275 
09276 
09277   //***********************************************************
09278   //
09279   // GetVerticalSubsampling()
09280   //
09307   HRESULT GetVerticalSubsampling (
09308     [out] aafUInt32 *  pVerticalSubsampling);
09309 
09310 
09311   //***********************************************************
09312   //
09313   // SetColorSiting()
09314   //
09353   HRESULT SetColorSiting (
09354     [in] aafColorSiting_t  ColorSiting);
09355 
09356 
09357   //***********************************************************
09358   //
09359   // GetColorSiting()
09360   //
09403   HRESULT GetColorSiting (
09404     [out] aafColorSiting_t *  pColorSiting);
09405 
09406 
09407   //***********************************************************
09408   //
09409   // SetBlackReferenceLevel()
09410   //
09437   HRESULT SetBlackReferenceLevel (
09438     [in] aafUInt32  BlackReferenceLevel);
09439 
09440 
09441   //***********************************************************
09442   //
09443   // GetBlackReferenceLevel()
09444   //
09474   HRESULT GetBlackReferenceLevel (
09475     [out] aafUInt32 *  pBlackReferenceLevel);
09476 
09477 
09478   //***********************************************************
09479   //
09480   // SetWhiteReferenceLevel()
09481   //
09506   HRESULT SetWhiteReferenceLevel (
09507     [in] aafUInt32  WhiteReferenceLevel);
09508 
09509 
09510   //***********************************************************
09511   //
09512   // GetWhiteReferenceLevel()
09513   //
09540   HRESULT GetWhiteReferenceLevel (
09541     [out] aafUInt32 *  pWhiteReferenceLevel);
09542 
09543 
09544   //***********************************************************
09545   //
09546   // SetColorRange()
09547   //
09577   HRESULT SetColorRange (
09578     [in] aafUInt32  ColorRange);
09579 
09580 
09581   //***********************************************************
09582   //
09583   // GetColorRange()
09584   //
09614   HRESULT GetColorRange (
09615     [out] aafUInt32 *  pColorRange);
09616 
09617 
09618   //***********************************************************
09619   //
09620   // SetPaddingBits()
09621   //
09640   HRESULT SetPaddingBits (
09641     [in] aafInt16  PaddingBits);
09642 
09643 
09644   //***********************************************************
09645   //
09646   // GetPaddingBits()
09647   //
09670   HRESULT GetPaddingBits (
09671     [out] aafInt16 *  pPaddingBits);
09672 
09673 
09674 
09675 
09676 
09677 
09678 }
09679 
09680 
09681 // ************************
09682 //
09683 // Interface IAAFEssenceFormat
09684 //
09685 // ************************
09708 
09709 
09710 [
09711     object,
09712     uuid(34C2DC82-904C-11d2-8088-006008143E6F),
09713     helpstring("IAAFEssenceFormat Interface"),
09714     pointer_default(unique)
09715 ]
09716 interface IAAFEssenceFormat : IUnknown
09717 {
09718 
09719   //***********************************************************
09720   //
09721   // AddFormatSpecifier()
09722   //
09735   HRESULT AddFormatSpecifier (
09736     [in] aafUID_constref  essenceFormatCode,
09737     [in] aafInt32  valueSize,
09738     [in, size_is(valueSize)] aafDataBuffer_t  value);
09739 
09740 
09741   //***********************************************************
09742   //
09743   // GetFormatSpecifier()
09744   //
09757   HRESULT GetFormatSpecifier (
09758     [in] aafUID_constref  essenceFormatCode,
09759     [in] aafInt32  valueSize,
09760     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  value,
09761     [out] aafInt32*  bytesRead);
09762 
09763 
09764   //***********************************************************
09765   //
09766   // NumFormatSpecifiers()
09767   //
09773   HRESULT NumFormatSpecifiers (
09774     [out] aafInt32*  numSpecifiers);
09775 
09776 
09777   //***********************************************************
09778   //
09779   // GetIndexedFormatSpecifier()
09780   //
09790   HRESULT GetIndexedFormatSpecifier (
09791     [in] aafInt32  index,
09792     [out] aafUID_t*  essenceFormatCode,
09793     [in] aafInt32  valueSize,
09794     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  value,
09795     [out] aafInt32*  bytesRead);
09796 }
09797 
09798 
09799 
09800 // ************************
09801 //
09802 // Interface IAAFEssenceGroup
09803 //
09804 // ************************
09827 [
09828     object,
09829     uuid(e58a8567-2a3e-11D2-bfa4-006097116212),
09830     helpstring("IAAFEssenceGroup Interface"),
09831     pointer_default(unique)
09832 ]
09833 interface IAAFEssenceGroup : IUnknown
09834 {
09835 
09836   //***********************************************************
09837   //
09838   // SetStillFrame()
09839   //
09858   HRESULT SetStillFrame (
09859     [in] IAAFSourceClip * pStillFrame);
09860     
09861 
09862   //***********************************************************
09863   //
09864   // GetStillFrame()
09865   //
09883   HRESULT GetStillFrame (
09884     [out] IAAFSourceClip ** ppStillFrame);
09885 
09886 
09887   //***********************************************************
09888   //
09889   // AppendChoice()
09890   //
09910   HRESULT AppendChoice (
09911     [in] IAAFSegment * pChoice);
09912 
09913 
09914   //***********************************************************
09915   //
09916   // PrependChoice()
09917   //
09937   HRESULT PrependChoice (
09938     [in] IAAFSegment * pChoice);
09939 
09940 
09941   //***********************************************************
09942   //
09943   // InsertChoiceAt()
09944   //
09973   HRESULT InsertChoiceAt (
09974     [in] aafUInt32  index,
09975     [in] IAAFSegment * pChoice);
09976 
09977 
09978   //***********************************************************
09979   //
09980   // CountChoices()
09981   //
10002   HRESULT CountChoices (
10003     [out] aafUInt32*   pCount);
10004 
10005 
10006   //***********************************************************
10007   //
10008   // GetChoiceAt()
10009   //
10033   HRESULT GetChoiceAt (
10034     [in] aafUInt32  index,
10035     [out] IAAFSegment  ** ppChoice);
10036 
10037 
10038   //***********************************************************
10039   //
10040   // RemoveChoiceAt()
10041   //
10067   HRESULT RemoveChoiceAt (
10068     [in] aafUInt32  index);
10069 }
10070 
10071 
10072 
10073 // ************************
10074 //
10075 // Interface IAAFFiller
10076 //
10077 // ************************
10100 [
10101     object,
10102     uuid(38e6f8a9-2a2c-11d2-8411-00600832acb8),
10103     helpstring("IAAFFiller Interface"),
10104     pointer_default(unique)
10105 ]
10106 
10107 interface IAAFFiller : IUnknown
10108 {
10109 
10110   //***********************************************************
10111   //
10112   // Initialize()
10113   //
10141   HRESULT Initialize (
10142     [in] IAAFDataDef * pDataDef,
10143     [in] aafLength_t  length);
10144 }
10145 
10146 
10147 
10148 // ************************
10149 //
10150 // Interface IAAFFindSourceInfo
10151 //
10152 // ************************
10153 [
10154     object,
10155     uuid(9346ACD1-2713-11d2-8035-006008143E6F),
10156     helpstring("IAAFFindSourceInfo Interface"),
10157     pointer_default(unique)
10158 ]
10159 interface IAAFFindSourceInfo : IUnknown
10160 {
10161 
10162 
10163   //***********************************************************
10164   //
10165   // GetMob()
10166   //
10190   HRESULT GetMob (
10191     [out] IAAFMob ** ppMob);
10192 
10193   //***********************************************************
10194   //
10195   // GetSourceReference()
10196   //
10224   HRESULT GetSourceReference (
10225     [out] aafSourceRef_t *  pSourceRef);
10226 
10227   //***********************************************************
10228   //
10229   // GetLength()
10230   //
10258   HRESULT GetLength (
10259     [retval][out] aafLength_t *  pLength);
10260 
10261   //***********************************************************
10262   //
10263   // GetEditRate()
10264   //
10285   HRESULT GetEditRate (
10286     [out,retval] aafRational_t *  pEditRate);
10287 
10288 }
10289 
10290 
10291 
10292 // ************************
10293 //
10294 // Interface IAAFOperationGroup
10295 //
10296 // ************************
10326 [
10327     object,
10328     uuid(3AE3BA82-2C98-11d2-8042-006008143E6F),
10329     helpstring("IAAFOperationGroup Interface"),
10330     pointer_default(unique)
10331 ]
10332 interface IAAFOperationGroup : IUnknown
10333 {
10334 
10335   //***********************************************************
10336   //
10337   // Initialize()
10338   //
10350   HRESULT Initialize (
10351     [in] IAAFDataDef * pDataDef,
10352     [in] aafLength_t  length,
10353     [in] IAAFOperationDef * operationDef);
10354 
10355 
10356   //***********************************************************
10357   //
10358   // GetOperationDefinition()
10359   //
10385   HRESULT GetOperationDefinition (
10386     [out] IAAFOperationDef ** ppOperationDef);
10387 
10388   //***********************************************************
10389   //
10390   // SetOperationDefinition()
10391   //
10413   HRESULT SetOperationDefinition (
10414     [in] IAAFOperationDef * pOperationDef);
10415 
10416   //***********************************************************
10417   //
10418   // GetRender()
10419   //
10447   HRESULT GetRender (
10448     [out] IAAFSourceReference ** ppSourceRef);
10449 
10450 
10451   //***********************************************************
10452   //
10453   // IsATimeWarp()
10454   //
10478   HRESULT IsATimeWarp (
10479     [out, retval] aafBoolean_t *  pIsTimeWarp);
10480 
10481 
10482   //***********************************************************
10483   //
10484   // GetBypassOverride()
10485   //
10512   HRESULT GetBypassOverride (
10513     [out] aafUInt32 *  pBypassOverride);
10514 
10515 
10516   //***********************************************************
10517   //
10518   // CountSourceSegments()
10519   //
10539   HRESULT CountSourceSegments (
10540     [out] aafUInt32 *  pResult);
10541 
10542 
10543   //***********************************************************
10544   //
10545   // IsValidTranOperation()
10546   //
10570   HRESULT IsValidTranOperation (
10571     [out] aafBoolean_t *  pValidTransition);
10572 
10573 
10574   //***********************************************************
10575   //
10576   // CountParameters()
10577   //
10597   HRESULT CountParameters (
10598     [out] aafUInt32 *  pResult);
10599 
10600 
10601   //***********************************************************
10602   //
10603   // AddParameter()
10604   //
10625   HRESULT AddParameter (
10626     [in] IAAFParameter * pParameter);
10627 
10628 
10629   //***********************************************************
10630   //
10631   // AppendInputSegment()
10632   //
10653   HRESULT AppendInputSegment (
10654     [in] IAAFSegment * pSegment);
10655 
10656 
10657   //***********************************************************
10658   //
10659   // PrependInputSegment()
10660   //
10681   HRESULT PrependInputSegment (
10682     [in] IAAFSegment * pSegment);
10683 
10684 
10685   //***********************************************************
10686   //
10687   // InsertInputSegmentAt()
10688   //
10718   HRESULT InsertInputSegmentAt (
10719     [in] aafUInt32  index,
10720     [in] IAAFSegment * pSegment);
10721 
10722 
10723   //***********************************************************
10724   //
10725   // SetRender()
10726   //
10750   HRESULT SetRender (
10751     [in] IAAFSourceReference * ppSourceRef);
10752 
10753 
10754   //***********************************************************
10755   //
10756   // SetBypassOverride()
10757   //
10773   HRESULT SetBypassOverride (
10774     [in] aafUInt32  bypassOverride);
10775 
10776 
10777   //***********************************************************
10778   //
10779   // GetParameters()
10780   //
10800   HRESULT GetParameters (
10801     [out] IEnumAAFParameters ** ppEnum);
10802 
10803 
10804   //***********************************************************
10805   //
10806   // LookupParameter()
10807   //
10832   HRESULT LookupParameter (
10833     [in] aafArgIDType_constref  argID,
10834     [out] IAAFParameter ** ppParameter);
10835 
10836 
10837   //***********************************************************
10838   //
10839   // GetInputSegmentAt()
10840   //
10866   HRESULT GetInputSegmentAt (
10867     [in] aafUInt32  index,
10868     [out] IAAFSegment ** ppInputSegment);
10869 
10870 
10871   //***********************************************************
10872   //
10873   // RemoveInputSegmentAt()
10874   //
10895   HRESULT RemoveInputSegmentAt (
10896     [in] aafUInt32  index);
10897 }
10898 
10899 
10900 
10901 // ************************
10902 //
10903 // Interface IAAFGPITrigger
10904 //
10905 // ************************
10906 
10936 [
10937     object,
10938     uuid(e684d78c-b935-11d2-bf9d-00104bc9156d),
10939     helpstring("IAAFGPITrigger Interface"),
10940     pointer_default(unique)
10941 ]
10942 interface IAAFGPITrigger : IUnknown
10943 {
10944 
10945 
10946   //***********************************************************
10947   //
10948   // GetActiveState()
10949   //
10968   HRESULT GetActiveState (
10969     [out, retval] aafBoolean_t *  pActiveState);
10970 
10971 
10972   //***********************************************************
10973   //
10974   // SetActiveState()
10975   //
10988   HRESULT SetActiveState (
10989     [in] aafBoolean_t  ActiveState);
10990 
10991 }
10992 
10993 
10994 
10995 
10996 // ************************
10997 //
10998 // Interface IAAFHeader
10999 //
11000 // ************************
11020 [
11021     object,
11022     uuid(B1A21382-1A7D-11D2-BF78-00104BC9156D),
11023     helpstring("IAAFHeader Interface"),
11024     pointer_default(unique)
11025 ]
11026 interface IAAFHeader : IUnknown
11027 {
11028   //***********************************************************
11029   //
11030   // LookupMob()
11031   //
11057   HRESULT LookupMob (
11058     [in, ref] aafMobID_constref  mobID,
11059     [out,retval] IAAFMob ** ppMob);
11060 
11061 
11062   //***********************************************************
11063   //
11064   // CountMobs()
11065   //
11087   HRESULT CountMobs (
11088     [in] aafMobKind_t  mobKind,
11089     [out, retval] aafNumSlots_t *  pResult);
11090 
11091 
11092   //***********************************************************
11093   //
11094   // GetMobs()
11095   //
11121   HRESULT GetMobs (
11122     [in] aafSearchCrit_t *  pSearchCriteria,
11123     [out, retval] IEnumAAFMobs ** ppEnum);
11124 
11125 
11126   //***********************************************************
11127   //
11128   // AddMob()
11129   //
11154   HRESULT AddMob (
11155     [in] IAAFMob * pMob);
11156 
11157 
11158   //***********************************************************
11159   //
11160   // RemoveMob()
11161   //
11185   HRESULT RemoveMob (
11186     [in] IAAFMob * pMob);
11187 
11188 
11189   //***********************************************************
11190   //
11191   // CountEssenceData()
11192   //
11214   HRESULT CountEssenceData (
11215     [out, retval] aafUInt32 *  pResult);
11216 
11217 
11218   //***********************************************************
11219   //
11220   // IsEssenceDataPresent()
11221   //
11242   HRESULT IsEssenceDataPresent (
11243     [in, ref] aafMobID_constref  fileMobID,
11244     [in] aafFileFormat_t  fmt,
11245     [out,retval] aafBoolean_t *  pResult);
11246 
11247 
11248   //***********************************************************
11249   //
11250   // EnumEssenceData()
11251   //
11274   HRESULT EnumEssenceData (
11275     [out,retval] IEnumAAFEssenceData ** ppEnum);
11276 
11277 
11278   //***********************************************************
11279   //
11280   // AddEssenceData()
11281   //
11305   HRESULT AddEssenceData (
11306     [in] IAAFEssenceData * pEssenceData);
11307 
11308   //***********************************************************
11309   //
11310   // RemoveEssenceData()
11311   //
11335   HRESULT RemoveEssenceData (
11336     [in] IAAFEssenceData * pEssenceData);
11337 
11338   //***********************************************************
11339   //
11340   // LookupEssenceData()
11341   //
11367   HRESULT LookupEssenceData (
11368     [in, ref] aafMobID_constref  mobID,
11369     [out,retval] IAAFEssenceData ** ppEssenceData);
11370 
11371   //***********************************************************
11372   //
11373   // GetDictionary()
11374   //
11397   HRESULT GetDictionary (
11398     [out, retval] IAAFDictionary ** ppDictionary);
11399 
11400 
11401   //***********************************************************
11402   //
11403   // GetLastIdentification()
11404   //
11426   HRESULT GetLastIdentification (
11427     [out,retval] IAAFIdentification ** ppIdentification);
11428 
11429 
11430   //***********************************************************
11431   //
11432   // LookupIdentification()
11433   //
11460   HRESULT LookupIdentification (
11461     [in, ref] aafUID_constref  generation,
11462     [out,retval] IAAFIdentification ** ppIdentification);
11463 
11464 
11465   //***********************************************************
11466   //
11467   // CountIdentifications()
11468   //
11489   HRESULT CountIdentifications (
11490     [out, retval] aafUInt32 *  pResult);
11491 
11492 
11493   //***********************************************************
11494   //
11495   // GetIdentifications()
11496   //
11518   HRESULT GetIdentifications (
11519     [out,retval] IEnumAAFIdentifications ** ppEnum);
11520 
11521 
11522   //***********************************************************
11523   //
11524   // AppendIdentification()
11525   //
11548   HRESULT AppendIdentification (
11549     [in] IAAFIdentification * pIdent);
11550 
11551 
11552   //***********************************************************
11553   //
11554   // GetIdentificationAt()
11555   //
11579   HRESULT GetIdentificationAt (
11580     [in] aafUInt32  index,
11581     [out, retval] IAAFIdentification ** ppIdentification);
11582 
11583 
11584   //***********************************************************
11585   //
11586   // GetRefImplVersion()
11587   //
11608   HRESULT GetRefImplVersion (
11609     [out, retval] aafProductVersion_t *  pVersion);
11610 
11611 
11612   //***********************************************************
11613   //
11614   // GetFileRevision()
11615   //
11635   HRESULT GetFileRevision (
11636     [out, retval] aafVersionType_t *  pRevision);
11637 
11638 
11639   //***********************************************************
11640   //
11641   // GetLastModified()
11642   //
11662   HRESULT GetLastModified (
11663     [out, retval] aafTimeStamp_t *  pTimeStamp);
11664 
11665 
11666   //***********************************************************
11667   //
11668   // GetContentStorage()
11669   //
11694   HRESULT GetContentStorage (
11695     [out] IAAFContentStorage ** ppStorage);
11696 
11697 
11698 
11699 
11700 
11701 
11702 
11703 
11704 
11705 
11706 
11707 
11708 
11709 
11710 
11711 
11712 
11713 
11714 }
11715 
11716 
11717 // ************************
11718 //
11719 // Interface IAAFIdentification
11720 //
11721 // ************************
11747 
11748 
11752 [
11753     object,
11754     uuid(B1A2137E-1A7D-11D2-BF78-00104BC9156D),
11755     helpstring("IAAFIdentification Interface"),
11756     pointer_default(unique)
11757 ]
11758 interface IAAFIdentification : IUnknown
11759 {
11760 
11761   //***********************************************************
11762   //
11763   // Initialize()
11764   //
11806   HRESULT Initialize (
11807     [in] aafCharacter_constptr  companyName,
11808     [in] aafCharacter_constptr  productName,
11809     [in] aafCharacter_constptr  productVersionString,
11810     [in] aafUID_constref  productID);
11811 
11812 
11813   //***********************************************************
11814   //
11815   // GetCompanyName()
11816   //
11854   HRESULT GetCompanyName (
11855     [out, string, size_is(bufSize)] aafCharacter *  pCompanyName,
11856     [in] aafUInt32  bufSize);
11857 
11858 
11859   //***********************************************************
11860   //
11861   // GetCompanyNameBufLen()
11862   //
11880   HRESULT GetCompanyNameBufLen (
11881     [out] aafUInt32 *  pBufSize);
11882 
11883 
11884   //***********************************************************
11885   //
11886   // GetProductName()
11887   //
11925   HRESULT GetProductName (
11926     [out, string, size_is(bufSize)] aafCharacter *  pProductName,
11927     [in] aafUInt32  bufSize);
11928 
11929 
11930   //***********************************************************
11931   //
11932   // GetProductNameBufLen()
11933   //
11951   HRESULT GetProductNameBufLen (
11952     [out] aafUInt32 *  pBufSize);
11953 
11954 
11955   //***********************************************************
11956   //
11957   // GetProductVersionString()
11958   //
11996   HRESULT GetProductVersionString (
11997     [out, string, size_is(bufSize)] aafCharacter *  pProductVersionString,
11998     [in] aafUInt32  bufSize);
11999 
12000 
12001   //***********************************************************
12002   //
12003   // GetProductVersionStringBufLen()
12004   //
12022   HRESULT GetProductVersionStringBufLen (
12023     [out] aafUInt32 *  pBufSize);
12024 
12025 
12026   //***********************************************************
12027   //
12028   // GetProductVersion()
12029   //
12053   HRESULT GetProductVersion (
12054     [out] aafProductVersion_t *  pVersion);
12055 
12056 
12057   //***********************************************************
12058   //
12059   // SetProductVersion()
12060   //
12081   HRESULT SetProductVersion (
12082     [in] aafProductVersion_constref  version);
12083 
12084 
12085   //***********************************************************
12086   //
12087   // GetProductID()
12088   //
12115   HRESULT GetProductID (
12116     [out] aafUID_t *  pProductID);
12117 
12118 
12119   //***********************************************************
12120   //
12121   // GetDate()
12122   //
12151   HRESULT GetDate (
12152     [out] aafTimeStamp_t *  pTimestamp);
12153 
12154 
12155   //***********************************************************
12156   //
12157   // GetRefImplVersion()
12158   //
12186   HRESULT GetRefImplVersion (
12187     [out] aafProductVersion_t *  pVersion);
12188 
12189 
12190   //***********************************************************
12191   //
12192   // GetPlatform()
12193   //
12240   HRESULT GetPlatform (
12241     [out, string, size_is(bufSize)] aafCharacter *  pPlatform,
12242     [in] aafUInt32  bufSize);
12243 
12244 
12245   //***********************************************************
12246   //
12247   // GetPlatformBufLen()
12248   //
12266   HRESULT GetPlatformBufLen (
12267     [out] aafUInt32 *  pBufSize);
12268 
12269 
12270   //***********************************************************
12271   //
12272   // GetGenerationID()
12273   //
12303   HRESULT GetGenerationID (
12304     [out] aafUID_t *  pGeneration);
12305 }
12306 
12307 
12308 
12309 // ************************
12310 //
12311 // Interface IAAFImportDescriptor
12312 //
12313 // ************************
12314 
12327 
12328 
12334 [
12335     object,
12336     uuid(2CAA17DF-DDBC-4ac5-A87E-166fcd06cc9c ),
12337     helpstring("IAAFImportDescriptor Interface"),
12338     pointer_default(unique)
12339 ]
12340 interface IAAFImportDescriptor : IUnknown
12341 {
12342 
12343   //***********************************************************
12344   //
12345   // Initialize()
12346   //
12364   HRESULT Initialize ();
12365 
12366 }
12367 
12368 
12369 
12370 // ************************
12371 //
12372 // Interface IAAFInterpolationDef
12373 //
12374 // ************************
12392 [
12393     object,
12394     uuid(293600A3-0D37-11d3-80A9-006008143E6F),
12395     helpstring("IAAFInterpolationDef Interface"),
12396     pointer_default(unique)
12397 ]
12398 interface IAAFInterpolationDef : IUnknown
12399 {
12400 
12401   //***********************************************************
12402   //
12403   // Initialize()
12404   //
12411   HRESULT Initialize (
12412     [in, ref] aafUID_constref  id,
12413     [in, string] aafCharacter_constptr  pName,
12414     [in, string] aafCharacter_constptr  pDescription);
12415 
12416 
12417 }
12418 
12419 
12420 
12421 // ************************
12422 //
12423 // Interface IAAFKLVData
12424 //
12425 // ************************
12441 [
12442     object,
12443     uuid(46114414-0676-11d4-A356-009027DFCA6A),
12444     helpstring("IAAFKLVData Interface"),
12445     pointer_default(unique)
12446 ]
12447 interface IAAFKLVData : IUnknown
12448 {
12449 
12450   //***********************************************************
12451   //
12452   // Initialize()
12453   //
12490   HRESULT Initialize (
12491     [in] aafUID_t  key,
12492     [in] aafUInt32  length,
12493     [in, size_is(length)] aafDataBuffer_t  pValue);
12494 
12495   //***********************************************************
12496   //
12497   // GetKey()
12498   //
12524   HRESULT GetKey (
12525     [out] aafUID_t*  pKey);
12526 
12527 
12528   //***********************************************************
12529   //
12530   // GetValue()
12531   //
12562   HRESULT GetValue (
12563     [in] aafUInt32  valueSize,
12564     [out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t  pValue,
12565     [out] aafUInt32 *  bytesRead);
12566 
12567 
12568   //***********************************************************
12569   //
12570   // GetValueBufLen()
12571   //
12592   HRESULT GetValueBufLen (
12593     [out] aafUInt32 *  pLen);
12594 
12595   //***********************************************************
12596   //
12597   // SetValue()
12598   //
12620   HRESULT SetValue (
12621     [in] aafUInt32  valueSize,
12622     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
12623 
12624 }
12625 
12626 
12627 
12628 // ************************
12629 //
12630 // Interface IAAFLocator
12631 //
12632 // ************************
12653 
12654 
12658 [
12659     object,
12660     uuid(d4f89061-69d6-11d2-841b-00600832acb8),
12661     helpstring("IAAFLocator Interface"),
12662     pointer_default(unique)
12663 ]
12664 interface IAAFLocator : IUnknown
12665 {
12666 
12667   //***********************************************************
12668   //
12669   // SetPath()
12670   //
12699   HRESULT SetPath (
12700     [in, string] aafCharacter_constptr  pPath);
12701 
12702 
12703   //***********************************************************
12704   //
12705   // GetPath()
12706   //
12744   HRESULT GetPath (
12745     [out, string, size_is(bufSize)] aafCharacter *  pPath,
12746     [in] aafUInt32  bufSize);
12747 
12748 
12749   //***********************************************************
12750   //
12751   // GetPathBufLen()
12752   //
12770   HRESULT GetPathBufLen (
12771     [out] aafUInt32 *  pBufSize);
12772 }
12773 
12774 
12775 
12776 // ************************
12777 //
12778 // Interface IAAFMasterMob
12779 //
12780 // ************************
12800 [
12801     object,
12802     uuid(b1a21372-1a7d-11d2-bf78-00104bc9156d),
12803     helpstring("IAAFMasterMob Interface"),
12804     pointer_default(unique)
12805 ]
12806 interface IAAFMasterMob : IUnknown
12807 {
12808   //***********************************************************
12809   //
12810   // Initialize()
12811   //
12829   HRESULT Initialize ();
12830 
12831 
12832   //***********************************************************
12833   //
12834   // AddMasterSlot()
12835   //
12885   HRESULT AddMasterSlot (
12886     [in] IAAFDataDef * pDataDef,
12887     [in] aafSlotID_t  sourceSlotID,
12888     [in] IAAFSourceMob * pSourceMob,
12889     [in] aafSlotID_t  masterSlotID,
12890     [in, string] aafCharacter_constptr  pSlotName);
12891 
12892 
12893   //***********************************************************
12894   //
12895   // GetTapeName()
12896   //
12942   HRESULT GetTapeName (
12943     [in] aafUInt32  masterSlotID,
12944     [out, size_is(bufSize), string] aafCharacter *  pTapeName,
12945     [in] aafUInt32  bufSize);
12946 
12947 
12948   //***********************************************************
12949   //
12950   // GetTapeNameBufLen()
12951   //
12984   HRESULT GetTapeNameBufLen (
12985     [in] aafUInt32  masterSlotID,
12986     [out] aafUInt32 *  pLen);
12987 
12988 
12989   //***********************************************************
12990   //
12991   // GetNumRepresentations()
12992   //
13026   HRESULT GetNumRepresentations (
13027     [in] aafSlotID_t  slotID,
13028     [out, retval] aafNumSlots_t *  pNumReps);
13029 
13030 
13031   //***********************************************************
13032   //
13033   // GetRepresentation()
13034   //
13076   HRESULT GetRepresentation (
13077     [in] aafSlotID_t  slotID,
13078     [in] aafUInt32  index,
13079     [out] IAAFSegment ** ppSourceClip);
13080 
13081 
13082   //***********************************************************
13083   //
13084   // GetCriteriaSegment()
13085   //
13134   HRESULT GetCriteriaSegment (
13135     [in] aafSlotID_t  slotID,
13136     [in] aafMediaCriteria_t *  pCriteria,
13137     [out] IAAFSegment ** ppSegment);
13138 
13139 
13140   //***********************************************************
13141   //
13142   // AppendPhysSourceRef()
13143   //
13188   HRESULT AppendPhysSourceRef (
13189     [in] aafRational_t  editrate,
13190     [in] aafSlotID_t  aMobSlot,
13191     [in] IAAFDataDef * pEssenceKind,
13192     [in] aafSourceRef_t  ref,
13193     [in] aafLength_t  srcRefLength);
13194 
13195 
13196   //***********************************************************
13197   //
13198   // NewPhysSourceRef()
13199   //
13244   HRESULT NewPhysSourceRef (
13245     [in] aafRational_t  editrate,
13246     [in] aafSlotID_t  aMobSlot,
13247     [in] IAAFDataDef * pEssenceKind,
13248     [in] aafSourceRef_t  ref,
13249     [in] aafLength_t  srcRefLength);
13250 
13251 
13252   //***********************************************************
13253   //
13254   // CreateEssence()
13255   //
13281   HRESULT CreateEssence (
13282     [in] aafSlotID_t  masterSlotID,
13283     [in] IAAFDataDef * pMediaKind,
13284     [in, ref] aafUID_constref  codecID,
13285     [in] aafRational_t  editRate,
13286     [in] aafRational_t  samplerate,
13287     [in] aafCompressEnable_t  Enable,
13288     [in] IAAFLocator * destination,
13289     [in, ref] aafUID_constref  fileFormat,
13290     [out] IAAFEssenceAccess ** access);
13291 
13292 
13293   //***********************************************************
13294   //
13295   // CreateMultiEssence()
13296   //
13312   HRESULT CreateMultiEssence (
13313     [in, ref] aafUID_constref  codecID,
13314     [in] aafUInt16  arrayElemCount,
13315     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
13316     [in] aafCompressEnable_t  Enable,
13317     [in] IAAFLocator * destination,
13318     [in, ref] aafUID_constref  fileFormat,
13319     [out] IAAFEssenceMultiAccess**  access);
13320 
13321 
13322   //***********************************************************
13323   //
13324   // OpenEssence()
13325   //
13346   HRESULT OpenEssence (
13347     [in] aafSlotID_t  slotID,
13348     [in] aafMediaCriteria_t*  mediaCrit,
13349     [in] aafMediaOpenMode_t  openMode,
13350     [in] aafCompressEnable_t  compEnable,
13351     [out] IAAFEssenceAccess ** access);
13352         
13353 
13354   //***********************************************************
13355   //
13356   // OpenMultiEssence()
13357   //
13372   HRESULT OpenMultiEssence (
13373     [in] aafSlotID_t  slotID,
13374     [in] aafMediaCriteria_t*  mediaCrit,
13375     [in] aafMediaOpenMode_t  openMode,
13376     [in] aafCompressEnable_t  compEnable,
13377     [out] IAAFEssenceMultiAccess**  access);
13378 
13379 
13380   //***********************************************************
13381   //
13382   // CountChannels()
13383   //
13400   HRESULT CountChannels (
13401     [in] aafSlotID_t  slotID,
13402     [in] aafMediaCriteria_t*  mediaCrit,
13403     [in] IAAFDataDef * pMediaKind,
13404     [out] aafUInt16*  numCh);
13405 
13406 
13407 
13408 
13409 
13410 
13411 
13412 
13413 
13414 
13415 }
13416 
13417 
13418 // ************************
13419 //
13420 // Interface IAAFMetaDefinition
13421 //
13422 // ************************
13443 [
13444     object,
13445     uuid(cee32174-0c10-11d4-8014-00104bc9156d),
13446     helpstring("IAAFMetaDefinition Interface"),
13447     pointer_default(unique)
13448 ]
13449 interface IAAFMetaDefinition : IUnknown
13450 {
13451 
13452 
13453   //***********************************************************
13454   //
13455   // Initialize()
13456   //
13463   HRESULT Initialize (
13464     [in, ref] aafUID_constref  id,
13465     [in, string] aafCharacter_constptr  pName,
13466     [in, string] aafCharacter_constptr  pDescription);
13467 
13468 
13469   //***********************************************************
13470   //
13471   // GetAUID()
13472   //
13477   HRESULT GetAUID (
13478     [retval,out] aafUID_t *  pAuid);
13479 
13480   //***********************************************************
13481   //
13482   // SetName()
13483   //
13512   HRESULT SetName (
13513     [in, string] aafCharacter_constptr  pName);
13514 
13515 
13516   //***********************************************************
13517   //
13518   // GetName()
13519   //
13557   HRESULT GetName (
13558     [out, string, size_is(bufSize)] aafCharacter *  pName,
13559     [in] aafUInt32  bufSize);
13560 
13561 
13562   //***********************************************************
13563   //
13564   // GetNameBufLen()
13565   //
13583   HRESULT GetNameBufLen (
13584     [out] aafUInt32 *  pBufSize);
13585 
13586   //***********************************************************
13587   //
13588   // SetDescription()
13589   //
13618   HRESULT SetDescription (
13619     [in, string] aafCharacter_constptr  pDescription);
13620 
13621 
13622   //***********************************************************
13623   //
13624   // GetDescription()
13625   //
13663   HRESULT GetDescription (
13664     [out, string, size_is(bufSize)] aafCharacter *  pDescription,
13665     [in] aafUInt32  bufSize);
13666 
13667 
13668   //***********************************************************
13669   //
13670   // GetDescriptionBufLen()
13671   //
13689   HRESULT GetDescriptionBufLen (
13690     [out] aafUInt32 *  pBufSize);
13691 
13692 }
13693 
13694 
13695 
13696 // ************************
13697 //
13698 // Interface IAAFMob
13699 //
13700 // ************************
13728 [
13729     object,
13730     uuid(B1A21374-1A7D-11d2-BF78-00104BC9156D),
13731     helpstring("IAAFMob Interface"),
13732     pointer_default(unique)
13733 ]
13734 
13735 interface IAAFMob : IUnknown
13736 {
13737 
13738   //***********************************************************
13739   //
13740   // GetMobID()
13741   //
13761   HRESULT GetMobID (
13762     [out] aafMobID_t *  pMobID);
13763 
13764 
13765   //***********************************************************
13766   //
13767   // SetMobID()
13768   //
13784   HRESULT SetMobID (
13785     [in, ref] aafMobID_constref  mobID);
13786 
13787 
13788   //***********************************************************
13789   //
13790   // SetName()
13791   //
13820   HRESULT SetName (
13821     [in, string] aafCharacter_constptr  pName);
13822 
13823 
13824   //***********************************************************
13825   //
13826   // GetName()
13827   //
13865   HRESULT GetName (
13866     [out, string, size_is(bufSize)] aafCharacter *  pName,
13867     [in] aafUInt32  bufSize);
13868 
13869 
13870   //***********************************************************
13871   //
13872   // GetNameBufLen()
13873   //
13891   HRESULT GetNameBufLen (
13892     [out] aafUInt32 *  pBufSize);
13893 
13894 
13895   //***********************************************************
13896   //
13897   // CountSlots()
13898   //
13918   HRESULT CountSlots (
13919     [out] aafNumSlots_t *  pNumSlots);
13920 
13921 
13922   //***********************************************************
13923   //
13924   // AppendSlot()
13925   //
13945   HRESULT AppendSlot (
13946     [in] IAAFMobSlot * pSlot);
13947 
13948 
13949   //***********************************************************
13950   //
13951   // PrependSlot()
13952   //
13972   HRESULT PrependSlot (
13973     [in] IAAFMobSlot * pSlot);
13974 
13975 
13976   //***********************************************************
13977   //
13978   // InsertSlotAt()
13979   //
14007   HRESULT InsertSlotAt (
14008     [in] aafUInt32  index,
14009     [in] IAAFMobSlot * pSlot);
14010 
14011 
14012   //***********************************************************
14013   //
14014   // RemoveSlotAt()
14015   //
14038   HRESULT RemoveSlotAt (
14039     [in] aafUInt32  index);
14040 
14041 
14042   //***********************************************************
14043   //
14044   // GetSlotAt()
14045   //
14071   HRESULT GetSlotAt (
14072     [in] aafUInt32  index,
14073     [out, retval] IAAFMobSlot ** ppSlot);
14074 
14075 
14076   //***********************************************************
14077   //
14078   // GetSlots()
14079   //
14100   HRESULT GetSlots (
14101     [out] IEnumAAFMobSlots ** ppEnum);
14102 
14103 
14104   //***********************************************************
14105   //
14106   // GetModTime()
14107   //
14127   HRESULT GetModTime (
14128     [out] aafTimeStamp_t *  pLastModified);
14129 
14130 
14131   //***********************************************************
14132   //
14133   // SetModTime()
14134   //
14153   HRESULT SetModTime (
14154     [in, ref] aafTimeStamp_constref  modTime);
14155 
14156 
14157   //***********************************************************
14158   //
14159   // GetCreateTime()
14160   //
14180   HRESULT GetCreateTime (
14181     [out] aafTimeStamp_t *  pCreationTime);
14182 
14183 
14184   //***********************************************************
14185   //
14186   // SetCreateTime()
14187   //
14205   HRESULT SetCreateTime (
14206     [in, ref] aafTimeStamp_constref  createTime);
14207 
14208 
14209   //***********************************************************
14210   //
14211   // AppendComment()
14212   //
14236   HRESULT AppendComment (
14237     [in,string] aafCharacter *  pCategory,
14238     [in, string] aafCharacter_constptr  pComment);
14239 
14240 
14241   //***********************************************************
14242   //
14243   // CountComments()
14244   //
14264   HRESULT CountComments (
14265     [out] aafUInt32 *  pNumComments);
14266 
14267 
14268   //***********************************************************
14269   //
14270   // GetComments()
14271   //
14294   HRESULT GetComments (
14295     [out] IEnumAAFTaggedValues ** ppEnum);
14296 
14297 
14298   //***********************************************************
14299   //
14300   // RemoveComment()
14301   //
14325   HRESULT RemoveComment (
14326     [in] IAAFTaggedValue * pComment);
14327 
14328 
14329   //***********************************************************
14330   //
14331   // AppendNewTimelineSlot()
14332   //
14362   HRESULT AppendNewTimelineSlot (
14363     [in] aafRational_t  editRate,
14364     [in] IAAFSegment * pSegment,
14365     [in] aafSlotID_t  slotID,
14366     [in, string] aafCharacter_constptr  pSlotName,
14367     [in] aafPosition_t  origin,
14368     [out] IAAFTimelineMobSlot ** ppNewSlot);
14369 
14370 
14371   //***********************************************************
14372   //
14373   // GetMobInfo()
14374   //
14406   HRESULT GetMobInfo (
14407     [out] aafTimeStamp_t *  pLastModified,
14408     [out] aafTimeStamp_t *  pCreationTime,
14409     [out, size_is(bufSize), string] aafCharacter *  pName,
14410     [in] aafInt32  bufSize);
14411 
14412 
14413   //***********************************************************
14414   //
14415   // OffsetToMobTimecode()
14416   //
14447   HRESULT OffsetToMobTimecode (
14448     [in] IAAFSegment * pTcSeg,
14449     [in] aafPosition_t *  pOffset,
14450     [out] aafTimecode_t *  pResult);
14451 
14452 
14453   //***********************************************************
14454   //
14455   // LookupSlot()
14456   //
14480   HRESULT LookupSlot (
14481     [in] aafSlotID_t  slotId,
14482     [out] IAAFMobSlot ** ppDestSlot);
14483 
14484 
14485   //***********************************************************
14486   //
14487   // ChangeRef()
14488   //
14509   HRESULT ChangeRef (
14510     [in, ref] aafMobID_constref  oldMobID,
14511     [in, ref] aafMobID_constref  newMobID);
14512 
14513 
14514   //***********************************************************
14515   //
14516   // CloneExternal()
14517   //
14558   HRESULT CloneExternal (
14559     [in] aafDepend_t  resolveDependencies,
14560     [in] aafIncMedia_t  includeMedia,
14561     [in] IAAFFile * pDestFile,
14562     [out] IAAFMob ** ppDestMob);
14563 
14564 
14565   //***********************************************************
14566   //
14567   // Copy()
14568   //
14598   HRESULT Copy (
14599     [in, string] aafCharacter_constptr  pDestMobName,
14600     [out] IAAFMob ** ppDestMob);
14602 
14603   //***********************************************************
14604   //
14605   // AppendKLVData()
14606   //
14627   HRESULT AppendKLVData (
14628     [in] IAAFKLVData * pData);
14629 
14630 
14631   //***********************************************************
14632   //
14633   // CountKLVData()
14634   //
14654   HRESULT CountKLVData (
14655     [out] aafUInt32 *  pNumData);
14656 
14657 
14658   //***********************************************************
14659   //
14660   // GetKLVData()
14661   //
14683   HRESULT GetKLVData (
14684     [out] IEnumAAFKLVData ** ppEnum);
14685 
14686 
14687   //***********************************************************
14688   //
14689   // RemoveKLVData()
14690   //
14714   HRESULT RemoveKLVData (
14715     [in] IAAFKLVData * pData);
14716 
14717 
14718 
14719 
14720 
14721 
14722 
14723 
14724 
14725 
14726 
14727 
14728 
14729 }
14730 
14731 
14732 // ************************
14733 //
14734 // Interface IAAFMobSlot
14735 //
14736 // ************************
14771 [
14772     object,
14773     uuid(B1A21376-1A7D-11D2-BF78-00104BC9156D),
14774     helpstring("IAAFMobSlot Interface"),
14775     pointer_default(unique)
14776 ]
14777 interface IAAFMobSlot : IUnknown
14778 {
14779 
14780   //***********************************************************
14781   //
14782   // GetSegment()
14783   //
14806   HRESULT GetSegment (
14807     [out,retval] IAAFSegment ** ppResult);
14808 
14809 
14810   //***********************************************************
14811   //
14812   // SetName()
14813   //
14842   HRESULT SetName (
14843     [in, string] aafCharacter_constptr  pName);
14844 
14845 
14846   //***********************************************************
14847   //
14848   // GetName()
14849   //
14887   HRESULT GetName (
14888     [out, string, size_is(bufSize)] aafCharacter *  pName,
14889     [in] aafUInt32  bufSize);
14890 
14891 
14892   //***********************************************************
14893   //
14894   // GetNameBufLen()
14895   //
14913   HRESULT GetNameBufLen (
14914     [out] aafUInt32 *  pBufSize);
14915 
14916 
14917   //***********************************************************
14918   //
14919   // GetPhysicalNum()
14920   //
14954   HRESULT GetPhysicalNum (
14955     [out,retval] aafUInt32 *  pResult);
14956 
14957 
14958   //***********************************************************
14959   //
14960   // GetDataDef()
14961   //
14984   HRESULT GetDataDef (
14985     [out,retval] IAAFDataDef ** ppResult);
14986 
14987 
14988   //***********************************************************
14989   //
14990   // GetSlotID()
14991   //
15011   HRESULT GetSlotID (
15012     [out,retval] aafSlotID_t *  pResult);
15013 
15014 
15015   //***********************************************************
15016   //
15017   // SetSegment()
15018   //
15035   HRESULT SetSegment (
15036     [in] IAAFSegment * pSegment);
15037 
15038 
15039   //***********************************************************
15040   //
15041   // SetPhysicalNum()
15042   //
15069   HRESULT SetPhysicalNum (
15070     [in] aafUInt32  number);
15071 
15072 
15073   //***********************************************************
15074   //
15075   // SetSlotID()
15076   //
15090   HRESULT SetSlotID (
15091     [in] aafSlotID_t  value);
15092 }
15093 
15094 
15095 
15096 // ************************
15097 //
15098 // Interface IAAFNestedScope
15099 //
15100 // ************************
15123 [
15124     object,
15125     uuid(e44be451-2099-11d2-bf98-006097116212),
15126     helpstring("IAAFNestedScope Interface"),
15127     pointer_default(unique)
15128 ]
15129 interface IAAFNestedScope : IUnknown
15130 {
15131 
15132   //***********************************************************
15133   //
15134   // AppendSegment()
15135   //
15158   HRESULT AppendSegment (
15159     [in] IAAFSegment * pSegment);
15160 
15161 
15162   //***********************************************************
15163   //
15164   // PrependSegment()
15165   //
15185   HRESULT PrependSegment (
15186     [in] IAAFSegment * pSegment);
15187 
15188 
15189   //***********************************************************
15190   //
15191   // InsertSegmentAt()
15192   //
15221   HRESULT InsertSegmentAt (
15222     [in] aafUInt32  index,
15223     [in] IAAFSegment * pSegment);
15224 
15225 
15226   //***********************************************************
15227   //
15228   // RemoveSegmentAt()
15229   //
15256   HRESULT RemoveSegmentAt (
15257     [in] aafUInt32  index);
15258 
15259 
15260   //***********************************************************
15261   //
15262   // CountSegments()
15263   //
15283   HRESULT CountSegments (
15284     [out, retval] aafUInt32 *  pResult);
15285 
15286 
15287   //***********************************************************
15288   //
15289   // GetSegmentAt()
15290   //
15316   HRESULT GetSegmentAt (
15317     [in] aafUInt32  index,
15318     [out, retval] IAAFSegment ** ppSegment);
15319 
15320 
15321   //***********************************************************
15322   //
15323   // GetSegments()
15324   //
15345   HRESULT GetSegments (
15346     [out, retval] IEnumAAFSegments ** ppEnum);
15347 }
15348 
15349 
15350 
15351 // ************************
15352 //
15353 // Interface IAAFNetworkLocator
15354 //
15355 // ************************
15372 
15373 
15378 [
15379     object,
15380     uuid(2c1097b2-69d6-11d2-841b-00600832acb8),
15381     helpstring("IAAFNetworkLocator Interface"),
15382     pointer_default(unique)
15383 ]
15384 interface IAAFNetworkLocator : IUnknown
15385 {
15386 
15387   //***********************************************************
15388   //
15389   // Initialize()
15390   //
15408   HRESULT Initialize ();
15409 
15410 
15411 
15412 
15413 
15414 
15415 
15416 
15417 
15418 }
15419 
15420 
15421 
15422 // ************************
15423 //
15424 // Interface IAAFObject
15425 //
15426 // ************************
15448 [
15449     object,
15450     uuid(B1A213AB-1A7D-11D2-BF78-00104BC9156D),
15451     helpstring("IAAFObject Interface"),
15452     pointer_default(unique)
15453 ]
15454 interface IAAFObject : IUnknown
15455 {
15456 
15457   //***********************************************************
15458   //
15459   // GetGeneration()
15460   //
15496   HRESULT GetGeneration (
15497     [out] IAAFIdentification ** ppGeneration);
15498 
15499 
15500   //***********************************************************
15501   //
15502   // GetGenerationAUID()
15503   //
15539   HRESULT GetGenerationAUID (
15540     [out] aafUID_t *  pResult);
15541 
15542 
15543   //***********************************************************
15544   //
15545   // GetDefinition()
15546   //
15570   HRESULT GetDefinition (
15571     [out] IAAFClassDef ** ppClassDef);
15572 
15573 
15574   //***********************************************************
15575   //
15576   // GetProperties()
15577   //
15607   HRESULT GetProperties (
15608     [out, retval] IEnumAAFProperties ** ppEnum);
15609 
15610 
15611   //***********************************************************
15612   //
15613   // CountProperties()
15614   //
15637   HRESULT CountProperties (
15638     [out] aafUInt32 *  pCount);
15639 
15640 
15641   //***********************************************************
15642   //
15643   // GetPropertyValue()
15644   //
15673   HRESULT GetPropertyValue (
15674     [in] IAAFPropertyDef * pPropDef,
15675     [out] IAAFPropertyValue ** ppPropVal);
15676 
15677 
15678   //***********************************************************
15679   //
15680   // SetPropertyValue()
15681   //
15711   HRESULT SetPropertyValue (
15712     [in] IAAFPropertyDef * pPropDef,
15713     [in] IAAFPropertyValue * pPropVal);
15714 
15715 
15716   //***********************************************************
15717   //
15718   // IsPropertyPresent()
15719   //
15745   HRESULT IsPropertyPresent (
15746     [in] IAAFPropertyDef * pPropDef,
15747     [out] aafBoolean_t*  pResult);
15748 
15749 
15750   //***********************************************************
15751   //
15752   // RemoveOptionalProperty()
15753   //
15778   HRESULT RemoveOptionalProperty (
15779     [in] IAAFPropertyDef * pPropDef);
15780 
15781 
15782   //***********************************************************
15783   //
15784   // CreateOptionalPropertyValue()
15785   //
15814   HRESULT CreateOptionalPropertyValue (
15815     [in] IAAFPropertyDef * pPropDef,
15816     [out] IAAFPropertyValue ** ppPropVal);
15817 
15818 
15819   //***********************************************************
15820   //
15821   // GetDictionary()
15822   //
15845   HRESULT GetDictionary (
15846     [out, retval] IAAFDictionary ** ppDictionary);
15847 
15848 
15849   //***********************************************************
15850   //
15851   // EnableGenerationTracking()
15852   //
15868   HRESULT EnableGenerationTracking ();
15869 
15870 
15871   //***********************************************************
15872   //
15873   // DisableGenerationTracking()
15874   //
15891   HRESULT DisableGenerationTracking ();
15892 
15893 
15894   //***********************************************************
15895   //
15896   // IsGenerationTracked()
15897   //
15923   HRESULT IsGenerationTracked (
15924     [out] aafBoolean_t *  pResult);
15925 }
15926 
15927 
15928 
15929 // ************************
15930 //
15931 // Interface IAAFPCMDescriptor
15932 //
15933 // ************************
15946 
15947 
15954 [
15955     object,
15956     uuid(F17D58D8-5107-47e4-9ABA-8329FC1B2C84),
15957     helpstring("IAAFPCMDescriptor Interface"),
15958     pointer_default(unique)
15959 ]
15960 interface IAAFPCMDescriptor : IUnknown
15961 {
15962 
15963   //***********************************************************
15964   //
15965   // Initialize()
15966   //
15984   HRESULT Initialize ();
15985 
15986 
15987   //***********************************************************
15988   //
15989   // SetBlockAlign()
15990   //
16010   HRESULT SetBlockAlign (
16011     [in] aafUInt16  blockAlign);
16012 
16013 
16014   //***********************************************************
16015   //
16016   // GetBlockAlign()
16017   //
16040   HRESULT GetBlockAlign (
16041     [out] aafUInt16 *  pBlockAlign);
16042 
16043 
16044   //***********************************************************
16045   //
16046   // SetSequenceOffset()
16047   //
16068   HRESULT SetSequenceOffset (
16069     [in] aafUInt8  offset);
16070 
16071 
16072   //***********************************************************
16073   //
16074   // GetSequenceOffset()
16075   //
16103   HRESULT GetSequenceOffset (
16104     [out] aafUInt8 *  pOffset);
16105 
16106 
16107   //***********************************************************
16108   //
16109   // SetAverageBPS()
16110   //
16130   HRESULT SetAverageBPS (
16131     [in] aafUInt32  bps);
16132 
16133 
16134   //***********************************************************
16135   //
16136   // GetAverageBPS()
16137   //
16160   HRESULT GetAverageBPS (
16161     [out] aafUInt32 *  pBps);
16162 
16163 
16164   //***********************************************************
16165   //
16166   // SetChannelAssignment()
16167   //
16186   HRESULT SetChannelAssignment (
16187     [in, ref] aafUID_constref  channelAssignment);
16188 
16189 
16190   //***********************************************************
16191   //
16192   // GetChannelAssignment()
16193   //
16219   HRESULT GetChannelAssignment (
16220     [out] aafUID_t *  pChannelAssignment);
16221 
16222 
16223   //***********************************************************
16224   //
16225   // AreAllPeakEnvelopePropertiesPresent()
16226   //
16257   HRESULT AreAllPeakEnvelopePropertiesPresent (
16258     [out] aafBoolean_t *  pArePresent);
16259 
16260 
16261   //***********************************************************
16262   //
16263   // SetPeakEnvelopeVersion()
16264   //
16282   HRESULT SetPeakEnvelopeVersion (
16283     [in] aafUInt32  version);
16284 
16285 
16286   //***********************************************************
16287   //
16288   // GetPeakEnvelopeVersion()
16289   //
16316   HRESULT GetPeakEnvelopeVersion (
16317     [out] aafUInt32 *  pVersion);
16318 
16319 
16320   //***********************************************************
16321   //
16322   // SetPeakEnvelopeFormat()
16323   //
16341   HRESULT SetPeakEnvelopeFormat (
16342     [in] aafUInt32  format);
16343 
16344 
16345   //***********************************************************
16346   //
16347   // GetPeakEnvelopeFormat()
16348   //
16375   HRESULT GetPeakEnvelopeFormat (
16376     [out] aafUInt32 *  pFormat);
16377 
16378 
16379   //***********************************************************
16380   //
16381   // SetPointsPerPeakValue()
16382   //
16401   HRESULT SetPointsPerPeakValue (
16402     [in] aafUInt32  pointCount);
16403 
16404 
16405   //***********************************************************
16406   //
16407   // GetPointsPerPeakValue()
16408   //
16435   HRESULT GetPointsPerPeakValue (
16436     [out] aafUInt32 *  pPointCount);
16437 
16438 
16439   //***********************************************************
16440   //
16441   // SetPeakEnvelopeBlockSize()
16442   //
16461   HRESULT SetPeakEnvelopeBlockSize (
16462     [in] aafUInt32  blockSize);
16463 
16464 
16465   //***********************************************************
16466   //
16467   // GetPeakEnvelopeBlockSize()
16468   //
16495   HRESULT GetPeakEnvelopeBlockSize (
16496     [out] aafUInt32 *  pBlockSize);
16497 
16498 
16499   //***********************************************************
16500   //
16501   // SetPeakChannelCount()
16502   //
16520   HRESULT SetPeakChannelCount (
16521     [in] aafUInt32  channelCount);
16522 
16523 
16524   //***********************************************************
16525   //
16526   // GetPeakChannelCount()
16527   //
16554   HRESULT GetPeakChannelCount (
16555     [out] aafUInt32 *  pChannelCount);
16556 
16557 
16558   //***********************************************************
16559   //
16560   // SetPeakFrameCount()
16561   //
16579   HRESULT SetPeakFrameCount (
16580     [in] aafUInt32  frameCount);
16581 
16582 
16583   //***********************************************************
16584   //
16585   // GetPeakFrameCount()
16586   //
16613   HRESULT GetPeakFrameCount (
16614     [out] aafUInt32 *  pFrameCount);
16615 
16616 
16617   //***********************************************************
16618   //
16619   // SetPeakOfPeaksPosition()
16620   //
16640   HRESULT SetPeakOfPeaksPosition (
16641     [in] aafPosition_t  position);
16642 
16643 
16644   //***********************************************************
16645   //
16646   // GetPeakOfPeaksPosition()
16647   //
16675   HRESULT GetPeakOfPeaksPosition (
16676     [out] aafPosition_t *  pPosition);
16677 
16678 
16679   //***********************************************************
16680   //
16681   // SetPeakEnvelopeTimestamp()
16682   //
16700   HRESULT SetPeakEnvelopeTimestamp (
16701     [in] aafTimeStamp_constref  timeStamp);
16702 
16703 
16704   //***********************************************************
16705   //
16706   // GetPeakEnvelopeTimestamp()
16707   //
16734   HRESULT GetPeakEnvelopeTimestamp (
16735     [out] aafTimeStamp_t *  pTimeStamp);
16736 
16737 
16738   //***********************************************************
16739   //
16740   // SetPeakEnvelopeDataPosition()
16741   //
16763   HRESULT SetPeakEnvelopeDataPosition (
16764     [in] aafPosition_t  position);
16765 
16766 
16767   //***********************************************************
16768   //
16769   // GetPeakEnvelopeDataPosition()
16770   //
16799   HRESULT GetPeakEnvelopeDataPosition (
16800     [out] aafPosition_t *  pPosition);
16801 
16802 
16803   //***********************************************************
16804   //
16805   // GetPeakEnvelopeDataSize()
16806   //
16837   HRESULT GetPeakEnvelopeDataSize (
16838     [out] aafLength_t *  pSize);
16839 
16840 
16841   //***********************************************************
16842   //
16843   // WritePeakEnvelopeData()
16844   //
16884   HRESULT WritePeakEnvelopeData (
16885     [in] aafUInt32  bytes,
16886     [out, size_is(bytes)] aafDataBuffer_t  buffer,
16887     [out,ref] aafUInt32 *  pBytesWritten);
16888 
16889 
16890   //***********************************************************
16891   //
16892   // ReadPeakEnvelopeData()
16893   //
16936   HRESULT ReadPeakEnvelopeData (
16937     [in] aafUInt32  bytes,
16938     [out, size_is(bytes)] aafDataBuffer_t  buffer,
16939     [out,ref] aafUInt32 *  pBytesRead);
16940 }
16941 
16942 
16943 
16944 // ************************
16945 //
16946 // Interface IAAFParameter
16947 //
16948 // ************************
16962 
16963 
16964 
16965  
16966 
16970 [
16971     object,
16972     uuid(9c568a81-2096-11d2-bf98-006097116212),
16973     helpstring("IAAFParameter Interface"),
16974     pointer_default(unique)
16975 ]
16976 interface IAAFParameter : IUnknown
16977 {
16978 
16979 
16980   //***********************************************************
16981   //
16982   // GetParameterDefinition()
16983   //
17007   HRESULT GetParameterDefinition (
17008     [out,retval] IAAFParameterDef ** ppParmDef);
17009 
17010   //***********************************************************
17011   //
17012   // GetTypeDefinition()
17013   //
17042   HRESULT GetTypeDefinition (
17043     [out,retval] IAAFTypeDef ** ppTypeDef);
17044 }
17045 
17046 
17047 
17048 // ************************
17049 //
17050 // Interface IAAFParameterDef
17051 //
17052 // ************************
17069 
17070  
17071 
17076 [
17077     object,
17078     uuid(20045fa1-1d87-11d2-bf96-006097116212),
17079     helpstring("IAAFParameterDef Interface"),
17080     pointer_default(unique)
17081 ]
17082 interface IAAFParameterDef : IUnknown
17083 {
17084 
17085   //***********************************************************
17086   //
17087   // Initialize()
17088   //
17096   HRESULT Initialize (
17097     [in, ref] aafUID_constref  id,
17098     [in, string] aafCharacter_constptr  pName,
17099     [in, string] aafCharacter_constptr  pDescription,
17100     [in] IAAFTypeDef * pType);
17101 
17102 
17103   //***********************************************************
17104   //
17105   // GetTypeDefinition()
17106   //
17137   HRESULT GetTypeDefinition (
17138     [retval,out] IAAFTypeDef ** ppTypeDef);
17139 
17140 
17141   //***********************************************************
17142   //
17143   // SetDisplayUnits()
17144   //
17173   HRESULT SetDisplayUnits (
17174     [in, string] aafCharacter_constptr  pDisplayUnits);
17175 
17176 
17177   //***********************************************************
17178   //
17179   // GetDisplayUnits()
17180   //
17218   HRESULT GetDisplayUnits (
17219     [out, string, size_is(bufSize)] aafCharacter *  pDisplayUnits,
17220     [in] aafUInt32  bufSize);
17221 
17222 
17223   //***********************************************************
17224   //
17225   // GetDisplayUnitsBufLen()
17226   //
17244   HRESULT GetDisplayUnitsBufLen (
17245     [out] aafUInt32 *  pBufSize);
17246 }
17247 
17248 
17249 
17250 // ************************
17251 //
17252 // Interface IAAFPhysicalDescriptor
17253 //
17254 // ************************
17255 
17268 
17269 
17274 [
17275     object,
17276     uuid(e3a1234e-a544-448e-95f0-ed4944edafc8),
17277     helpstring("IAAFPhysicalDescriptor Interface"),
17278     pointer_default(unique)
17279 ]
17280 interface IAAFPhysicalDescriptor : IUnknown
17281 {
17282 
17283 
17284 }
17285 
17286 
17287 
17288 // ************************
17289 //
17290 // Interface IAAFProperty
17291 //
17292 // ************************
17304 [
17305     object,
17306     uuid(83057d74-9691-11d2-aa7f-80e6aa000000),
17307     helpstring("IAAFProperty Interface"),
17308     pointer_default(unique)
17309 ]
17310 interface IAAFProperty : IUnknown
17311 {
17312 
17313   //***********************************************************
17314   //
17315   // GetDefinition()
17316   //
17344   HRESULT GetDefinition (
17345     [out] IAAFPropertyDef ** ppPropDef);
17346 
17347 
17348   //***********************************************************
17349   //
17350   // GetValue()
17351   //
17376   HRESULT GetValue (
17377     [out] IAAFPropertyValue ** ppValue);
17378 }
17379 
17380 
17381 
17382 // ************************
17383 //
17384 // Interface IAAFPropertyDef
17385 //
17386 // ************************
17404 
17405 
17406 
17407  
17408 
17412 [
17413     object,
17414     uuid(dfbd6521-1d81-11d2-bf96-006097116212),
17415     helpstring("IAAFPropertyDef Interface"),
17416     pointer_default(unique)
17417 ]
17418 interface IAAFPropertyDef : IUnknown
17419 {
17420 
17421   //***********************************************************
17422   //
17423   // GetTypeDef()
17424   //
17439   HRESULT GetTypeDef (
17440     [out] IAAFTypeDef ** ppTypeDef);
17441 
17442 
17443   //***********************************************************
17444   //
17445   // GetName()
17446   //
17484   HRESULT GetName (
17485     [out, string, size_is(bufSize)] aafCharacter *  pName,
17486     [in] aafUInt32  bufSize);
17487 
17488 
17489   //***********************************************************
17490   //
17491   // GetNameBufLen()
17492   //
17510   HRESULT GetNameBufLen (
17511     [out] aafUInt32 *  pBufSize);
17512 
17513 
17514   //***********************************************************
17515   //
17516   // GetIsOptional()
17517   //
17536   HRESULT GetIsOptional (
17537     [out, retval] aafBoolean_t *  pIsOptional);
17538 
17539   //***********************************************************
17540   //
17541   // GetIsUniqueIdentifier()
17542   //
17561   HRESULT GetIsUniqueIdentifier (
17562     [out, retval] aafBoolean_t *  pIsUniqueIdentifier);
17563 
17564 
17565 
17566 
17567   //***********************************************************
17568   //
17569   // SetDescription()
17570   //
17599   HRESULT SetDescription (
17600     [in, string] aafCharacter_constptr  pDescription);
17601 
17602 
17603   //***********************************************************
17604   //
17605   // GetDescription()
17606   //
17644   HRESULT GetDescription (
17645     [out, string, size_is(bufSize)] aafCharacter *  pDescription,
17646     [in] aafUInt32  bufSize);
17647 
17648 
17649   //***********************************************************
17650   //
17651   // GetDescriptionBufLen()
17652   //
17670   HRESULT GetDescriptionBufLen (
17671     [out] aafUInt32 *  pBufSize);
17672 
17673 }
17674 
17675 
17676 
17677 // ************************
17678 //
17679 // Interface IAAFPropertyValue
17680 //
17681 // ************************
17695 [
17696     object,
17697     uuid(83057d72-9691-11d2-aa7f-80e6aa000000),
17698     helpstring("IAAFPropertyValue Interface"),
17699     pointer_default(unique)
17700 ]
17701 interface IAAFPropertyValue : IUnknown
17702 {
17703 
17704   //***********************************************************
17705   //
17706   // GetType()
17707   //
17730   HRESULT GetType (
17731     [out] IAAFTypeDef ** ppTypeDef);
17732 
17733 
17734   //***********************************************************
17735   //
17736   // IsDefinedType()
17737   //
17763   HRESULT IsDefinedType (
17764     [out] aafBoolean_t *  pIsDefined);
17765 }
17766 
17767 
17768 
17769 // ************************
17770 //
17771 // Interface IAAFPluginManager
17772 //
17773 // ************************
17788 [
17789     object,
17790     uuid(AD1BB85C-DBB2-11d2-809C-006008143E6F),
17791     helpstring("IAAFPluginManager Interface"),
17792     pointer_default(unique)
17793 ]
17794 interface IAAFPluginManager : IUnknown
17795 {
17796 
17797   //***********************************************************
17798   //
17799   // RegisterSharedPlugins()
17800   //
17804   HRESULT RegisterSharedPlugins ();
17805 
17806 
17807   //***********************************************************
17808   //
17809   // RegisterPluginDirectory()
17810   //
17816   HRESULT RegisterPluginDirectory (
17817     [in] aafCharacter_constptr  directoryName);
17818 
17819 
17820   //***********************************************************
17821   //
17822   // RegisterPluginFile()
17823   //
17829   HRESULT RegisterPluginFile (
17830     [in] aafCharacter_constptr  fileName);
17831 
17832 
17833   //***********************************************************
17834   //
17835   // EnumLoadedPlugins()
17836   //
17859   HRESULT EnumLoadedPlugins (
17860     [in, ref] aafUID_constref  categoryID,
17861     [out,retval] IEnumAAFLoadedPlugins ** ppEnum);
17862 
17863 
17864   //***********************************************************
17865   //
17866   // CreatePluginDefinition()
17867   //
17897   HRESULT CreatePluginDefinition (
17898     [in, ref] aafUID_constref  pluginDefID,
17899     [in] IAAFDictionary * pDictionary,
17900     [out] IAAFDefObject**  ppPluginDef);
17901 
17902 
17903   //***********************************************************
17904   //
17905   // CreateInstance()
17906   //
17939   HRESULT CreateInstance (
17940     [in] REFCLSID  rclsid,
17941     [in] IUnknown *  pUnkOuter,
17942     [in] REFIID  riid,
17943     [out,iid_is(riid)] void **  ppPlugin);
17944 }
17945 
17946 
17947 
17948 // ************************
17949 //
17950 // Interface IAAFPulldown
17951 //
17952 // ************************
17966 
17967 
17974 [
17975     object,
17976     uuid(92B88031-2B2B-11d2-BF7E-00104BC9156D),
17977     helpstring("IAAFPulldown Interface"),
17978     pointer_default(unique)
17979 ]
17980 interface IAAFPulldown : IUnknown
17981 {
17982 
17983   //***********************************************************
17984   //
17985   // GetInputSegment()
17986   //
18013   HRESULT GetInputSegment (
18014     [out] IAAFSegment ** ppInputSegment);
18015 
18016 
18017   //***********************************************************
18018   //
18019   // SetInputSegment()
18020   //
18041   HRESULT SetInputSegment (
18042     [in] IAAFSegment * pInputSegment);
18043 
18044 
18045   //***********************************************************
18046   //
18047   // GetPulldownKind()
18048   //
18072   HRESULT GetPulldownKind (
18073     [out] aafPulldownKind_t *  pPulldownKind);
18074 
18075 
18076   //***********************************************************
18077   //
18078   // SetPulldownKind()
18079   //
18099   HRESULT SetPulldownKind (
18100     [in] aafPulldownKind_t  pulldownKind);
18101 
18102 
18103   //***********************************************************
18104   //
18105   // GetPulldownDirection()
18106   //
18139   HRESULT GetPulldownDirection (
18140     [out] aafPulldownDir_t *  pPulldownDirection);
18141 
18142 
18143   //***********************************************************
18144   //
18145   // SetPulldownDirection()
18146   //
18175   HRESULT SetPulldownDirection (
18176     [in] aafPulldownDir_t  pulldownDirection);
18177 
18178 
18179   //***********************************************************
18180   //
18181   // GetPhaseFrame()
18182   //
18207   HRESULT GetPhaseFrame (
18208     [out] aafPhaseFrame_t *  pPhaseFrame);
18209 
18210 
18211   //***********************************************************
18212   //
18213   // SetPhaseFrame()
18214   //
18235   HRESULT SetPhaseFrame (
18236     [in] aafPhaseFrame_t  phaseFrame);
18237 
18238 
18239 
18240 
18241 
18242 
18243 }
18244 
18245 
18246 
18247 // ************************
18248 //
18249 // Interface IAAFRGBADescriptor
18250 //
18251 // ************************
18252 
18253 
18291 [
18292     object,
18293     uuid(e684d772-b935-11d2-bf9d-00104bc9156d),
18294     helpstring("IAAFRGBADescriptor Interface"),
18295     pointer_default(unique)
18296 ]
18297 
18298 interface IAAFRGBADescriptor : IUnknown
18299 {
18300 
18301   //***********************************************************
18302   //
18303   // SetPixelLayout()
18304   //
18329   HRESULT SetPixelLayout (
18330     [in] aafUInt32  numberElements,
18331     [in] aafRGBAComponent_t*  PixelLayoutArray);
18332 
18333   //***********************************************************
18334   //
18335   // CountPixelLayoutElements()
18336   //
18360   HRESULT CountPixelLayoutElements (
18361     [out] aafUInt32 *  pResult);
18362 
18363   //***********************************************************
18364   //
18365   // GetPixelLayout()
18366   //
18399   HRESULT GetPixelLayout (
18400     [in] aafUInt32  numberElements,
18401     [out, size_is(numberElements)] aafRGBAComponent_t*  PixelLayoutArray);
18402 
18403   //***********************************************************
18404   //
18405   // SetPalette()
18406   //
18427   HRESULT SetPalette (
18428     [in] aafUInt32  numberElements,
18429     [in, size_is(numberElements)] aafUInt8*  pPalette);
18430 
18431 
18432   //***********************************************************
18433   //
18434   // GetPalette()
18435   //
18464   HRESULT GetPalette (
18465     [in] aafUInt32  numberRecords,
18466     [out, size_is(numberRecords)] aafUInt8*  pPalette);
18467 
18468 
18469   //***********************************************************
18470   //
18471   // GetPaletteSize()
18472   //
18490   HRESULT GetPaletteSize (
18491     [out] aafUInt32 *  pNumberBytes);
18492 
18493   //***********************************************************
18494   //
18495   // CountPaletteLayoutElements()
18496   //
18520   HRESULT CountPaletteLayoutElements (
18521     [out] aafUInt32 *  pResult);
18522 
18523   //***********************************************************
18524   //
18525   // SetPaletteLayout()
18526   //
18551   HRESULT SetPaletteLayout (
18552     [in] aafUInt32  numberElements,
18553     [in] aafRGBAComponent_t*  PaletteLayoutArray);
18554 
18555   //***********************************************************
18556   //
18557   // GetPaletteLayout()
18558   //
18590   HRESULT GetPaletteLayout (
18591     [in] aafUInt32  numberElements,
18592     [out, size_is(numberElements)] aafRGBAComponent_t*  PaletteLayoutArray);
18593 
18594 
18595 
18596 
18597 
18598 
18599 
18600 
18601 
18602 
18603 
18604 
18605 }
18606 
18607 
18608 // ************************
18609 //
18610 // Interface IAAFScopeReference
18611 //
18612 // ************************
18636 [
18637     object,
18638     uuid(e44be453-2099-11d2-bf98-006097116212),
18639     helpstring("IAAFScopeReference Interface"),
18640     pointer_default(unique)
18641 ]
18642 interface IAAFScopeReference : IUnknown
18643 {
18644 
18645   //***********************************************************
18646   //
18647   // Create()
18648   //
18665   HRESULT Create (
18666     [in] aafUInt32  RelativeScope,
18667     [in] aafUInt32  RelativeSlot);
18668 
18669   //***********************************************************
18670   //
18671   // Initialize()
18672   //
18690   HRESULT Initialize (
18691     [in] IAAFDataDef * pDataDef,
18692     [in] aafUInt32  RelativeScope,
18693     [in] aafUInt32  RelativeSlot);
18694 
18695   //***********************************************************
18696   //
18697   // GetRelativeScope()
18698   //
18719   HRESULT GetRelativeScope (
18720     [retval][out] aafUInt32 *  pnRelativeScope);
18721 
18722 
18723   //***********************************************************
18724   //
18725   // GetRelativeSlot()
18726   //
18747   HRESULT GetRelativeSlot (
18748     [retval][out] aafUInt32 *  pnRelativeSlot);
18749 }
18750 
18751 
18752 
18753 // ************************
18754 //
18755 // Interface IAAFSegment
18756 //
18757 // ************************
18779 
18780 
18786 [
18787     object,
18788     uuid(7a2f0570-1ba3-11D2-bfaa-006097116212),
18789     helpstring("IAAFSegment Interface"),
18790     pointer_default(unique)
18791 ]
18792 interface IAAFSegment : IUnknown
18793 {
18794 
18795   //***********************************************************
18796   //
18797   // SegmentOffsetToTC()
18798   //
18823   HRESULT SegmentOffsetToTC (
18824     [in] aafPosition_t *  pOffset,
18825     [out] aafTimecode_t *  pTimecode);
18826 
18827 
18828   //***********************************************************
18829   //
18830   // SegmentTCToOffset()
18831   //
18858   HRESULT SegmentTCToOffset (
18859     [in] aafTimecode_t *  pTimecode,
18860     [in] aafRational_t *  pEditRate,
18861     [out] aafFrameOffset_t *  pOffset);
18862 }
18863 
18864 
18865 
18866 // ************************
18867 //
18868 // Interface IAAFSelector
18869 //
18870 // ************************
18893 [
18894     object,
18895     uuid(e684d788-b935-11d2-bf9d-00104bc9156d),
18896     helpstring("IAAFSelector Interface"),
18897     pointer_default(unique)
18898 ]
18899 interface IAAFSelector : IUnknown
18900 {
18901 
18902   //***********************************************************
18903   //
18904   // GetSelectedSegment()
18905   //
18932   HRESULT GetSelectedSegment (
18933     [out] IAAFSegment ** ppSelSegment);
18934 
18935 
18936   //***********************************************************
18937   //
18938   // SetSelectedSegment()
18939   //
18960   HRESULT SetSelectedSegment (
18961     [in] IAAFSegment * pSelSegment);
18962 
18963 
18964   //***********************************************************
18965   //
18966   // AppendAlternateSegment()
18967   //
18998   HRESULT AppendAlternateSegment (
18999     [in] IAAFSegment * pSegment);
19000 
19001 
19002   //***********************************************************
19003   //
19004   // GetNumAlternateSegments()
19005   //
19029   HRESULT GetNumAlternateSegments (
19030     [out] aafInt32 *  pNumSegments);
19031 
19032 
19033   //***********************************************************
19034   //
19035   // EnumAlternateSegments()
19036   //
19066   HRESULT EnumAlternateSegments (
19067     [out, retval] IEnumAAFSegments ** ppEnum);
19068 
19069   //***********************************************************
19070   //
19071   // RemoveAlternateSegment()
19072   //
19096   HRESULT RemoveAlternateSegment (
19097     [in] IAAFSegment * pSegment);
19098 
19099 }
19100 
19101 
19102 
19103 // ************************
19104 //
19105 // Interface IAAFSequence
19106 //
19107 // ************************
19126 [
19127     object,
19128     uuid(66e855f0-2bc2-11d2-bfaa-006097116212),
19129     helpstring("IAAFSequence Interface"),
19130     pointer_default(unique)
19131 ]
19132 interface IAAFSequence : IUnknown
19133 {
19134 
19135   //***********************************************************
19136   //
19137   // Initialize()
19138   //
19167   HRESULT Initialize (
19168     [in] IAAFDataDef * pDataDef);
19169 
19170 
19171   //***********************************************************
19172   //
19173   // AppendComponent()
19174   //
19226   HRESULT AppendComponent (
19227     [in] IAAFComponent * pComponent);
19228 
19229 
19230   //***********************************************************
19231   //
19232   // PrependComponent()
19233   //
19285   HRESULT PrependComponent (
19286     [in] IAAFComponent * pComponent);
19287 
19288 
19289   //***********************************************************
19290   //
19291   // InsertComponentAt()
19292   //
19351   HRESULT InsertComponentAt (
19352     [in] aafUInt32  index,
19353     [in] IAAFComponent * pComponent);
19354 
19355 
19356   //***********************************************************
19357   //
19358   // GetComponentAt()
19359   //
19391   HRESULT GetComponentAt (
19392     [in] aafUInt32  index,
19393     [out, retval] IAAFComponent ** ppComponent);
19394 
19395 
19396   //***********************************************************
19397   //
19398   // RemoveComponentAt()
19399   //
19428   HRESULT RemoveComponentAt (
19429     [in] aafUInt32  index);
19430 
19431 
19432   //***********************************************************
19433   //
19434   // CountComponents()
19435   //
19459   HRESULT CountComponents (
19460     [out] aafUInt32 *  pResult);
19461 
19462 
19463   //***********************************************************
19464   //
19465   // GetComponents()
19466   //
19496   HRESULT GetComponents (
19497     [out, retval] IEnumAAFComponents ** ppEnum);
19498 
19499 
19500 
19501 
19502 
19503 
19504 }
19505 
19506 
19507 
19508 // ************************
19509 //
19510 // Interface IAAFSoundDescriptor
19511 //
19512 // ************************
19526 
19527 
19533 [
19534     object,
19535     uuid(DDC8931E-1A32-4362-BD78-450D0D970047),
19536     helpstring("IAAFSoundDescriptor Interface"),
19537     pointer_default(unique)
19538 ]
19539 interface IAAFSoundDescriptor : IUnknown
19540 {
19541 
19542   //***********************************************************
19543   //
19544   // SetCompression()
19545   //
19564   HRESULT SetCompression (
19565     [in] aafUID_constref  compression);
19566 
19567 
19568   //***********************************************************
19569   //
19570   // GetCompression()
19571   //
19596   HRESULT GetCompression (
19597     [out] aafUID_t *  pCompression);
19598 
19599 
19600   //***********************************************************
19601   //
19602   // SetChannelCount()
19603   //
19621   HRESULT SetChannelCount (
19622     [in] aafUInt32  channelCount);
19623 
19624 
19625   //***********************************************************
19626   //
19627   // GetChannelCount()
19628   //
19649   HRESULT GetChannelCount (
19650     [out] aafUInt32 *  pChannelCount);
19651 
19652 
19653   //***********************************************************
19654   //
19655   // SetAudioSamplingRate()
19656   //
19673   HRESULT SetAudioSamplingRate (
19674     [in] aafRational_t  rate);
19675 
19676 
19677   //***********************************************************
19678   //
19679   // GetAudioSamplingRate()
19680   //
19700   HRESULT GetAudioSamplingRate (
19701     [out] aafRational_t *  pRate);
19702 
19703 
19704   //***********************************************************
19705   //
19706   // SetIsLocked()
19707   //
19725   HRESULT SetIsLocked (
19726     [in] aafBoolean_t  locked);
19727 
19728 
19729   //***********************************************************
19730   //
19731   // IsLocked()
19732   //
19757   HRESULT IsLocked (
19758     [out] aafBoolean_t *  pLocked);
19759 
19760 
19761   //***********************************************************
19762   //
19763   // SetElectroSpatialFormulation()
19764   //
19781   HRESULT SetElectroSpatialFormulation (
19782     [in] aafElectroSpatialFormulation_t  formulation);
19783 
19784 
19785   //***********************************************************
19786   //
19787   // GetElectroSpatialFormulation()
19788   //
19812   HRESULT GetElectroSpatialFormulation (
19813     [out] aafElectroSpatialFormulation_t *  pFormulation);
19814 
19815 
19816   //***********************************************************
19817   //
19818   // SetAudioRefLevel()
19819   //
19835   HRESULT SetAudioRefLevel (
19836     [in] aafInt8  level);
19837 
19838 
19839   //***********************************************************
19840   //
19841   // GetAudioRefLevel()
19842   //
19865   HRESULT GetAudioRefLevel (
19866     [out] aafInt8 *  pLevel);
19867 
19868 
19869   //***********************************************************
19870   //
19871   // SetDialNorm()
19872   //
19888   HRESULT SetDialNorm (
19889     [in] aafInt8  dialNorm);
19890 
19891 
19892   //***********************************************************
19893   //
19894   // GetDialNorm()
19895   //
19918   HRESULT GetDialNorm (
19919     [out] aafInt8 *  pDialNorm);
19920 
19921 
19922   //***********************************************************
19923   //
19924   // SetQuantizationBits()
19925   //
19941   HRESULT SetQuantizationBits (
19942     [in] aafUInt32  bitsCount);
19943 
19944 
19945   //***********************************************************
19946   //
19947   // GetQuantizationBits()
19948   //
19967   HRESULT GetQuantizationBits (
19968     [out] aafUInt32 *  pBitsCount);
19969 }
19970 
19971 
19972 
19973 // ************************
19974 //
19975 // Interface IAAFSourceClip
19976 //
19977 // ************************
19999 [
20000     object,
20001     uuid(38e6f8a7-2a2c-11d2-8411-00600832acb8),
20002     helpstring("IAAFSourceClip Interface"),
20003     pointer_default(unique)
20004 ]
20005 interface IAAFSourceClip : IUnknown
20006 {
20007 
20008   //***********************************************************
20009   //
20010   // Initialize()
20011   //
20036   HRESULT Initialize (
20037     [in] IAAFDataDef * pDataDef,
20038     [in] aafLength_constref  length,
20039     [in] aafSourceRef_t  sourceRef);
20040 
20041 
20042   //***********************************************************
20043   //
20044   // GetFade()
20045   //
20078   HRESULT GetFade (
20079     [out] aafLength_t *  pFadeInLen,
20080     [out] aafFadeType_t *  pFadeInType,
20081     [out] aafBoolean_t *  pFadeInPresent,
20082     [out] aafLength_t *  pFadeOutLen,
20083     [out] aafFadeType_t *  pFadeOutType,
20084     [out] aafBoolean_t *  pFadeOutPresent);
20085 
20086 
20087   //***********************************************************
20088   //
20089   // ResolveRef()
20090   //
20120   HRESULT ResolveRef (
20121     [out] IAAFMob ** ppMob);
20122 
20123 
20124   //***********************************************************
20125   //
20126   // GetSourceReference()
20127   //
20154   HRESULT GetSourceReference (
20155     [out] aafSourceRef_t *  pSourceRef);
20156 
20157 
20158   //***********************************************************
20159   //
20160   // SetFade()
20161   //
20186   HRESULT SetFade (
20187     [in] aafInt32  fadeInLen,
20188     [in] aafFadeType_t  fadeInType,
20189     [in] aafInt32  fadeOutLen,
20190     [in] aafFadeType_t  fadeOutType);
20191 
20192 
20193   //***********************************************************
20194   //
20195   // SetSourceReference()
20196   //
20217   HRESULT SetSourceReference (
20218     [in] aafSourceRef_t  sourceRef);
20219 }
20220 
20221 
20222 
20223 // ************************
20224 //
20225 // Interface IAAFSourceMob
20226 //
20227 // ************************
20269 [
20270     object,
20271     uuid(B1A2137C-1A7D-11D2-BF78-00104BC9156D),
20272     helpstring("IAAFSourceMob Interface"),
20273     pointer_default(unique)
20274 ]
20275 interface IAAFSourceMob : IUnknown
20276 {
20277   //***********************************************************
20278   //
20279   // Initialize()
20280   //
20298   HRESULT Initialize ();
20299 
20300 
20301   //***********************************************************
20302   //
20303   // GetEssenceDescriptor()
20304   //
20335   HRESULT GetEssenceDescriptor (
20336     [out] IAAFEssenceDescriptor ** ppEssence);
20337 
20338 
20339   //***********************************************************
20340   //
20341   // SetEssenceDescriptor()
20342   //
20363   HRESULT SetEssenceDescriptor (
20364     [in] IAAFEssenceDescriptor * pEssence);
20365 
20366 
20367   //***********************************************************
20368   //
20369   // AddNilReference()
20370   //
20409   HRESULT AddNilReference (
20410     [in] aafSlotID_t  slotID,
20411     [in] aafLength_t  length,
20412     [in] IAAFDataDef * pDataDef,
20413     [in] aafRational_t  editRate);
20414 
20415 
20416   //***********************************************************
20417   //
20418   // AppendTimecodeSlot()
20419   //
20461   HRESULT AppendTimecodeSlot (
20462     [in] aafRational_t  editrate,
20463     [in] aafInt32  slotID,
20464     [in] aafTimecode_t  startTC,
20465     [in] aafFrameLength_t  length32);
20466 
20467 
20468   //***********************************************************
20469   //
20470   // AppendEdgecodeSlot()
20471   //
20519   HRESULT AppendEdgecodeSlot (
20520     [in] aafRational_t  editrate,
20521     [in] aafInt32  slotID,
20522     [in] aafFrameOffset_t  startEC,
20523     [in] aafFrameLength_t  length32,
20524     [in] aafFilmType_t  filmKind,
20525     [in] aafEdgeType_t  codeFormat,
20526     [in] aafEdgecodeHeader_t  header);
20527 
20528 
20529   //***********************************************************
20530   //
20531   // SpecifyValidCodeRange()
20532   //
20567   HRESULT SpecifyValidCodeRange (
20568     [in] IAAFDataDef * pEssenceKind,
20569     [in] aafSlotID_t  slotID,
20570     [in] aafRational_t  editrate,
20571     [in] aafFrameOffset_t  startOffset,
20572     [in] aafFrameLength_t  length32);
20573 
20574 
20575   //***********************************************************
20576   //
20577   // AppendPhysSourceRef()
20578   //
20620   HRESULT AppendPhysSourceRef (
20621     [in] aafRational_t  editrate,
20622     [in] aafSlotID_t  aMobSlot,
20623     [in] IAAFDataDef * pEssenceKind,
20624     [in] aafSourceRef_t  ref,
20625     [in] aafLength_t  srcRefLength);
20626 
20627 
20628   //***********************************************************
20629   //
20630   // NewPhysSourceRef()
20631   //
20673   HRESULT NewPhysSourceRef (
20674     [in] aafRational_t  editrate,
20675     [in] aafSlotID_t  aMobSlot,
20676     [in] IAAFDataDef * pEssenceKind,
20677     [in] aafSourceRef_t  ref,
20678     [in] aafLength_t  srcRefLength);
20679 
20680 
20681   //***********************************************************
20682   //
20683   // AddPulldownRef()
20684   //
20743   HRESULT AddPulldownRef (
20744     [in] aafAppendOption_t  addType,
20745     [in] aafRational_t  editrate,
20746     [in] aafSlotID_t  aMobSlot,
20747     [in] IAAFDataDef * pEssenceKind,
20748     [in] aafSourceRef_t  ref,
20749     [in] aafLength_t  srcRefLength,
20750     [in] aafPulldownKind_t  pulldownKind,
20751     [in] aafPhaseFrame_t  phaseFrame,
20752     [in] aafPulldownDir_t  direction);
20753 
20754 }
20755 
20756 
20757 
20758 // ************************
20759 //
20760 // Interface IAAFSourceReference
20761 //
20762 // ************************
20784 
20785 
20793 [
20794     object,
20795     uuid(92B88033-2B2B-11d2-BF7E-00104BC9156D),
20796     helpstring("IAAFSourceReference Interface"),
20797     pointer_default(unique)
20798 ]
20799 interface IAAFSourceReference : IUnknown
20800 {
20801   //***********************************************************
20802   //
20803   // GetSourceID()
20804   //
20824   HRESULT GetSourceID (
20825     [retval][out] aafMobID_t *  pSourceID);
20826 
20827 
20828   //***********************************************************
20829   //
20830   // SetSourceID()
20831   //
20845   HRESULT SetSourceID (
20846     [in] aafMobID_constref   sourceID);
20847 
20848 
20849   //***********************************************************
20850   //
20851   // GetSourceMobSlotID()
20852   //
20872   HRESULT GetSourceMobSlotID (
20873     [retval][out] aafSlotID_t *  pMobSlotID);
20874 
20875 
20876   //***********************************************************
20877   //
20878   // SetSourceMobSlotID()
20879   //
20898   HRESULT SetSourceMobSlotID (
20899     [in] aafSlotID_t   mobSlotID);
20900 
20901 
20902 
20903 
20904 
20905 
20906 
20907 
20908 
20909 }
20910 
20911 
20912 // ************************
20913 //
20914 // Interface IAAFStaticMobSlot
20915 //
20916 // ************************
20917 
20927 [
20928     object,
20929     uuid(e684d764-b935-11d2-bf9d-00104bc9156d),
20930     helpstring("IAAFStaticMobSlot Interface"),
20931     pointer_default(unique)
20932 ]
20933 interface IAAFStaticMobSlot : IUnknown
20934 {
20935 
20936 
20937 }
20938 
20939 
20940 
20941 // ************************
20942 //
20943 // Interface IAAFTapeDescriptor
20944 //
20945 // ************************
20946 
20960 
20961 
20966 [
20967     object,
20968     uuid(e58a8569-2a3e-11D2-bfa4-006097116212),
20969     helpstring("IAAFTapeDescriptor Interface"),
20970     pointer_default(unique)
20971 ]
20972 interface IAAFTapeDescriptor : IUnknown
20973 {
20974 
20975   //***********************************************************
20976   //
20977   // Initialize()
20978   //
20996   HRESULT Initialize ();
20997 
20998 
20999   //***********************************************************
21000   //
21001   // SetTapeManufacturer()
21002   //
21031   HRESULT SetTapeManufacturer (
21032     [in, string] aafCharacter_constptr  pTapeManufacturer);
21033 
21034 
21035   //***********************************************************
21036   //
21037   // GetTapeManufacturer()
21038   //
21076   HRESULT GetTapeManufacturer (
21077     [out, string, size_is(bufSize)] aafCharacter *  pTapeManufacturer,
21078     [in] aafUInt32  bufSize);
21079 
21080 
21081   //***********************************************************
21082   //
21083   // GetTapeManufacturerBufLen()
21084   //
21102   HRESULT GetTapeManufacturerBufLen (
21103     [out] aafUInt32 *  pBufSize);
21104 
21105 
21106   //***********************************************************
21107   //
21108   // SetTapeModel()
21109   //
21138   HRESULT SetTapeModel (
21139     [in, string] aafCharacter_constptr  pTapeModel);
21140 
21141 
21142   //***********************************************************
21143   //
21144   // GetTapeModel()
21145   //
21183   HRESULT GetTapeModel (
21184     [out, string, size_is(bufSize)] aafCharacter *  pTapeModel,
21185     [in] aafUInt32  bufSize);
21186 
21187 
21188   //***********************************************************
21189   //
21190   // GetTapeModelBufLen()
21191   //
21209   HRESULT GetTapeModelBufLen (
21210     [out] aafUInt32 *  pBufSize);
21211 
21212 
21213   //***********************************************************
21214   //
21215   // SetTapeFormFactor()
21216   //
21237   HRESULT SetTapeFormFactor (
21238     [in] aafTapeCaseType_t  formFactor);
21239 
21240 
21241   //***********************************************************
21242   //
21243   // GetTapeFormFactor()
21244   //
21265   HRESULT GetTapeFormFactor (
21266     [out] aafTapeCaseType_t *  formFactor);
21267 
21268 
21269   //***********************************************************
21270   //
21271   // SetSignalType()
21272   //
21293   HRESULT SetSignalType (
21294     [in] aafVideoSignalType_t  videoSignal);
21295 
21296 
21297   //***********************************************************
21298   //
21299   // GetSignalType()
21300   //
21323   HRESULT GetSignalType (
21324     [out] aafVideoSignalType_t *  pVideoSignal);
21325 
21326 
21327   //***********************************************************
21328   //
21329   // SetTapeFormat()
21330   //
21351   HRESULT SetTapeFormat (
21352     [in] aafTapeFormatType_t  tapeFormat);
21353 
21354 
21355   //***********************************************************
21356   //
21357   // GetTapeFormat()
21358   //
21382   HRESULT GetTapeFormat (
21383     [out] aafTapeFormatType_t *  pTapeFormat);
21384 
21385 
21386   //***********************************************************
21387   //
21388   // SetTapeLength()
21389   //
21410   HRESULT SetTapeLength (
21411     [in] aafUInt32  tapeLength);
21412 
21413 
21414   //***********************************************************
21415   //
21416   // GetTapeLength()
21417   //
21440   HRESULT GetTapeLength (
21441     [out] aafUInt32 *  pTapeLength);
21442 }
21443 
21444 
21445 
21446 // ************************
21447 //
21448 // Interface IAAFTaggedValue
21449 //
21450 // ************************
21466 [
21467     object,
21468     uuid(e684d762-b935-11d2-bf9d-00104bc9156d),
21469     helpstring("IAAFTaggedValue Interface"),
21470     pointer_default(unique)
21471 ]
21472 interface IAAFTaggedValue : IUnknown
21473 {
21474 
21475   //***********************************************************
21476   //
21477   // Initialize()
21478   //
21510   HRESULT Initialize (
21511     [in, string] aafCharacter_constptr  pName,
21512     [in] IAAFTypeDef * pTypeDef,
21513     [in] aafUInt32  valueSize,
21514     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
21515 
21516 
21517   //***********************************************************
21518   //
21519   // GetName()
21520   //
21558   HRESULT GetName (
21559     [out, string, size_is(bufSize)] aafCharacter *  pName,
21560     [in] aafUInt32  bufSize);
21561 
21562 
21563   //***********************************************************
21564   //
21565   // GetNameBufLen()
21566   //
21584   HRESULT GetNameBufLen (
21585     [out] aafUInt32 *  pBufSize);
21586 
21587 
21588   //***********************************************************
21589   //
21590   // GetTypeDefinition()
21591   //
21617   HRESULT GetTypeDefinition (
21618     [out] IAAFTypeDef ** ppTypeDef);
21619 
21620 
21621   //***********************************************************
21622   //
21623   // GetValue()
21624   //
21655   HRESULT GetValue (
21656     [in] aafUInt32  valueSize,
21657     [out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t  pValue,
21658     [out] aafUInt32 *  bytesRead);
21659 
21660 
21661   //***********************************************************
21662   //
21663   // GetValueBufLen()
21664   //
21685   HRESULT GetValueBufLen (
21686     [out] aafUInt32 *  pLen);
21687 
21688   //***********************************************************
21689   //
21690   // SetValue()
21691   //
21714   HRESULT SetValue (
21715     [in] aafUInt32  valueSize,
21716     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
21717 
21718 }
21719 
21720 
21721 
21722 // ************************
21723 //
21724 // Interface IAAFTextLocator
21725 //
21726 // ************************
21748 [
21749     object,
21750     uuid(e684d768-b935-11d2-bf9d-00104bc9156d),
21751     helpstring("IAAFTextLocator Interface"),
21752     pointer_default(unique)
21753 ]
21754 interface IAAFTextLocator : IUnknown
21755 {
21756 
21757   //***********************************************************
21758   //
21759   // Initialize()
21760   //
21778   HRESULT Initialize ();
21779 
21780 
21781   //***********************************************************
21782   //
21783   // SetName()
21784   //
21813   HRESULT SetName (
21814     [in, string] aafCharacter_constptr  pName);
21815 
21816 
21817   //***********************************************************
21818   //
21819   // GetName()
21820   //
21858   HRESULT GetName (
21859     [out, string, size_is(bufSize)] aafCharacter *  pName,
21860     [in] aafUInt32  bufSize);
21861 
21862 
21863   //***********************************************************
21864   //
21865   // GetNameBufLen()
21866   //
21884   HRESULT GetNameBufLen (
21885     [out] aafUInt32 *  pBufSize);
21886 }
21887 
21888 
21889 
21890 // ************************
21891 //
21892 // Interface IAAFTimecode
21893 //
21894 // ************************
21907 
21908 
21915 [
21916     object,
21917     uuid(92B88035-2B2B-11d2-BF7E-00104BC9156D),
21918     helpstring("IAAFTimecode Interface"),
21919     pointer_default(unique)
21920 ]
21921 interface IAAFTimecode : IUnknown
21922 {
21923 
21924   //***********************************************************
21925   //
21926   // Initialize()
21927   //
21952   HRESULT Initialize (
21953     [in] aafLength_t  length,
21954     [in] aafTimecode_t*  pTimecode);
21955 
21956 
21957   //***********************************************************
21958   //
21959   // GetTimecode()
21960   //
21983   HRESULT GetTimecode (
21984     [out] aafTimecode_t *  pTimecode);
21985 
21986 
21987   //***********************************************************
21988   //
21989   // SetTimecode()
21990   //
22013   HRESULT SetTimecode (
22014     [in] aafTimecode_t *  timecode);
22015 
22016 
22017 
22018 
22019 }
22020 
22021 
22022 
22023 // ************************
22024 //
22025 // Interface IAAFTimelineMobSlot
22026 //
22027 // ************************
22050 
22051 
22057 [
22058     object,
22059     uuid(B1A21378-1A7D-11D2-BF78-00104BC9156D),
22060     helpstring("IAAFTimelineMobSlot Interface"),
22061     pointer_default(unique)
22062 ]
22063 interface IAAFTimelineMobSlot : IUnknown
22064 {
22065   //***********************************************************
22066   //
22067   // Initialize()
22068   //
22087   HRESULT Initialize ();
22088 
22089 
22090   //***********************************************************
22091   //
22092   // GetEditRate()
22093   //
22114   HRESULT GetEditRate (
22115     [out,retval] aafRational_t *  pEditRate);
22116 
22117 
22118   //***********************************************************
22119   //
22120   // SetEditRate()
22121   //
22136   HRESULT SetEditRate (
22137     [in] aafRational_constref  editRate);
22138 
22139 
22140   //***********************************************************
22141   //
22142   // GetOrigin()
22143   //
22164   HRESULT GetOrigin (
22165     [out,retval] aafPosition_t *  pOrigin);
22166 
22167 
22168   //***********************************************************
22169   //
22170   // SetOrigin()
22171   //
22186   HRESULT SetOrigin (
22187     [in] aafPosition_t  origin);
22188 
22189 
22190 
22191 
22192 
22193 
22194 
22195 }
22196 
22197 
22198 // ************************
22199 //
22200 // Interface IAAFTransition
22201 //
22202 // ************************
22231 [
22232     object,
22233     uuid(E3F38312-2D3C-11d2-8043-006008143E6F),
22234     helpstring("IAAFTransition Interface"),
22235     pointer_default(unique)
22236 ]
22237 interface IAAFTransition : IUnknown
22238 {
22239 
22240   //***********************************************************
22241   //
22242   // Initialize()
22243   //
22252   HRESULT Initialize (
22253     [in] IAAFDataDef * pDataDef,
22254     [in] aafLength_t  length,
22255     [in] aafPosition_t  cutPoint,
22256     [in] IAAFOperationGroup * op);       
22257 
22258 
22259   //***********************************************************
22260   //
22261   // GetCutPoint()
22262   //
22268   HRESULT GetCutPoint (
22269     [out] aafPosition_t *  cutPoint);
22270 
22271 
22272   //***********************************************************
22273   //
22274   // GetOperationGroup()
22275   //
22280   HRESULT GetOperationGroup (
22281     [out] IAAFOperationGroup ** groupObj);
22282 
22283 
22284   //***********************************************************
22285   //
22286   // SetCutPoint()
22287   //
22293   HRESULT SetCutPoint (
22294     [in] aafPosition_t  cutPoint);
22295 
22296 
22297   //***********************************************************
22298   //
22299   // SetOperationGroup()
22300   //
22305   HRESULT SetOperationGroup (
22306     [in] IAAFOperationGroup * opgroup);
22307 }
22308 
22309 
22310 
22311 // ************************
22312 //
22313 // Interface IAAFTIFFDescriptor
22314 //
22315 // ************************
22316 
22317 
22331 
22332 
22338 [
22339     object,
22340     uuid(e684d76c-b935-11d2-bf9d-00104bc9156d),
22341     helpstring("IAAFTIFFDescriptor Interface"),
22342     pointer_default(unique)
22343 ]
22344 interface IAAFTIFFDescriptor : IUnknown
22345 {
22346 
22347   //***********************************************************
22348   //
22349   // SetIsUniform()
22350   //
22365   HRESULT SetIsUniform (
22366     [in] aafBoolean_t  IsUniform);
22367 
22368 
22369   //***********************************************************
22370   //
22371   // GetIsUniform()
22372   //
22393   HRESULT GetIsUniform (
22394     [out] aafBoolean_t *  pIsUniform);
22395 
22396 
22397   //***********************************************************
22398   //
22399   // SetIsContiguous()
22400   //
22414   HRESULT SetIsContiguous (
22415     [in] aafBoolean_t  IsContiguous);
22416 
22417 
22418   //***********************************************************
22419   //
22420   // GetIsContiguous()
22421   //
22442   HRESULT GetIsContiguous (
22443     [out] aafBoolean_t *  pIsContiguous);
22444 
22445 
22446   //***********************************************************
22447   //
22448   // SetLeadingLines()
22449   //
22467   HRESULT SetLeadingLines (
22468     [in] aafInt32  LeadingLines);
22469 
22470 
22471   //***********************************************************
22472   //
22473   // GetLeadingLines()
22474   //
22497   HRESULT GetLeadingLines (
22498     [out] aafInt32 *  pLeadingLines);
22499 
22500 
22501   //***********************************************************
22502   //
22503   // SetTrailingLines()
22504   //
22522   HRESULT SetTrailingLines (
22523     [in] aafInt32  TrailingLines);
22524 
22525 
22526   //***********************************************************
22527   //
22528   // GetTrailingLines()
22529   //
22552   HRESULT GetTrailingLines (
22553     [out] aafInt32 *  pTrailingLines);
22554 
22555 
22556   //***********************************************************
22557   //
22558   // SetJPEGTableID()
22559   //
22573   HRESULT SetJPEGTableID (
22574     [in] aafJPEGTableID_t  JPEGTableID);
22575 
22576 
22577   //***********************************************************
22578   //
22579   // GetJPEGTableID()
22580   //
22603   HRESULT GetJPEGTableID (
22604     [out] aafJPEGTableID_t *  pJPEGTableID);
22605 
22606 
22607   //***********************************************************
22608   //
22609   // GetSummary()
22610   //
22634   HRESULT GetSummary (
22635     [in] aafUInt32  size,
22636     [out, size_is(size)] aafDataValue_t  pSummary);
22637 
22638 
22639   //***********************************************************
22640   //
22641   // GetSummaryBufferSize()
22642   //
22661   HRESULT GetSummaryBufferSize (
22662     [out] aafUInt32 *  pSize);
22663 
22664 
22665   //***********************************************************
22666   //
22667   // SetSummary()
22668   //
22688   HRESULT SetSummary (
22689     [in] aafUInt32  size,
22690     [in, size_is(size)] aafDataValue_t  pSummary);
22691 }
22692 
22693 
22694 
22695 // ************************
22696 //
22697 // Interface IAAFTimecodeStream
22698 //
22699 // ************************
22726 [
22727     object,
22728     uuid(7B007BF2-2D39-11d2-8043-006008143E6F),
22729     helpstring("IAAFTimecodeStream Interface"),
22730     pointer_default(unique)
22731 ]
22732 interface IAAFTimecodeStream : IUnknown
22733 {
22734 
22735   //***********************************************************
22736   //
22737   // GetPositionTimecode()
22738   //
22744   HRESULT GetPositionTimecode (
22745     [in] aafPosition_t  position,
22746     [out] aafTimecode_t *  timecode);
22747 
22748 
22749   //***********************************************************
22750   //
22751   // SetPositionTimecode()
22752   //
22759   HRESULT SetPositionTimecode (
22760     [in] aafPosition_t  position,
22761     [in] aafTimecode_t  timecode);
22762 
22763 
22764   //***********************************************************
22765   //
22766   // GetUserDataLength()
22767   //
22772   HRESULT GetUserDataLength (
22773     [out] aafInt32 *  length);
22774 
22775 
22776   //***********************************************************
22777   //
22778   // GetUserDataAtPosition()
22779   //
22786   HRESULT GetUserDataAtPosition (
22787     [in] aafPosition_t  position,
22788     [in] aafInt32  buflen,
22789     [out] aafDataBuffer_t  buffer);
22790 
22791 
22792   //***********************************************************
22793   //
22794   // SetUserDataAtPosition()
22795   //
22802   HRESULT SetUserDataAtPosition (
22803     [in] aafPosition_t  position,
22804     [in] aafInt32  buflen,
22805     [in] aafDataBuffer_t  buffer);
22806                                                          
22807 
22808   //***********************************************************
22809   //
22810   // SetSampleRate()
22811   //
22816   HRESULT SetSampleRate (
22817     [in] aafRational_t  sampleRate);
22818 
22819 
22820   //***********************************************************
22821   //
22822   // GetSampleRate()
22823   //
22828   HRESULT GetSampleRate (
22829     [out] aafRational_t *  pSampleRate);
22830 
22831 
22832   //***********************************************************
22833   //
22834   // SetSourceType()
22835   //
22840   HRESULT SetSourceType (
22841     [in] aafTimecodeSourceType_t  sourceType);
22842 
22843 
22844   //***********************************************************
22845   //
22846   // GetSourceType()
22847   //
22852   HRESULT GetSourceType (
22853     [out] aafTimecodeSourceType_t *  pSourceType);
22854 
22855 
22856   //***********************************************************
22857   //
22858   // GetSampleSize()
22859   //
22864   HRESULT GetSampleSize (
22865     [out] aafUInt32 *  pSampleSize);
22866 
22867 
22868   //***********************************************************
22869   //
22870   // GetSource()
22871   //
22902   HRESULT GetSource (
22903     [in] aafUInt32  valueSize,
22904     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
22905     [out] aafUInt32*  bytesRead);
22906 
22907 
22908   //***********************************************************
22909   //
22910   // GetSourceBufLen()
22911   //
22933   HRESULT GetSourceBufLen (
22934     [out] aafUInt32 *  pLen);
22935 
22936 
22937   //***********************************************************
22938   //
22939   // SetSource()
22940   //
22962   HRESULT SetSource (
22963     [in] aafUInt32  valueSize,
22964     [in, size_is(valueSize)] aafDataBuffer_t  pValue);
22965 
22966 
22967 
22968 
22969 
22970 
22971 }
22972 
22973 
22974 
22975 // ************************
22976 //
22977 // Interface IAAFTimecodeStream12M
22978 //
22979 // ************************
22987 [
22988     object,
22989     uuid(EBF5EDB2-2D3A-11d2-8043-006008143E6F),
22990     helpstring("IAAFTimecodeStream12M Interface"),
22991     pointer_default(unique)
22992 ]
22993 
22994 interface IAAFTimecodeStream12M : IUnknown
22995 {
22996 
22997 
22998 
22999 
23000 }
23001 
23002 
23003 
23004 // ************************
23005 //
23006 // Interface IAAFTypeDef
23007 //
23008 // ************************
23028 
23029 
23033 [
23034     object,
23035     uuid(dfbd6523-1d81-11d2-bf96-006097116212),
23036     helpstring("IAAFTypeDef Interface"),
23037     pointer_default(unique)
23038 ]
23039 interface IAAFTypeDef : IUnknown
23040 {
23041 
23042   //***********************************************************
23043   //
23044   // GetTypeCategory()
23045   //
23063   HRESULT GetTypeCategory (
23064     [out] eAAFTypeCategory_t *  pTid);
23065 
23066 
23067   //***********************************************************
23068   //
23069   // RawAccessType()
23070   //
23092   HRESULT RawAccessType (
23093     [out] IAAFTypeDef ** ppRawTypeDef);
23094 
23095 
23096 }
23097 
23098 
23099 
23100 // ************************
23101 //
23102 // Interface IAAFTypeDefCharacter
23103 //
23104 // ************************
23120 [
23121     object,
23122     uuid(FE717CAA-F04C-11d3-800B-00104BC9156D),
23123     helpstring("IAAFTypeDefCharacter Interface"),
23124     pointer_default(unique)
23125 ]
23126 interface IAAFTypeDefCharacter : IUnknown
23127 {
23128 
23129 
23130   //***********************************************************
23131   //
23132   // CreateValueFromCharacter()
23133   //
23155   HRESULT CreateValueFromCharacter (
23156     [in] aafCharacter  character,
23157     [out] IAAFPropertyValue ** ppCharacterValue);
23158 
23159   //***********************************************************
23160   //
23161   // GetCharacter()
23162   //
23184   HRESULT GetCharacter (
23185     [in] IAAFPropertyValue * pCharacterValue,
23186     [out] aafCharacter *  pCharacter);
23187 
23188   //***********************************************************
23189   //
23190   // SetCharacter()
23191   //
23212   HRESULT SetCharacter (
23213     [in] IAAFPropertyValue * pCharacterValue,
23214     [in] aafCharacter  character);
23215 
23216 
23217 
23218 }
23219 
23220 
23221 
23222 // ************************
23223 //
23224 // Interface IAAFTypeDefIndirect
23225 //
23226 // ************************
23242 [
23243     object,
23244     uuid(FE717CA8-F04C-11d3-800B-00104BC9156D),
23245     helpstring("IAAFTypeDefIndirect Interface"),
23246     pointer_default(unique)
23247 ]
23248 interface IAAFTypeDefIndirect : IUnknown
23249 {
23250 
23251 
23252 
23253   //***********************************************************
23254   //
23255   // CreateValueFromActualValue()
23256   //
23288   HRESULT CreateValueFromActualValue (
23289     [in] IAAFPropertyValue * pActualValue,
23290     [out] IAAFPropertyValue ** ppIndirectPropertyValue);
23291 
23292   //***********************************************************
23293   //
23294   // CreateValueFromActualData()
23295   //
23334   HRESULT CreateValueFromActualData (
23335     [in] IAAFTypeDef * pActualType,
23336     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
23337     [in] aafUInt32  initDataSize,
23338     [out] IAAFPropertyValue ** ppIndirectPropertyValue);
23339 
23340 
23341   //***********************************************************
23342   //
23343   // GetActualValue()
23344   //
23374   HRESULT GetActualValue (
23375     [in] IAAFPropertyValue * pIndirectPropertyValue,
23376     [out] IAAFPropertyValue ** ppActualPropertyValue);
23378 
23379   //***********************************************************
23380   //
23381   // GetActualSize()
23382   //
23418   HRESULT GetActualSize (
23419     [in] IAAFPropertyValue * pIndirectPropertyValue,
23420     [out] aafUInt32 *  pActualSize);
23421   //***********************************************************
23422   //
23423   // GetActualType()
23424   //
23459   HRESULT GetActualType (
23460     [in] IAAFPropertyValue * pIndirectPropertyValue,
23461     [out] IAAFTypeDef ** pActualType);
23462 
23463   //***********************************************************
23464   //
23465   // GetActualData()
23466   //
23505   HRESULT GetActualData (
23506     [in] IAAFPropertyValue * pPropVal,
23507     [out, size_is(dataSize)] aafMemPtr_t  pData,
23508     [in] aafUInt32  dataSize);
23509 
23510 
23511 
23512 }
23513 
23514 
23515 
23516 // ************************
23517 //
23518 // Interface IAAFTypeDefInt
23519 //
23520 // ************************
23536 [
23537     object,
23538     uuid(809c8ca2-9884-11d2-841f-00600832acb8),
23539     helpstring("IAAFTypeDefInt Interface"),
23540     pointer_default(unique)
23541 ]
23542 interface IAAFTypeDefInt : IUnknown
23543 {
23544 
23545   //***********************************************************
23546   //
23547   // Initialize()
23548   //
23581   HRESULT Initialize (
23582     [in, ref] aafUID_constref  id,
23583     [in] aafUInt8  intSize,
23584     [in] aafBoolean_t  isSigned,
23585     [in, string] aafCharacter_constptr  pTypeName);
23586 
23587 
23588   //***********************************************************
23589   //
23590   // CreateValue()
23591   //
23631   HRESULT CreateValue (
23632     [in, size_is(valSize)] aafMemPtr_t  pVal,
23633     [in] aafUInt32  valSize,
23634     [out] IAAFPropertyValue ** ppPropVal);
23635 
23636 
23637   //***********************************************************
23638   //
23639   // GetInteger()
23640   //
23686   HRESULT GetInteger (
23687     [in] IAAFPropertyValue * pPropVal,
23688     [out, size_is(valSize)] aafMemPtr_t  pVal,
23689     [in] aafUInt32  valSize);
23690 
23691 
23692   //***********************************************************
23693   //
23694   // SetInteger()
23695   //
23727   HRESULT SetInteger (
23728     [in] IAAFPropertyValue * pPropVal,
23729     [in, size_is(valSize)] aafMemPtr_t  pVal,
23730     [in] aafUInt32  valSize);
23731 
23732 
23733   //***********************************************************
23734   //
23735   // GetSize()
23736   //
23758   HRESULT GetSize (
23759     [out] aafUInt32 *  pSize);
23760 
23761 
23762   //***********************************************************
23763   //
23764   // IsSigned()
23765   //
23788   HRESULT IsSigned (
23789     [out] aafBoolean_t *  pSigned);
23790 
23791 
23792 
23793 }
23794 
23795 
23796 
23797 // ************************
23798 //
23799 // Interface IAAFTypeDefRename
23800 //
23801 // ************************
23818 [
23819     object,
23820     uuid(307e9e6a-dcb2-11d2-8429-00600832acb8),
23821     helpstring("IAAFTypeDefRename Interface"),
23822     pointer_default(unique)
23823 ]
23824 interface IAAFTypeDefRename : IUnknown
23825 {
23826 
23827   //***********************************************************
23828   //
23829   // Initialize()
23830   //
23859   HRESULT Initialize (
23860     [in, ref] aafUID_constref  id,
23861     [in] IAAFTypeDef * pBaseType,
23862     [in, string] aafCharacter_constptr  pTypeName);
23863 
23864 
23865   //***********************************************************
23866   //
23867   // GetBaseType()
23868   //
23890   HRESULT GetBaseType (
23891     [out] IAAFTypeDef ** ppBaseType);
23892 
23893 
23894   //***********************************************************
23895   //
23896   // GetBaseValue()
23897   //
23922   HRESULT GetBaseValue (
23923     [in] IAAFPropertyValue * pInPropVal,
23924     [out] IAAFPropertyValue ** ppOutPropVal);
23925 
23926   //***********************************************************
23927   //
23928   // CreateValue()
23929   //
23954   HRESULT CreateValue (
23955     [in] IAAFPropertyValue * pInPropVal,
23956     [out] IAAFPropertyValue ** ppOutPropVal);
23957 
23958 
23959 }
23960 
23961 
23962 
23963 // ************************
23964 //
23965 // Interface IAAFTypeDefEnum
23966 //
23967 // ************************
23984 [
23985     object,
23986     uuid(307e9e64-dcb2-11d2-8429-00600832acb8),
23987     helpstring("IAAFTypeDefEnum Interface"),
23988     pointer_default(unique)
23989 ]
23990 interface IAAFTypeDefEnum : IUnknown
23991 {
23992 
23993   //***********************************************************
23994   //
23995   // Initialize()
23996   //
24047   HRESULT Initialize (
24048     [in, ref] aafUID_constref  id,
24049     [in] IAAFTypeDef * pType,
24050     [in, size_is(numElems)] aafInt64 *  pElementValues,
24051     [in, size_is(numElems)] aafString_t *  pElementNames,
24052     [in] aafUInt32  numElems,
24053     [in] aafCharacter_constptr  pTypeName);
24054 
24055 
24056   //***********************************************************
24057   //
24058   // CreateValueFromName()
24059   //
24092   HRESULT CreateValueFromName (
24093     [in] aafCharacter_constptr  Name,
24094     [out] IAAFPropertyValue ** ppPropVal);
24095   
24096   
24097   
24098   //***********************************************************
24099   //
24100   // GetElementType()
24101   //
24124   HRESULT GetElementType (
24125     [out] IAAFTypeDef ** ppTypeDef);
24126 
24127   //***********************************************************
24128   //
24129   // GetElementValue()
24130   //
24158   HRESULT GetElementValue (
24159     [in] aafUInt32  index,
24160     [out] aafInt64 *  pOutValue);
24161 
24162   //***********************************************************
24163   //
24164   // GetElementName()
24165   //
24202   HRESULT GetElementName (
24203     [in] aafUInt32  index,
24204     [out, size_is(bufSize)] aafCharacter *  pOutValue,
24205     [in] aafUInt32  bufSize);
24206   
24207   
24208 
24209   //***********************************************************
24210   //
24211   // GetElementNameBufLen()
24212   //
24241   HRESULT GetElementNameBufLen (
24242     [in] aafUInt32  index,
24243     [out] aafUInt32 *  pLen);
24244 
24245 
24246 
24247   
24248   //***********************************************************
24249   //
24250   // CountElements()
24251   //
24273   HRESULT CountElements (
24274     [out] aafUInt32 *  pCount);
24275 
24276 
24277 
24278   //***********************************************************
24279   //
24280   // GetNameFromValue()
24281   //
24321   HRESULT GetNameFromValue (
24322     [in] IAAFPropertyValue * pValue,
24323     [out, size_is(bufSize), string] aafCharacter *  pName,
24324     [in] aafUInt32  bufSize);
24325 
24326 
24327   //***********************************************************
24328   //
24329   // GetNameBufLenFromValue()
24330   //
24361   HRESULT GetNameBufLenFromValue (
24362     [in] IAAFPropertyValue * pValue,
24363     [out] aafUInt32 *  pLen);
24364 
24365 
24366   //***********************************************************
24367   //
24368   // GetNameFromInteger()
24369   //
24408   HRESULT GetNameFromInteger (
24409     [in] aafInt64  value,
24410     [out, size_is(bufSize), string] aafCharacter *  pName,
24411     [in] aafUInt32  bufSize);
24412 
24413 
24414   //***********************************************************
24415   //
24416   // GetNameBufLenFromInteger()
24417   //
24447   HRESULT GetNameBufLenFromInteger (
24448     [in] aafInt64  value,
24449     [out] aafUInt32 *  pLen);
24450 
24451 
24452   //***********************************************************
24453   //
24454   // GetIntegerValue()
24455   //
24479   HRESULT GetIntegerValue (
24480     [in] IAAFPropertyValue * pPropValIn,
24481     [out] aafInt64 *  pValueOut);
24482 
24483 
24484   //***********************************************************
24485   //
24486   // SetIntegerValue()
24487   //
24514   HRESULT SetIntegerValue (
24515     [in] IAAFPropertyValue * pPropValToSet,
24516     [in] aafInt64  valueIn);
24517 
24518 
24519   //***********************************************************
24520   //
24521   // RegisterSize()
24522   //
24545   HRESULT RegisterSize (
24546     [in] aafUInt32  enumSize);
24547 
24548 }
24549 
24550 
24551 
24552 // ************************
24553 //
24554 // Interface IAAFTypeDefExtEnum
24555 //
24556 // ************************
24573 [
24574     object,
24575     uuid(a5456f01-0ef2-11d3-842e-00600832acb8),
24576     helpstring("IAAFTypeDefExtEnum Interface"),
24577     pointer_default(unique)
24578 ]
24579 interface IAAFTypeDefExtEnum : IUnknown
24580 {
24581 
24582   //***********************************************************
24583   //
24584   // Initialize()
24585   //
24617   HRESULT Initialize (
24618     [in, ref] aafUID_constref  id,
24619     [in] aafCharacter_constptr  pTypeName);
24620 
24621   //***********************************************************
24622   //
24623   // CreateValueFromName()
24624   //
24657   HRESULT CreateValueFromName (
24658     [in] aafCharacter_constptr  Name,
24659     [out] IAAFPropertyValue ** ppPropVal);
24660   
24661 
24662   //***********************************************************
24663   //
24664   // CountElements()
24665   //
24687   HRESULT CountElements (
24688     [out] aafUInt32 *  pCount);
24689 
24690 
24691   //***********************************************************
24692   //
24693   // GetElementValue()
24694   //
24722   HRESULT GetElementValue (
24723     [in] aafUInt32  index,
24724     [out] aafUID_t *  pOutValue);
24725 
24726 
24727   //***********************************************************
24728   //
24729   // GetElementName()
24730   //
24767   HRESULT GetElementName (
24768     [in] aafUInt32  index,
24769     [out, size_is(bufSize)] aafCharacter *  pOutValue,
24770     [in] aafUInt32  bufSize);
24771   
24772   //***********************************************************
24773   //
24774   // GetElementNameBufLen()
24775   //
24804   HRESULT GetElementNameBufLen (
24805     [in] aafUInt32  index,
24806     [out] aafUInt32 *  pLen);
24807 
24808 
24809   //***********************************************************
24810   //
24811   // GetNameFromValue()
24812   //
24852   HRESULT GetNameFromValue (
24853     [in] IAAFPropertyValue * pValue,
24854     [out, size_is(bufSize), string] aafCharacter *  pName,
24855     [in] aafUInt32  bufSize);
24856 
24857 
24858   //***********************************************************
24859   //
24860   // GetNameBufLenFromValue()
24861   //
24892   HRESULT GetNameBufLenFromValue (
24893     [in] IAAFPropertyValue * pValue,
24894     [out] aafUInt32 *  pLen);
24895 
24896 
24897   //***********************************************************
24898   //
24899   // GetNameFromAUID()
24900   //
24939   HRESULT GetNameFromAUID (
24940     [in, ref] aafUID_constref  value,
24941     [out, size_is(bufSize), string] aafCharacter *  pName,
24942     [in] aafUInt32  bufSize);
24943 
24944 
24945   //***********************************************************
24946   //
24947   // GetNameBufLenFromAUID()
24948   //
24978   HRESULT GetNameBufLenFromAUID (
24979     [in, ref] aafUID_constref  value,
24980     [out] aafUInt32 *  pLen);
24981 
24982 
24983   //***********************************************************
24984   //
24985   // GetAUIDValue()
24986   //
25010   HRESULT GetAUIDValue (
25011     [in] IAAFPropertyValue * pPropValIn,
25012     [out] aafUID_t *  pValueOut);
25013 
25014 
25015   //***********************************************************
25016   //
25017   // SetAUIDValue()
25018   //
25045   HRESULT SetAUIDValue (
25046     [in] IAAFPropertyValue * pPropValToSet,
25047     [in, ref] aafUID_constref  valueIn);
25048 
25049 
25050   //***********************************************************
25051   //
25052   // AppendElement()
25053   //
25080   HRESULT AppendElement (
25081     [in, ref] aafUID_constref  value,
25082     [in] aafCharacter_constptr  pName);
25083 
25084 
25085 
25086 }
25087 
25088 
25089 
25090 // ************************
25091 //
25092 // Interface IAAFTypeDefFixedArray
25093 //
25094 // ************************
25110 [
25111     object,
25112     uuid(c3274646-9467-11d2-841f-00600832acb8),
25113     helpstring("IAAFTypeDefFixedArray Interface"),
25114     pointer_default(unique)
25115 ]
25116 interface IAAFTypeDefFixedArray : IUnknown
25117 {
25118 
25119   //***********************************************************
25120   //
25121   // Initialize()
25122   //
25164   HRESULT Initialize (
25165     [in, ref] aafUID_constref  id,
25166     [in] IAAFTypeDef * pTypeDef,
25167     [in] aafUInt32  nElements,
25168     [in] aafCharacter_constptr  pTypeName);
25169 
25170 
25171   //***********************************************************
25172   //
25173   // GetType()
25174   //
25196   HRESULT GetType (
25197     [out] IAAFTypeDef ** ppTypeDef);
25198 
25199 
25200   //***********************************************************
25201   //
25202   // GetCount()
25203   //
25225   HRESULT GetCount (
25226     [out] aafUInt32 *  pCount);
25227 
25228 
25229   //***********************************************************
25230   //
25231   // CreateValueFromValues()
25232   //
25268   HRESULT CreateValueFromValues (
25269     [in, size_is(numElements)] IAAFPropertyValue ** ppElementValues,
25270     [in] aafUInt32  numElements,
25271     [out] IAAFPropertyValue ** ppPropVal);
25272 
25273 
25274   //***********************************************************
25275   //
25276   // CreateValueFromCArray()
25277   //
25317   HRESULT CreateValueFromCArray (
25318     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
25319     [in] aafUInt32  initDataSize,
25320     [out] IAAFPropertyValue ** ppPropVal);
25321 
25322 
25323   //***********************************************************
25324   //
25325   // GetElementValue()
25326   //
25358   HRESULT GetElementValue (
25359     [in] IAAFPropertyValue * pInPropVal,
25360     [in] aafUInt32  index,
25361     [out] IAAFPropertyValue ** ppOutPropVal);
25362 
25363 
25364   //***********************************************************
25365   //
25366   // GetCArray()
25367   //
25405   HRESULT GetCArray (
25406     [in] IAAFPropertyValue * pPropVal,
25407     [out, size_is(dataSize)] aafMemPtr_t  pData,
25408     [in] aafUInt32  dataSize);
25409 
25410 
25411   //***********************************************************
25412   //
25413   // SetElementValue()
25414   //
25447   HRESULT SetElementValue (
25448     [in] IAAFPropertyValue * pPropVal,
25449     [in] aafUInt32  index,
25450     [in] IAAFPropertyValue * pMemberPropVal);
25451 
25452 
25453   //***********************************************************
25454   //
25455   // SetCArray()
25456   //
25495   HRESULT SetCArray (
25496     [in] IAAFPropertyValue * pPropVal,
25497     [in, size_is(dataSize)] aafMemPtr_t  pData,
25498     [in] aafUInt32  dataSize);
25499 
25500 
25501 
25502 
25503   //***********************************************************
25504   //
25505   // GetElements()
25506   //
25531   HRESULT GetElements (
25532     [in] IAAFPropertyValue * PSetPropVal,
25533     [out] IEnumAAFPropertyValues ** ppEnum);
25534 
25535 }
25536 
25537 
25538 
25539 // ************************
25540 //
25541 // Interface IAAFTypeDefRecord
25542 //
25543 // ************************
25559 [
25560     object,
25561     uuid(809c8ca6-9884-11d2-841f-00600832acb8),
25562     helpstring("IAAFTypeDefRecord Interface"),
25563     pointer_default(unique)
25564 ]
25565 interface IAAFTypeDefRecord : IUnknown
25566 {
25567 
25568   //***********************************************************
25569   //
25570   // Initialize()
25571   //
25619   HRESULT Initialize (
25620     [in, ref] aafUID_constref  id,
25621     [in, size_is(numMembers)] IAAFTypeDef ** ppMemberTypes,
25622     [in, size_is(numMembers)] aafString_t *  pMemberNames,
25623     [in] aafUInt32  numMembers,
25624     [in] aafCharacter_constptr  pTypeName);
25625 
25626 
25627   //***********************************************************
25628   //
25629   // GetMemberType()
25630   //
25659   HRESULT GetMemberType (
25660     [in] aafUInt32  index,
25661     [out] IAAFTypeDef ** ppTypeDef);
25662 
25663 
25664   //***********************************************************
25665   //
25666   // GetMemberName()
25667   //
25709   HRESULT GetMemberName (
25710     [in] aafUInt32  index,
25711     [out, size_is(bufSize), string] aafCharacter *  pName,
25712     [in] aafUInt32  bufSize);
25713 
25714 
25715   //***********************************************************
25716   //
25717   // GetMemberNameBufLen()
25718   //
25752   HRESULT GetMemberNameBufLen (
25753     [in] aafUInt32  index,
25754     [out] aafUInt32 *  pLen);
25755 
25756 
25757   //***********************************************************
25758   //
25759   // CreateValueFromValues()
25760   //
25796   HRESULT CreateValueFromValues (
25797     [in, size_is(numMembers)] IAAFPropertyValue ** pMemberValues,
25798     [in] aafUInt32  numMembers,
25799     [out] IAAFPropertyValue ** ppPropVal);
25800 
25801 
25802   //***********************************************************
25803   //
25804   // CreateValueFromStruct()
25805   //
25844   HRESULT CreateValueFromStruct (
25845     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
25846     [in] aafUInt32  initDataSize,
25847     [out] IAAFPropertyValue ** ppPropVal);
25848 
25849 
25850   //***********************************************************
25851   //
25852   // GetValue()
25853   //
25886   HRESULT GetValue (
25887     [in] IAAFPropertyValue * pInPropVal,
25888     [in] aafUInt32  index,
25889     [out] IAAFPropertyValue ** ppOutPropVal);
25890 
25891 
25892   //***********************************************************
25893   //
25894   // GetStruct()
25895   //
25932   HRESULT GetStruct (
25933     [in] IAAFPropertyValue * pPropVal,
25934     [out, size_is(dataSize)] aafMemPtr_t  pData,
25935     [in] aafUInt32  dataSize);
25936 
25937 
25938   //***********************************************************
25939   //
25940   // SetValue()
25941   //
25973   HRESULT SetValue (
25974     [in] IAAFPropertyValue * pPropVal,
25975     [in] aafUInt32  index,
25976     [in] IAAFPropertyValue * pMemberPropVal);
25977 
25978 
25979   //***********************************************************
25980   //
25981   // SetStruct()
25982   //
26019   HRESULT SetStruct (
26020     [in] IAAFPropertyValue * pPropVal,
26021     [in, size_is(dataSize)] aafMemPtr_t  pData,
26022     [in] aafUInt32  dataSize);
26023 
26024 
26025   //***********************************************************
26026   //
26027   // GetCount()
26028   //
26050   HRESULT GetCount (
26051     [out] aafUInt32 *  pCount);
26052 
26053 
26054   //***********************************************************
26055   //
26056   // RegisterMembers()
26057   //
26104   HRESULT RegisterMembers (
26105     [in] aafUInt32 *  pOffsets,
26106     [in] aafUInt32  numMembers,
26107     [in] aafUInt32  structSize);
26108 }
26109 
26110 
26111 
26112 // ************************
26113 //
26114 // Interface IAAFTypeDefSet
26115 //
26116 // ************************
26133 [
26134     object,
26135     uuid(381e1f22-e7bb-11d2-842a-00600832acb8),
26136     helpstring("IAAFTypeDefSet Interface"),
26137     pointer_default(unique)
26138 ]
26139 interface IAAFTypeDefSet : IUnknown
26140 {
26141 
26142   //***********************************************************
26143   //
26144   // Initialize()
26145   //
26173   HRESULT Initialize (
26174     [in] aafUID_constref  id,
26175     [in] IAAFTypeDef * pTypeDef,
26176     [in,string] aafCharacter_constptr  pTypeName);
26177 
26178   //***********************************************************
26179   //
26180   // GetElementType()
26181   //
26203   HRESULT GetElementType (
26204     [out] IAAFTypeDef ** ppTypeDef);
26205 
26206   //***********************************************************
26207   //
26208   // AddElement()
26209   //
26232   HRESULT AddElement (
26233     [in] IAAFPropertyValue * pSetPropertyValue,
26234     [in] IAAFPropertyValue * pElementPropertyValue);
26235 
26236   //***********************************************************
26237   //
26238   // RemoveElement()
26239   //
26262   HRESULT RemoveElement (
26263     [in] IAAFPropertyValue * pSetPropertyValue,
26264     [in] IAAFPropertyValue * pElementPropertyValue);
26265 
26266   //***********************************************************
26267   //
26268   // ContainsElement()
26269   //
26292   HRESULT ContainsElement (
26293     [in] IAAFPropertyValue * pSetPropertyValue,
26294     [in] IAAFPropertyValue * pElementPropertyValue,
26295     [out] aafBoolean_t*  pContainsElement);
26296 
26297 
26298 
26299   //***********************************************************
26300   //
26301   // GetCount()
26302   //
26327   HRESULT GetCount (
26328     [in] IAAFPropertyValue * pSetPropertyValue,
26329     [out] aafUInt32 *  pCount);
26330 
26331 
26332   //***********************************************************
26333   //
26334   // CreateKey()
26335   //
26361   HRESULT CreateKey (
26362     [in,size_is(length)] aafDataBuffer_t  pKeyPtr,
26363     [in] aafUInt32  length,
26364     [out] IAAFPropertyValue ** ppKey);
26365 
26366 
26367   //***********************************************************
26368   //
26369   // LookupElement()
26370   //
26398   HRESULT LookupElement (
26399     [in] IAAFPropertyValue * pSetPropertyValue,
26400     [in] IAAFPropertyValue * pKey,
26401     [out] IAAFPropertyValue ** ppElementPropertyValue);
26402 
26403   //***********************************************************
26404   //
26405   // ContainsKey()
26406   //
26433   HRESULT ContainsKey (
26434     [in] IAAFPropertyValue * pSetPropertyValue,
26435     [in] IAAFPropertyValue * pKey,
26436     [out] aafBoolean_t*  pContainsKey);
26437 
26438 
26439   //***********************************************************
26440   //
26441   // GetElements()
26442   //
26467   HRESULT GetElements (
26468     [in] IAAFPropertyValue * pSetPropertyValue,
26469     [out] IEnumAAFPropertyValues ** ppEnum);
26470 
26471 
26472 }
26473 
26474 
26475 
26476 // ************************
26477 //
26478 // Interface IAAFTypeDefStream
26479 //
26480 // ************************
26499 [
26500     object,
26501     uuid(307e9e6e-dcb2-11d2-8429-00600832acb8),
26502     helpstring("IAAFTypeDefStream Interface"),
26503     pointer_default(unique)
26504 ]
26505 interface IAAFTypeDefStream : IUnknown
26506 {
26507 
26508 
26509   //***********************************************************
26510   //
26511   // GetSize()
26512   //
26537   HRESULT GetSize (
26538     [in] IAAFPropertyValue * pStreamPropertyValue,
26539     [out] aafInt64 *  pSize);
26540 
26541   //***********************************************************
26542   //
26543   // SetSize()
26544   //
26567   HRESULT SetSize (
26568     [in] IAAFPropertyValue * pStreamPropertyValue,
26569     [in] aafInt64  newSize);
26570 
26571   //***********************************************************
26572   //
26573   // GetPosition()
26574   //
26598   HRESULT GetPosition (
26599     [in] IAAFPropertyValue * pStreamPropertyValue,
26600     [out] aafInt64 *  pPosition);
26601 
26602   //***********************************************************
26603   //
26604   // SetPosition()
26605   //
26632   HRESULT SetPosition (
26633     [in] IAAFPropertyValue * pStreamPropertyValue,
26634     [in] aafInt64  newPosition);
26635 
26636 
26637   //***********************************************************
26638   //
26639   // Read()
26640   //
26670   HRESULT Read (
26671     [in] IAAFPropertyValue * pStreamPropertyValue,
26672     [in] aafUInt32  dataSize,
26673     [out, size_is(dataSize), length_is(*bytesRead)] aafMemPtr_t  pData,
26674     [out,ref] aafUInt32 *  bytesRead);
26675 
26676   //***********************************************************
26677   //
26678   // Write()
26679   //
26707   HRESULT Write (
26708     [in] IAAFPropertyValue * pStreamPropertyValue,
26709     [in] aafUInt32  dataSize,
26710     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
26711 
26712   //***********************************************************
26713   //
26714   // Append()
26715   //
26743   HRESULT Append (
26744     [in] IAAFPropertyValue * pStreamPropertyValue,
26745     [in] aafUInt32  dataSize,
26746     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
26747 
26748 
26749   //***********************************************************
26750   //
26751   // HasStoredByteOrder()
26752   //
26777   HRESULT HasStoredByteOrder (
26778     [in] IAAFPropertyValue * pStreamPropertyValue,
26779     [out] aafBoolean_t *  pHasByteOrder);
26780 
26781   //***********************************************************
26782   //
26783   // GetStoredByteOrder()
26784   //
26808   HRESULT GetStoredByteOrder (
26809     [in] IAAFPropertyValue * pStreamPropertyValue,
26810     [out] eAAFByteOrder_t *  pByteOrder);
26811 
26812   //***********************************************************
26813   //
26814   // SetStoredByteOrder()
26815   //
26840   HRESULT SetStoredByteOrder (
26841     [in] IAAFPropertyValue * pStreamPropertyValue,
26842     [in] eAAFByteOrder_t  byteOrder);
26843 
26844   //***********************************************************
26845   //
26846   // ClearStoredByteOrder()
26847   //
26871   HRESULT ClearStoredByteOrder (
26872     [in] IAAFPropertyValue * pStreamPropertyValue);
26873 
26874   //***********************************************************
26875   //
26876   // ReadElements()
26877   //
26922   HRESULT ReadElements (
26923     [in] IAAFPropertyValue * pStreamPropertyValue,
26924     [in] IAAFTypeDef * pElementType,
26925     [in] aafUInt32  dataSize,
26926     [out, size_is(dataSize), length_is(*pBytesRead)] aafMemPtr_t  pData,
26927     [out,ref] aafUInt32 *  pBytesRead);
26928 
26929   //***********************************************************
26930   //
26931   // WriteElements()
26932   //
26974   HRESULT WriteElements (
26975     [in] IAAFPropertyValue * pStreamPropertyValue,
26976     [in] IAAFTypeDef * pElementType,
26977     [in] aafUInt32  dataSize,
26978     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
26979 
26980 
26981 cpp_quote("  /// Extend in chunks of typed Elements") 
26982 
26983   //***********************************************************
26984   //
26985   // AppendElements()
26986   //
27027   HRESULT AppendElements (
27028     [in] IAAFPropertyValue * pStreamPropertyValue,
27029     [in] IAAFTypeDef * pElementType,
27030     [in] aafUInt32  dataSize,
27031     [in, ref, size_is(dataSize)] aafMemPtr_t  pData);
27032 
27033 }
27034 
27035 
27036 
27037 // ************************
27038 //
27039 // Interface IAAFTypeDefString
27040 //
27041 // ************************
27057 [
27058     object,
27059     uuid(307e9e68-dcb2-11d2-8429-00600832acb8),
27060     helpstring("IAAFTypeDefString Interface"),
27061     pointer_default(unique)
27062 ]
27063 interface IAAFTypeDefString : IUnknown
27064 {
27065 
27066   //***********************************************************
27067   //
27068   // Initialize()
27069   //
27103   HRESULT Initialize (
27104     [in, ref] aafUID_constref  id,
27105     [in] IAAFTypeDef * pTypeDef,
27106     [in] aafCharacter_constptr  pTypeName);
27107 
27108 
27109   //***********************************************************
27110   //
27111   // GetType()
27112   //
27134   HRESULT GetType (
27135     [out] IAAFTypeDef ** ppTypeDef);
27136 
27137 
27138   //***********************************************************
27139   //
27140   // GetCount()
27141   //
27166   HRESULT GetCount (
27167     [in] IAAFPropertyValue * pPropVal,
27168     [out] aafUInt32 *  pCount);
27169 
27170 
27171   //***********************************************************
27172   //
27173   // CreateValueFromCString()
27174   //
27206   HRESULT CreateValueFromCString (
27207     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
27208     [in] aafUInt32  initDataSize,
27209     [out] IAAFPropertyValue ** ppPropVal);
27210 
27211 
27212   //***********************************************************
27213   //
27214   // SetCString()
27215   //
27245   HRESULT SetCString (
27246     [in] IAAFPropertyValue * pPropVal,
27247     [in, size_is(dataSize)] aafMemPtr_t  pData,
27248     [in] aafUInt32  dataSize);
27249 
27250 
27251   //***********************************************************
27252   //
27253   // AppendElements()
27254   //
27277   HRESULT AppendElements (
27278     [in] IAAFPropertyValue * pInPropVal,
27279     [in] aafMemPtr_t  pElements);
27280 
27281 
27282   //***********************************************************
27283   //
27284   // GetElements()
27285   //
27316   HRESULT GetElements (
27317     [in] IAAFPropertyValue * pInPropVal,
27318     [out] aafMemPtr_t  pBuffer,
27319     [in] aafUInt32  bufferSize);
27320 
27321 
27322 
27323 }
27324 
27325 
27326 
27327 // ************************
27328 //
27329 // Interface IAAFTypeDefStrongObjRef
27330 //
27331 // ************************
27348 [
27349     object,
27350     uuid(381e1f26-e7bb-11d2-842a-00600832acb8),
27351     helpstring("IAAFTypeDefStrongObjRef Interface"),
27352     pointer_default(unique)
27353 ]
27354 interface IAAFTypeDefStrongObjRef : IUnknown
27355 {
27356 
27357   //***********************************************************
27358   //
27359   // Initialize()
27360   //
27390   HRESULT Initialize (
27391     [in, ref] aafUID_constref  id,
27392     [in] IAAFClassDef * pObjType,
27393     [in, string] aafCharacter_constptr  pTypeName);
27394 
27395 
27396 
27397 
27398 }
27399 
27400 
27401 
27402 // ************************
27403 //
27404 // Interface IAAFTypeDefWeakObjRef
27405 //
27406 // ************************
27423 [
27424     object,
27425     uuid(381e1f24-e7bb-11d2-842a-00600832acb8),
27426     helpstring("IAAFTypeDefWeakObjRef Interface"),
27427     pointer_default(unique)
27428 ]
27429 interface IAAFTypeDefWeakObjRef : IUnknown
27430 {
27431 
27432   //***********************************************************
27433   //
27434   // Initialize()
27435   //
27487   HRESULT Initialize (
27488     [in, ref] aafUID_constref  id,
27489     [in] IAAFClassDef * pObjType,
27490     [in, string] aafCharacter_constptr  pTypeName,
27491     [in] aafUInt32  ids,
27492     [in, size_is(ids)] aafUID_constptr  pTargetSet);
27493 }
27494 
27495 
27496 
27497 // ************************
27498 //
27499 // Interface IAAFTypeDefObjectRef
27500 //
27501 // ************************
27517 [
27518     object,
27519     uuid(c3274644-9467-11d2-841f-00600832acb8),
27520     helpstring("IAAFTypeDefObjectRef Interface"),
27521     pointer_default(unique)
27522 ]
27523 interface IAAFTypeDefObjectRef : IUnknown
27524 {
27525 
27526 
27527   //***********************************************************
27528   //
27529   // GetObjectType()
27530   //
27554   HRESULT GetObjectType (
27555     [out] IAAFClassDef ** ppObjType);
27556 
27557   //***********************************************************
27558   //
27559   // CreateValue()
27560   //
27585   HRESULT CreateValue (
27586     [in] IUnknown * pObj,
27587     [out] IAAFPropertyValue ** ppPropVal);
27588 
27589   //***********************************************************
27590   //
27591   // GetObject()
27592   //
27618   HRESULT GetObject (
27619     [in] IAAFPropertyValue * pPropVal,
27620     [in] REFIID  iid,
27621     [out, iid_is(iid)] IUnknown ** ppObject);
27622 
27623 
27624   //***********************************************************
27625   //
27626   // SetObject()
27627   //
27652   HRESULT SetObject (
27653     [in] IAAFPropertyValue * pPropVal,
27654     [in] IUnknown * pObject);
27655 
27656 
27657 
27658 }
27659 
27660 
27661 
27662 // ************************
27663 //
27664 // Interface IAAFTypeDefOpaque
27665 //
27666 // ************************
27683 [
27684     object,
27685     uuid(FE717CAC-F04C-11d3-800B-00104BC9156D),
27686     helpstring("IAAFTypeDefOpaque Interface"),
27687     pointer_default(unique)
27688 ]
27689 interface IAAFTypeDefOpaque : IUnknown
27690 {
27691 
27692 
27693   //***********************************************************
27694   //
27695   // GetActualTypeID()
27696   //
27725   HRESULT GetActualTypeID (
27726     [in] IAAFPropertyValue * pOpaquePropertyValue,
27727     [out] aafUID_t *  pActualTypeID);
27728 
27729   //***********************************************************
27730   //
27731   // GetHandle()
27732   //
27768   HRESULT GetHandle (
27769     [in] IAAFPropertyValue * pPropVal,
27770     [in] aafUInt32  handleSize,
27771     [out, size_is(handleSize),length_is(*bytesRead)] aafDataBuffer_t  pHandle,
27772     [out] aafUInt32*  bytesRead);
27773 
27774 
27775   //***********************************************************
27776   //
27777   // GetHandleBufLen()
27778   //
27801   HRESULT GetHandleBufLen (
27802     [in] IAAFPropertyValue * pPropVal,
27803     [out] aafUInt32 *  pLen);
27804 
27805   //***********************************************************
27806   //
27807   // SetHandle()
27808   //
27832   HRESULT SetHandle (
27833     [in] IAAFPropertyValue * pPropVal,
27834     [in] aafUInt32  handleSize,
27835     [in, size_is(handleSize)] aafDataBuffer_t  pHandle);
27836 
27837   //***********************************************************
27838   //
27839   // CreateValueFromHandle()
27840   //
27874   HRESULT CreateValueFromHandle (
27875     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
27876     [in] aafUInt32  initDataSize,
27877     [out] IAAFPropertyValue ** ppOpaquePropertyValue);
27878 
27879 
27880 
27881 }
27882 
27883 
27884 
27885 // ************************
27886 //
27887 // Interface IAAFTypeDefVariableArray
27888 //
27889 // ************************
27906 [
27907     object,
27908     uuid(307e9e66-dcb2-11d2-8429-00600832acb8),
27909     helpstring("IAAFTypeDefVariableArray Interface"),
27910     pointer_default(unique)
27911 ]
27912 interface IAAFTypeDefVariableArray : IUnknown
27913 {
27914   //***********************************************************
27915   //
27916   // Initialize()
27917   //
27958   HRESULT Initialize (
27959     [in, ref] aafUID_constref  id,
27960     [in] IAAFTypeDef * pTypeDef,
27961     [in] aafCharacter_constptr  pTypeName);
27962 
27963 
27964   //***********************************************************
27965   //
27966   // GetType()
27967   //
27989   HRESULT GetType (
27990     [out] IAAFTypeDef ** ppTypeDef);
27991 
27992 
27993   //***********************************************************
27994   //
27995   // GetCount()
27996   //
28021   HRESULT GetCount (
28022     [in] IAAFPropertyValue * pPropVal,
28023     [out] aafUInt32 *  pCount);
28024 
28025 
28026   //***********************************************************
28027   //
28028   // AppendElement()
28029   //
28051   HRESULT AppendElement (
28052     [in] IAAFPropertyValue * pInPropVal,
28053     [in] IAAFPropertyValue * pMemberPropVal);
28054 
28055 
28056   //***********************************************************
28057   //
28058   // CreateEmptyValue()
28059   //
28084   HRESULT CreateEmptyValue (
28085     [out] IAAFPropertyValue ** ppPropVal);
28086 
28087 
28088   //***********************************************************
28089   //
28090   // CreateValueFromValues()
28091   //
28123   HRESULT CreateValueFromValues (
28124     [in, size_is(numElements)] IAAFPropertyValue ** pElementValues,
28125     [in] aafUInt32  numElements,
28126     [out] IAAFPropertyValue ** ppPropVal);
28127 
28128 
28129   //***********************************************************
28130   //
28131   // CreateValueFromCArray()
28132   //
28170   HRESULT CreateValueFromCArray (
28171     [in, size_is(initDataSize)] aafMemPtr_t  pInitData,
28172     [in] aafUInt32  initDataSize,
28173     [out] IAAFPropertyValue ** ppPropVal);
28174 
28175 
28176   //***********************************************************
28177   //
28178   // GetElementValue()
28179   //
28211   HRESULT GetElementValue (
28212     [in] IAAFPropertyValue * pInPropVal,
28213     [in] aafUInt32  index,
28214     [out] IAAFPropertyValue ** ppOutPropVal);
28215 
28216 
28217   //***********************************************************
28218   //
28219   // GetCArray()
28220   //
28258   HRESULT GetCArray (
28259     [in] IAAFPropertyValue * pPropVal,
28260     [out, size_is(dataSize)] aafMemPtr_t  pData,
28261     [in] aafUInt32  dataSize);
28262 
28263 
28264   //***********************************************************
28265   //
28266   // SetElementValue()
28267   //
28300   HRESULT SetElementValue (
28301     [in] IAAFPropertyValue * pPropVal,
28302     [in] aafUInt32  index,
28303     [in] IAAFPropertyValue * pMemberPropVal);
28304 
28305 
28306   //***********************************************************
28307   //
28308   // SetCArray()
28309   //
28346   HRESULT SetCArray (
28347     [in] IAAFPropertyValue * pPropVal,
28348     [in, size_is(dataSize)] aafMemPtr_t  pData,
28349     [in] aafUInt32  dataSize);
28350 
28351 
28352 
28353 
28354   //***********************************************************
28355   //
28356   // GetElements()
28357   //
28382   HRESULT GetElements (
28383     [in] IAAFPropertyValue * PSetPropVal,
28384     [out] IEnumAAFPropertyValues ** ppEnum);
28385 
28386 
28387 
28388 
28389 
28390 }
28391 
28392 
28393 // ************************
28394 //
28395 // Interface IAAFVaryingValue
28396 //
28397 // ************************
28417 [
28418     object,
28419     uuid(91920d60-2a2e-11D2-bfA3-006097116212),
28420     helpstring("IAAFVaryingValue Interface"),
28421     pointer_default(unique)
28422 ]
28423 interface IAAFVaryingValue : IUnknown
28424 {
28425 
28426 
28427   //***********************************************************
28428   //
28429   // Initialize()
28430   //
28458   HRESULT Initialize (
28459     [in] IAAFParameterDef * pParameterDef,
28460     [in] IAAFInterpolationDef * pInterpolation);
28461 
28462   //***********************************************************
28463   //
28464   // AddControlPoint()
28465   //
28487   HRESULT AddControlPoint (
28488     [in] IAAFControlPoint * pControlPoint);
28489 
28490 
28491   //***********************************************************
28492   //
28493   // GetControlPoints()
28494   //
28516   HRESULT GetControlPoints (
28517     [out,retval] IEnumAAFControlPoints ** ppEnum);
28518 
28519 
28520   //***********************************************************
28521   //
28522   // CountControlPoints()
28523   //
28547   HRESULT CountControlPoints (
28548     [out] aafUInt32 *  pResult);
28549 
28550 
28551   //***********************************************************
28552   //
28553   // GetControlPointAt()
28554   //
28586   HRESULT GetControlPointAt (
28587     [in] aafUInt32  index,
28588     [out, retval] IAAFControlPoint ** ppControlPoint);
28589 
28590 
28591   //***********************************************************
28592   //
28593   // RemoveControlPointAt()
28594   //
28623   HRESULT RemoveControlPointAt (
28624     [in] aafUInt32  index);
28625 
28626 
28627   //***********************************************************
28628   //
28629   // GetInterpolationDefinition()
28630   //
28657   HRESULT GetInterpolationDefinition (
28658     [out] IAAFInterpolationDef ** ppInterpolation);
28659 
28660   //***********************************************************
28661   //
28662   // GetValueBufLen()
28663   //
28685   HRESULT GetValueBufLen (
28686     [out] aafInt32 *  pLen);
28687 
28688 
28689   //***********************************************************
28690   //
28691   // GetInterpolatedValue()
28692   //
28724   HRESULT GetInterpolatedValue (
28725     [in] aafRational_t  inputValue,
28726     [in] aafInt32  valueSize,
28727     [out,size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
28728     [out] aafInt32 *  bytesRead);
28729 }
28730 
28731 
28732 
28733 // ************************
28734 //
28735 // Interface IAAFWAVEDescriptor
28736 //
28737 // ************************
28751 
28752 
28758 [
28759     object,
28760     uuid(4c2e1692-8ae6-11d2-813c-006097310172),
28761     helpstring("IAAFWAVEDescriptor Interface"),
28762     pointer_default(unique)
28763 ]
28764 interface IAAFWAVEDescriptor : IUnknown
28765 {
28766 
28767   //***********************************************************
28768   //
28769   // Initialize()
28770   //
28789   HRESULT Initialize ();
28790 
28791 
28792   //***********************************************************
28793   //
28794   // GetSummary()
28795   //
28819   HRESULT GetSummary (
28820     [in] aafUInt32  size,
28821     [out, size_is(size)] aafDataValue_t  pSummary);
28822 
28823 
28824   //***********************************************************
28825   //
28826   // GetSummaryBufferSize()
28827   //
28846   HRESULT GetSummaryBufferSize (
28847     [out] aafUInt32 *  pSize);
28848 
28849 
28850   //***********************************************************
28851   //
28852   // SetSummary()
28853   //
28873   HRESULT SetSummary (
28874     [in] aafUInt32  size,
28875     [in, size_is(size)] aafDataValue_t  pSummary);
28876 
28877 
28878 }
28879 
28880 
28881 
28882 // ************************
28883 //
28884 // Interface IEnumAAFClassDefs
28885 //
28886 // ************************
28899 [
28900     object,
28901     uuid(B1A2138E-1A7D-11D2-BF78-00104BC9156D),
28902     helpstring("IEnumAAFClassDefs Interface"),
28903     pointer_default(unique)
28904 ]
28905 interface IEnumAAFClassDefs : IUnknown
28906 {
28907 
28908   //***********************************************************
28909   //
28910   // NextOne()
28911   //
28937   HRESULT NextOne (
28938     [out,retval] IAAFClassDef ** ppClassDefs);
28939 
28940 
28941   //***********************************************************
28942   //
28943   // Next()
28944   //
28973   HRESULT Next (
28974     [in] aafUInt32  count,
28975     [out, size_is(count), length_is(*pNumFetched)] IAAFClassDef ** ppClassDefs,
28976     [out,ref] aafUInt32 *  pNumFetched);
28977 
28978 
28979   //***********************************************************
28980   //
28981   // Skip()
28982   //
29002   HRESULT Skip (
29003     [in] aafUInt32  count);
29004 
29005 
29006   //***********************************************************
29007   //
29008   // Reset()
29009   //
29020   HRESULT Reset ();
29021 
29022 
29023   //***********************************************************
29024   //
29025   // Clone()
29026   //
29050   HRESULT Clone (
29051     [out,retval] IEnumAAFClassDefs ** ppEnum);
29052 }
29053 
29054 
29055 
29056 // ************************
29057 //
29058 // Interface IEnumAAFCodecDefs
29059 //
29060 // ************************
29061 [
29062     object,
29063     uuid(3B2C9AD4-022A-11d3-80A6-006008143E6F),
29064     helpstring("IEnumAAFCodecDefs Interface"),
29065     pointer_default(unique)
29066 ]
29067 interface IEnumAAFCodecDefs : IUnknown
29068 {
29069 
29070   //***********************************************************
29071   //
29072   // NextOne()
29073   //
29099   HRESULT NextOne (
29100     [out,retval] IAAFCodecDef ** ppCodecDefs);
29101 
29102 
29103   //***********************************************************
29104   //
29105   // Next()
29106   //
29135   HRESULT Next (
29136     [in] aafUInt32  count,
29137     [out, size_is(count), length_is(*pNumFetched)] IAAFCodecDef ** ppCodecDefs,
29138     [out,ref] aafUInt32 *  pNumFetched);
29139 
29140 
29141   //***********************************************************
29142   //
29143   // Skip()
29144   //
29164   HRESULT Skip (
29165     [in] aafUInt32  count);
29166 
29167 
29168   //***********************************************************
29169   //
29170   // Reset()
29171   //
29182   HRESULT Reset ();
29183 
29184 
29185   //***********************************************************
29186   //
29187   // Clone()
29188   //
29212   HRESULT Clone (
29213     [out,retval] IEnumAAFCodecDefs ** ppEnum);
29214 }
29215 
29216 
29217 
29218 // ************************
29219 //
29220 // Interface IEnumAAFCodecFlavours
29221 //
29222 // ************************
29242 
29243 
29244 [
29245     object,
29246     uuid(AB4D9F12-DD69-11d2-809C-006008143E6F),
29247     helpstring("IEnumAAFCodecFlavours Interface"),
29248     pointer_default(unique)
29249 ]
29250 interface IEnumAAFCodecFlavours : IUnknown
29251 {
29252 
29253   //***********************************************************
29254   //
29255   // NextOne()
29256   //
29265   HRESULT NextOne (
29266     [out,retval] aafUID_t *  pAAFCodecFlavour);
29267 
29268 
29269   //***********************************************************
29270   //
29271   // Next()
29272   //
29283   HRESULT Next (
29284     [in] aafUInt32  count,
29285     [out, size_is(count), length_is(*pFetched)] aafUID_t *  pAAFCodecFlavours,
29286     [out,ref] aafUInt32 *  pFetched);
29287 
29288 
29289   //***********************************************************
29290   //
29291   // Skip()
29292   //
29299   HRESULT Skip (
29300     [in] aafUInt32  count);
29301 
29302 
29303   //***********************************************************
29304   //
29305   // Reset()
29306   //
29315   HRESULT Reset ();
29316 
29317 
29318   //***********************************************************
29319   //
29320   // Clone()
29321   //
29333   HRESULT Clone (
29334     [out,retval] IEnumAAFCodecFlavours ** ppEnum);
29335 }
29336 
29337 
29338 
29339 // ************************
29340 //
29341 // Interface IEnumAAFComponents
29342 //
29343 // ************************
29356 [
29357     object,
29358     uuid(B1A21394-1A7D-11D2-BF78-00104BC9156D),
29359     helpstring("IEnumAAFComponents Interface"),
29360     pointer_default(unique)
29361 ]
29362 interface IEnumAAFComponents : IUnknown
29363 {
29364 
29365   //***********************************************************
29366   //
29367   // NextOne()
29368   //
29394   HRESULT NextOne (
29395     [out,retval] IAAFComponent ** ppComponent);
29396 
29397 
29398   //***********************************************************
29399   //
29400   // Next()
29401   //
29429   HRESULT Next (
29430     [in] aafUInt32  count,
29431     [out, size_is(count), length_is(*pNumFetched)] IAAFComponent ** ppComponents,
29432     [out,ref] aafUInt32 *  pNumFetched);
29433 
29434 
29435   //***********************************************************
29436   //
29437   // Skip()
29438   //
29458   HRESULT Skip (
29459     [in] aafUInt32  count);
29460 
29461 
29462   //***********************************************************
29463   //
29464   // Reset()
29465   //
29476   HRESULT Reset ();
29477 
29478 
29479   //***********************************************************
29480   //
29481   // Clone()
29482   //
29506   HRESULT Clone (
29507     [out,retval] IEnumAAFComponents ** ppEnum);
29508 }
29509 
29510 
29511 
29512 // ************************
29513 //
29514 // Interface IEnumAAFContainerDefs
29515 //
29516 // ************************
29517 [
29518     object,
29519     uuid(3B2C9AD2-022A-11d3-80A6-006008143E6F),
29520     helpstring("IEnumAAFContainerDefs Interface"),
29521     pointer_default(unique)
29522 ]
29523 interface IEnumAAFContainerDefs : IUnknown
29524 {
29525 
29526   //***********************************************************
29527   //
29528   // NextOne()
29529   //
29555   HRESULT NextOne (
29556     [out,retval] IAAFContainerDef ** ppContainerDefs);
29557 
29558 
29559   //***********************************************************
29560   //
29561   // Next()
29562   //
29591   HRESULT Next (
29592     [in] aafUInt32  count,
29593     [out, size_is(count), length_is(*pNumFetched)] IAAFContainerDef ** ppContainerDefs,
29594     [out,ref] aafUInt32 *  pNumFetched);
29595 
29596 
29597   //***********************************************************
29598   //
29599   // Skip()
29600   //
29620   HRESULT Skip (
29621     [in] aafUInt32  count);
29622 
29623 
29624   //***********************************************************
29625   //
29626   // Reset()
29627   //
29638   HRESULT Reset ();
29639 
29640 
29641   //***********************************************************
29642   //
29643   // Clone()
29644   //
29668   HRESULT Clone (
29669     [out,retval] IEnumAAFContainerDefs ** ppEnum);
29670 }
29671 
29672 
29673 
29674 // ************************
29675 //
29676 // Interface IEnumAAFControlPoints
29677 //
29678 // ************************
29679 [
29680     object,
29681     uuid(B1A2139C-1A7D-11D2-BF78-00104BC9156D),
29682     helpstring("IEnumAAFControlPoints Interface"),
29683     pointer_default(unique)
29684 ]
29685 interface IEnumAAFControlPoints : IUnknown
29686 {
29687 
29688   //***********************************************************
29689   //
29690   // NextOne()
29691   //
29717   HRESULT NextOne (
29718     [out,retval] IAAFControlPoint ** ppControlPoints);
29719 
29720 
29721   //***********************************************************
29722   //
29723   // Next()
29724   //
29753   HRESULT Next (
29754     [in] aafUInt32  count,
29755     [out, size_is(count), length_is(*pNumFetched)] IAAFControlPoint ** ppControlPoints,
29756     [out,ref] aafUInt32 *  pNumFetched);
29757 
29758 
29759   //***********************************************************
29760   //
29761   // Skip()
29762   //
29782   HRESULT Skip (
29783     [in] aafUInt32  count);
29784 
29785 
29786   //***********************************************************
29787   //
29788   // Reset()
29789   //
29800   HRESULT Reset ();
29801 
29802 
29803   //***********************************************************
29804   //
29805   // Clone()
29806   //
29830   HRESULT Clone (
29831     [out,retval] IEnumAAFControlPoints ** ppEnum);
29832 }
29833 
29834 
29835 
29836 // ************************
29837 //
29838 // Interface IEnumAAFDataDefs
29839 //
29840 // ************************
29841 [
29842     object,
29843     uuid(d8000382-498e-11d2-841B-00600832ACB8),
29844     helpstring("IEnumAAFDataDefs Interface"),
29845     pointer_default(unique)
29846 ]
29847 interface IEnumAAFDataDefs : IUnknown
29848 {
29849 
29850   //***********************************************************
29851   //
29852   // NextOne()
29853   //
29879   HRESULT NextOne (
29880     [out,retval] IAAFDataDef ** ppDataDefs);
29881 
29882 
29883   //***********************************************************
29884   //
29885   // Next()
29886   //
29915   HRESULT Next (
29916     [in] aafUInt32  count,
29917     [out, size_is(count), length_is(*pNumFetched)] IAAFDataDef ** ppDataDefs,
29918     [out,ref] aafUInt32 *  pNumFetched);
29919 
29920 
29921   //***********************************************************
29922   //
29923   // Skip()
29924   //
29944   HRESULT Skip (
29945     [in] aafUInt32  count);
29946 
29947 
29948   //***********************************************************
29949   //
29950   // Reset()
29951   //
29962   HRESULT Reset ();
29963 
29964 
29965   //***********************************************************
29966   //
29967   // Clone()
29968   //
29992   HRESULT Clone (
29993     [out,retval] IEnumAAFDataDefs ** ppEnum);
29994 }
29995 
29996 
29997 
29998 // ************************
29999 //
30000 // Interface IEnumAAFIdentifications
30001 //
30002 // ************************
30015 [
30016     object,
30017     uuid(B1A21384-1A7D-11D2-BF78-00104BC9156D),
30018     helpstring("IEnumAAFIdentifications Interface"),
30019     pointer_default(unique)
30020 ]
30021 interface IEnumAAFIdentifications : IUnknown
30022 {
30023 
30024   //***********************************************************
30025   //
30026   // NextOne()
30027   //
30053   HRESULT NextOne (
30054     [out, retval] IAAFIdentification ** ppIdentification);
30055 
30056 
30057   //***********************************************************
30058   //
30059   // Next()
30060   //
30089   HRESULT Next (
30090     [in] aafUInt32  count,
30091     [out, size_is(count), length_is(*pNumFetched)] IAAFIdentification ** ppIdentifications,
30092     [out] aafUInt32 *  pNumFetched);
30093 
30094 
30095   //***********************************************************
30096   //
30097   // Skip()
30098   //
30118   HRESULT Skip (
30119     [in] aafUInt32  count);
30120 
30121 
30122   //***********************************************************
30123   //
30124   // Reset()
30125   //
30136   HRESULT Reset ();
30137 
30138 
30139   //***********************************************************
30140   //
30141   // Clone()
30142   //
30166   HRESULT Clone (
30167     [out, retval] IEnumAAFIdentifications ** ppEnum);
30168 }
30169 
30170 
30171 
30172 // ************************
30173 //
30174 // Interface IEnumAAFInterpolationDefs
30175 //
30176 // ************************
30177 [
30178     object,
30179     uuid(293600A5-0D37-11d3-80A9-006008143E6F),
30180     helpstring("IEnumAAFInterpolationDefs Interface"),
30181     pointer_default(unique)
30182 ]
30183 interface IEnumAAFInterpolationDefs : IUnknown
30184 {
30185 
30186   //***********************************************************
30187   //
30188   // NextOne()
30189   //
30215   HRESULT NextOne (
30216     [out,retval] IAAFInterpolationDef ** ppInterpolationDefs);
30217 
30218 
30219   //***********************************************************
30220   //
30221   // Next()
30222   //
30251   HRESULT Next (
30252     [in] aafUInt32  count,
30253     [out, size_is(count), length_is(*pNumFetched)] IAAFInterpolationDef ** ppInterpolationDefs,
30254     [out,ref] aafUInt32 *  pNumFetched);
30255 
30256 
30257   //***********************************************************
30258   //
30259   // Skip()
30260   //
30280   HRESULT Skip (
30281     [in] aafUInt32  count);
30282 
30283 
30284   //***********************************************************
30285   //
30286   // Reset()
30287   //
30298   HRESULT Reset ();
30299 
30300 
30301   //***********************************************************
30302   //
30303   // Clone()
30304   //
30328   HRESULT Clone (
30329     [out,retval] IEnumAAFInterpolationDefs ** ppEnum);
30330 }
30331 
30332 
30333 
30334 // ************************
30335 //
30336 // Interface IEnumAAFOperationDefs
30337 //
30338 // ************************
30339 [
30340     object,
30341     uuid(92B88021-2B2B-11D2-BF7E-00104BC9156D),
30342     helpstring("IEnumAAFOperationDefs Interface"),
30343     pointer_default(unique)
30344 ]
30345 interface IEnumAAFOperationDefs : IUnknown
30346 {
30347 
30348   //***********************************************************
30349   //
30350   // NextOne()
30351   //
30377   HRESULT NextOne (
30378     [out,retval] IAAFOperationDef ** ppOperationDefs);
30379 
30380 
30381   //***********************************************************
30382   //
30383   // Next()
30384   //
30413   HRESULT Next (
30414     [in] aafUInt32  count,
30415     [out, size_is(count), length_is(*pNumFetched)] IAAFOperationDef ** ppOperationDefs,
30416     [out,ref] aafUInt32 *  pNumFetched);
30417 
30418 
30419   //***********************************************************
30420   //
30421   // Skip()
30422   //
30442   HRESULT Skip (
30443     [in] aafUInt32  count);
30444 
30445 
30446   //***********************************************************
30447   //
30448   // Reset()
30449   //
30460   HRESULT Reset ();
30461 
30462 
30463   //***********************************************************
30464   //
30465   // Clone()
30466   //
30490   HRESULT Clone (
30491     [out,retval] IEnumAAFOperationDefs ** ppEnum);
30492 }
30493 
30494 
30495 
30496 // ************************
30497 //
30498 // Interface IEnumAAFEssenceData
30499 //
30500 // ************************
30521 [
30522     object,
30523     uuid(B1A21392-1A7D-11D2-BF78-00104BC9156D),
30524     helpstring("IEnumAAFEssenceData Interface"),
30525     pointer_default(unique)
30526 ]
30527 interface IEnumAAFEssenceData : IUnknown
30528 {
30529 
30530 
30531   //***********************************************************
30532   //
30533   // NextOne()
30534   //
30541   HRESULT NextOne (
30542     [out,retval] IAAFEssenceData ** ppEssenceData);
30543 
30544   //***********************************************************
30545   //
30546   // Next()
30547   //
30557   HRESULT Next (
30558     [in] aafUInt32  count,
30559     [out, size_is(count), length_is(*pFetched)] IAAFEssenceData ** ppEssenceData,
30560     [out,ref] aafUInt32 *  pFetched);
30561 
30562   //***********************************************************
30563   //
30564   // Skip()
30565   //
30572   HRESULT Skip (
30573     [in] aafUInt32  count);
30574 
30575   //***********************************************************
30576   //
30577   // Reset()
30578   //
30584   HRESULT Reset ();
30585 
30586   //***********************************************************
30587   //
30588   // Clone()
30589   //
30598   HRESULT Clone (
30599     [out,retval] IEnumAAFEssenceData ** ppEnum);
30600 
30601 }
30602 
30603 
30604 
30605 // ************************
30606 //
30607 // Interface IEnumAAFKLVData
30608 //
30609 // ************************
30610 [
30611     object,
30612     uuid(46114416-0676-11d4-A356-009027DFCA6A),
30613     helpstring("IEnumAAFKLVData Interface"),
30614     pointer_default(unique)
30615 ]
30616 interface IEnumAAFKLVData : IUnknown
30617 {
30618 
30619   //***********************************************************
30620   //
30621   // NextOne()
30622   //
30648   HRESULT NextOne (
30649     [out,retval] IAAFKLVData ** ppKLVData);
30650 
30651 
30652   //***********************************************************
30653   //
30654   // Next()
30655   //
30684   HRESULT Next (
30685     [in] aafUInt32  count,
30686     [out, size_is(count), length_is(*pNumFetched)] IAAFKLVData ** ppKLVData,
30687     [out,ref] aafUInt32 *  pNumFetched);
30688 
30689 
30690   //***********************************************************
30691   //
30692   // Skip()
30693   //
30713   HRESULT Skip (
30714     [in] aafUInt32  count);
30715 
30716 
30717   //***********************************************************
30718   //
30719   // Reset()
30720   //
30731   HRESULT Reset ();
30732 
30733 
30734   //***********************************************************
30735   //
30736   // Clone()
30737   //
30761   HRESULT Clone (
30762     [out,retval] IEnumAAFKLVData ** ppEnum);
30763 }
30764 
30765 
30766 
30767 // ************************
30768 //
30769 // Interface IEnumAAFLoadedPlugins
30770 //
30771 // ************************
30785 [
30786     object,
30787     uuid(AB4D9F14-DD69-11d2-809C-006008143E6F),
30788     helpstring("IEnumAAFLoadedPlugins Interface"),
30789     pointer_default(unique)
30790 ]
30791 interface IEnumAAFLoadedPlugins : IUnknown
30792 {
30793 
30794 
30795   //***********************************************************
30796   //
30797   // NextOne()
30798   //
30805   HRESULT NextOne (
30806     [out,retval] aafUID_t*  ppAAFPluginID);
30807 
30808   //***********************************************************
30809   //
30810   // Next()
30811   //
30821   HRESULT Next (
30822     [in] aafUInt32  count,
30823     [out, size_is(count), length_is(*pFetched)] aafUID_t*  pAAFPluginIDs,
30824     [out,ref] aafUInt32 *  pFetched);
30825 
30826   //***********************************************************
30827   //
30828   // Skip()
30829   //
30836   HRESULT Skip (
30837     [in] aafUInt32  count);
30838 
30839   //***********************************************************
30840   //
30841   // Reset()
30842   //
30848   HRESULT Reset ();
30849 
30850   //***********************************************************
30851   //
30852   // Clone()
30853   //
30863   HRESULT Clone (
30864     [out,retval] IEnumAAFLoadedPlugins ** ppEnum);
30865 
30866 }
30867 
30868 
30869 
30870 // ************************
30871 //
30872 // Interface IEnumAAFLocators
30873 //
30874 // ************************
30888 [
30889     object,
30890     uuid(B1A2139E-1A7D-11D2-BF78-00104BC9156D),
30891     helpstring("IEnumAAFLocators Interface"),
30892     pointer_default(unique)
30893 ]
30894 interface IEnumAAFLocators : IUnknown
30895 {
30896 
30897   //***********************************************************
30898   //
30899   // NextOne()
30900   //
30926   HRESULT NextOne (
30927     [out,retval] IAAFLocator ** ppLocator);
30928 
30929 
30930   //***********************************************************
30931   //
30932   // Next()
30933   //
30961   HRESULT Next (
30962     [in] aafUInt32  count,
30963     [out, size_is(count), length_is(*pFetched)] IAAFLocator ** ppLocators,
30964     [out,ref] aafUInt32 *  pFetched);
30965 
30966 
30967   //***********************************************************
30968   //
30969   // Skip()
30970   //
30990   HRESULT Skip (
30991     [in] aafUInt32  count);
30992 
30993 
30994   //***********************************************************
30995   //
30996   // Reset()
30997   //
31008   HRESULT Reset ();
31009 
31010 
31011   //***********************************************************
31012   //
31013   // Clone()
31014   //
31037   HRESULT Clone (
31038     [out,retval] IEnumAAFLocators ** ppEnum);
31039 }
31040 
31041 
31042 
31043 // ************************
31044 //
31045 // Interface IEnumAAFMobSlots
31046 //
31047 // ************************
31060 [
31061     object,
31062     uuid(B1A21388-1A7D-11D2-BF78-00104BC9156D),
31063     helpstring("IEnumAAFMobSlots Interface"),
31064     pointer_default(unique)
31065 ]
31066 interface IEnumAAFMobSlots : IUnknown
31067 {
31068 
31069   //***********************************************************
31070   //
31071   // NextOne()
31072   //
31098   HRESULT NextOne (
31099     [out,retval] IAAFMobSlot ** ppMobSlot);
31100 
31101 
31102   //***********************************************************
31103   //
31104   // Next()
31105   //
31136   HRESULT Next (
31137     [in] aafUInt32  count,
31138     [out, size_is(count), length_is(*pNumFetched)] IAAFMobSlot ** ppMobSlots,
31139     [out,ref] aafUInt32 *  pNumFetched);
31140 
31141 
31142   //***********************************************************
31143   //
31144   // Skip()
31145   //
31165   HRESULT Skip (
31166     [in] aafUInt32  count);
31167 
31168 
31169   //***********************************************************
31170   //
31171   // Reset()
31172   //
31183   HRESULT Reset ();
31184 
31185 
31186   //***********************************************************
31187   //
31188   // Clone()
31189   //
31210   HRESULT Clone (
31211     [out,retval] IEnumAAFMobSlots ** ppEnum);
31212 }
31213 
31214 
31215 
31216 // ************************
31217 //
31218 // Interface IEnumAAFMobs
31219 //
31220 // ************************
31249 [
31250     object,
31251     uuid(B1A21386-1A7D-11D2-BF78-00104BC9156D),
31252     helpstring("IEnumAAFMobs Interface"),
31253     pointer_default(unique)
31254 ]
31255 interface IEnumAAFMobs : IUnknown
31256 {
31257 
31258   //***********************************************************
31259   //
31260   // NextOne()
31261   //
31287   HRESULT NextOne (
31288     [out, retval] IAAFMob ** ppMob);
31289 
31290 
31291   //***********************************************************
31292   //
31293   // Next()
31294   //
31322   HRESULT Next (
31323     [in] aafUInt32  count,
31324     [out, size_is(count), length_is(*pNumFetched)] IAAFMob ** ppMobs,
31325     [out] aafUInt32 *  pNumFetched);
31326 
31327 
31328   //***********************************************************
31329   //
31330   // Skip()
31331   //
31351   HRESULT Skip (
31352     [in] aafUInt32  count);
31353 
31354 
31355   //***********************************************************
31356   //
31357   // Reset()
31358   //
31369   HRESULT Reset ();
31370 
31371 
31372   //***********************************************************
31373   //
31374   // Clone()
31375   //
31399   HRESULT Clone (
31400     [out, retval] IEnumAAFMobs ** ppEnum);
31401 }
31402 
31403 
31404 
31405 // ************************
31406 //
31407 // Interface IEnumAAFParameterDefs
31408 //
31409 // ************************
31423 [
31424     object,
31425     uuid(B1A213A4-1A7D-11D2-BF78-00104BC9156D),
31426     helpstring("IEnumAAFParameterDefs Interface"),
31427     pointer_default(unique)
31428 ]
31429 interface IEnumAAFParameterDefs : IUnknown
31430 {
31431 
31432 
31433   //***********************************************************
31434   //
31435   // NextOne()
31436   //
31462   HRESULT NextOne (
31463     [out,retval] IAAFParameterDef ** ppParameterDef);
31464 
31465   //***********************************************************
31466   //
31467   // Next()
31468   //
31496   HRESULT Next (
31497     [in] aafUInt32  count,
31498     [out, size_is(count), length_is(*pFetched)] IAAFParameterDef ** ppParameterDefs,
31499     [out,ref] aafUInt32 *  pFetched);
31500 
31501   //***********************************************************
31502   //
31503   // Skip()
31504   //
31524   HRESULT Skip (
31525     [in] aafUInt32  count);
31526 
31527   //***********************************************************
31528   //
31529   // Reset()
31530   //
31541   HRESULT Reset ();
31545 
31546   //***********************************************************
31547   //
31548   // Clone()
31549   //
31573   HRESULT Clone (
31574     [out,retval] IEnumAAFParameterDefs ** ppEnum);
31575 
31576 }
31577 
31578 
31579 
31580 // ************************
31581 //
31582 // Interface IEnumAAFParameters
31583 //
31584 // ************************
31598 [
31599     object,
31600     uuid(7227261E-A8C9-11D3-A3ED-0004AC96A937),
31601     helpstring("IEnumAAFParameters Interface"),
31602     pointer_default(unique)
31603 ]
31604 interface IEnumAAFParameters : IUnknown
31605 {
31606 
31607   //***********************************************************
31608   //
31609   // NextOne()
31610   //
31636   HRESULT NextOne (
31637     [out,retval] IAAFParameter ** ppParameter);
31638 
31639   //***********************************************************
31640   //
31641   // Next()
31642   //
31672   HRESULT Next (
31673     [in] aafUInt32  count,
31674     [out, size_is(count), length_is(*pFetched)] IAAFParameter ** ppParameters,
31675     [out,ref] aafUInt32 *  pFetched);
31676 
31677 
31678   //***********************************************************
31679   //
31680   // Skip()
31681   //
31701   HRESULT Skip (
31702     [in] aafUInt32  count);
31703 
31704 
31705   //***********************************************************
31706   //
31707   // Reset()
31708   //
31724   HRESULT Reset ();
31725 
31726 
31727   //***********************************************************
31728   //
31729   // Clone()
31730   //
31754   HRESULT Clone (
31755     [out,retval] IEnumAAFParameters ** ppEnum);
31756 }
31757 
31758 
31759 
31760 // ************************
31761 //
31762 // Interface IEnumAAFProperties
31763 //
31764 // ************************
31776 [
31777     object,
31778     uuid(BE316DB2-7E73-11D2-841D-00600832ACB8),
31779     helpstring("IEnumAAFProperties Interface"),
31780     pointer_default(unique)
31781 ]
31782 interface IEnumAAFProperties : IUnknown
31783 {
31784 
31785   //***********************************************************
31786   //
31787   // NextOne()
31788   //
31814   HRESULT NextOne (
31815     [out,retval] IAAFProperty ** ppProperties);
31816 
31817 
31818   //***********************************************************
31819   //
31820   // Next()
31821   //
31850   HRESULT Next (
31851     [in] aafUInt32  count,
31852     [out, size_is(count), length_is(*pNumFetched)] IAAFProperty ** ppProperties,
31853     [out,ref] aafUInt32 *  pNumFetched);
31854 
31855 
31856   //***********************************************************
31857   //
31858   // Skip()
31859   //
31879   HRESULT Skip (
31880     [in] aafUInt32  count);
31881 
31882 
31883   //***********************************************************
31884   //
31885   // Reset()
31886   //
31897   HRESULT Reset ();
31898 
31899 
31900   //***********************************************************
31901   //
31902   // Clone()
31903   //
31927   HRESULT Clone (
31928     [out,retval] IEnumAAFProperties ** ppEnum);
31929 }
31930 
31931 
31932 
31933 // ************************
31934 //
31935 // Interface IEnumAAFPropertyDefs
31936 //
31937 // ************************
31938 [
31939     object,
31940     uuid(245343C1-2D59-11D2-BF80-00104BC9156D),
31941     helpstring("IEnumAAFPropertyDefs Interface"),
31942     pointer_default(unique)
31943 ]
31944 interface IEnumAAFPropertyDefs : IUnknown
31945 {
31946 
31947   //***********************************************************
31948   //
31949   // NextOne()
31950   //
31976   HRESULT NextOne (
31977     [out,retval] IAAFPropertyDef ** ppPropertyDefs);
31978 
31979 
31980   //***********************************************************
31981   //
31982   // Next()
31983   //
32012   HRESULT Next (
32013     [in] aafUInt32  count,
32014     [out, size_is(count), length_is(*pNumFetched)] IAAFPropertyDef ** ppPropertyDefs,
32015     [out,ref] aafUInt32 *  pNumFetched);
32016 
32017 
32018   //***********************************************************
32019   //
32020   // Skip()
32021   //
32041   HRESULT Skip (
32042     [in] aafUInt32  count);
32043 
32044 
32045   //***********************************************************
32046   //
32047   // Reset()
32048   //
32059   HRESULT Reset ();
32060 
32061 
32062   //***********************************************************
32063   //
32064   // Clone()
32065   //
32089   HRESULT Clone (
32090     [out,retval] IEnumAAFPropertyDefs ** ppEnum);
32091 }
32092 
32093 
32094 
32095 // ************************
32096 //
32097 // Interface IEnumAAFPropertyValues
32098 //
32099 // ************************
32112 [
32113     object,
32114     uuid(809c8caa-9884-11d2-841f-00600832acb8),
32115     helpstring("IEnumAAFPropertyValues Interface"),
32116     pointer_default(unique)
32117 ]
32118 interface IEnumAAFPropertyValues : IUnknown
32119 {
32120 
32121   //***********************************************************
32122   //
32123   // NextOne()
32124   //
32150   HRESULT NextOne (
32151     [out,retval] IAAFPropertyValue ** ppPropertyValue);
32152 
32153 
32154   //***********************************************************
32155   //
32156   // Next()
32157   //
32188   HRESULT Next (
32189     [in] aafUInt32  count,
32190     [out, size_is(count), length_is(*pFetched)] IAAFPropertyValue ** ppPropertyValues,
32191     [out,ref] aafUInt32 *  pFetched);
32192 
32193 
32194   //***********************************************************
32195   //
32196   // Skip()
32197   //
32217   HRESULT Skip (
32218     [in] aafUInt32  count);
32219 
32220 
32221   //***********************************************************
32222   //
32223   // Reset()
32224   //
32237   HRESULT Reset ();
32238 
32239 
32240   //***********************************************************
32241   //
32242   // Clone()
32243   //
32267   HRESULT Clone (
32268     [out,retval] IEnumAAFPropertyValues ** ppEnum);
32269 }
32270 
32271 
32272 
32273 // ************************
32274 //
32275 // Interface IEnumAAFPluginDefs
32276 //
32277 // ************************
32291 [
32292     object,
32293     uuid(AD1BB85F-DBB2-11d2-809C-006008143E6F),
32294     helpstring("IEnumAAFPluginDefs Interface"),
32295     pointer_default(unique)
32296 ]
32297 interface IEnumAAFPluginDefs : IUnknown
32298 {
32299 
32300   //***********************************************************
32301   //
32302   // NextOne()
32303   //
32329   HRESULT NextOne (
32330     [out,retval] IAAFPluginDef ** ppPluginDefs);
32331 
32332 
32333   //***********************************************************
32334   //
32335   // Next()
32336   //
32365   HRESULT Next (
32366     [in] aafUInt32  count,
32367     [out, size_is(count), length_is(*pNumFetched)] IAAFPluginDef ** ppPluginDefs,
32368     [out,ref] aafUInt32 *  pNumFetched);
32369 
32370 
32371   //***********************************************************
32372   //
32373   // Skip()
32374   //
32394   HRESULT Skip (
32395     [in] aafUInt32  count);
32396 
32397 
32398   //***********************************************************
32399   //
32400   // Reset()
32401   //
32412   HRESULT Reset ();
32413 
32414 
32415   //***********************************************************
32416   //
32417   // Clone()
32418   //
32442   HRESULT Clone (
32443     [out,retval] IEnumAAFPluginDefs ** ppEnum);
32444 }
32445 
32446 
32447 
32448 // ************************
32449 //
32450 // Interface IEnumAAFPluginLocators
32451 //
32452 // ************************
32466 [
32467     object,
32468     uuid(AD1BB861-DBB2-11d2-809C-006008143E6F),
32469     helpstring("IEnumAAFPluginLocators Interface"),
32470     pointer_default(unique)
32471 ]
32472 interface IEnumAAFPluginLocators : IUnknown
32473 {
32474 
32475   //***********************************************************
32476   //
32477   // NextOne()
32478   //
32485   HRESULT NextOne (
32486     [out,retval] IAAFLocator ** ppAAFLocator);
32487 
32488 
32489   //***********************************************************
32490   //
32491   // Next()
32492   //
32502   HRESULT Next (
32503     [in] aafUInt32  count,
32504     [out, size_is(count), length_is(*pFetched)] IAAFLocator ** ppAAFLocators,
32505     [out,ref] aafUInt32 *  pFetched);
32506 
32507 
32508   //***********************************************************
32509   //
32510   // Skip()
32511   //
32518   HRESULT Skip (
32519     [in] aafUInt32  count);
32520 
32521 
32522   //***********************************************************
32523   //
32524   // Reset()
32525   //
32534   HRESULT Reset ();
32535 
32536 
32537   //***********************************************************
32538   //
32539   // Clone()
32540   //
32551   HRESULT Clone (
32552     [out,retval] IEnumAAFPluginLocators ** ppEnum);
32553 }
32554 
32555 
32556 
32557 // ************************
32558 //
32559 // Interface IEnumAAFSegments
32560 //
32561 // ************************
32562 [
32563     object,
32564     uuid(B1A213A2-1A7D-11D2-BF78-00104BC9156D),
32565     helpstring("IEnumAAFSegments Interface"),
32566     pointer_default(unique)
32567 ]
32568 interface IEnumAAFSegments : IUnknown
32569 {
32570 
32571   //***********************************************************
32572   //
32573   // NextOne()
32574   //
32600   HRESULT NextOne (
32601     [out,retval] IAAFSegment ** ppSegments);
32602 
32603 
32604   //***********************************************************
32605   //
32606   // Next()
32607   //
32636   HRESULT Next (
32637     [in] aafUInt32  count,
32638     [out, size_is(count), length_is(*pNumFetched)] IAAFSegment ** ppSegments,
32639     [out,ref] aafUInt32 *  pNumFetched);
32640 
32641 
32642   //***********************************************************
32643   //
32644   // Skip()
32645   //
32665   HRESULT Skip (
32666     [in] aafUInt32  count);
32667 
32668 
32669   //***********************************************************
32670   //
32671   // Reset()
32672   //
32683   HRESULT Reset ();
32684 
32685 
32686   //***********************************************************
32687   //
32688   // Clone()
32689   //
32713   HRESULT Clone (
32714     [out,retval] IEnumAAFSegments ** ppEnum);
32715 }
32716 
32717 
32718 
32719 // ************************
32720 //
32721 // Interface IEnumAAFTaggedValues
32722 //
32723 // ************************
32724 [
32725     object,
32726     uuid(5f7916f1-0f87-11d3-8a3e-0050040ef7d2),
32727     helpstring("IEnumAAFTaggedValues Interface"),
32728     pointer_default(unique)
32729 ]
32730 interface IEnumAAFTaggedValues : IUnknown
32731 {
32732 
32733   //***********************************************************
32734   //
32735   // NextOne()
32736   //
32762   HRESULT NextOne (
32763     [out,retval] IAAFTaggedValue ** ppTaggedValues);
32764 
32765 
32766   //***********************************************************
32767   //
32768   // Next()
32769   //
32798   HRESULT Next (
32799     [in] aafUInt32  count,
32800     [out, size_is(count), length_is(*pNumFetched)] IAAFTaggedValue ** ppTaggedValues,
32801     [out,ref] aafUInt32 *  pNumFetched);
32802 
32803 
32804   //***********************************************************
32805   //
32806   // Skip()
32807   //
32827   HRESULT Skip (
32828     [in] aafUInt32  count);
32829 
32830 
32831   //***********************************************************
32832   //
32833   // Reset()
32834   //
32845   HRESULT Reset ();
32846 
32847 
32848   //***********************************************************
32849   //
32850   // Clone()
32851   //
32875   HRESULT Clone (
32876     [out,retval] IEnumAAFTaggedValues ** ppEnum);
32877 }
32878 
32879 
32880 
32881 // ************************
32882 //
32883 // Interface IEnumAAFTypeDefs
32884 //
32885 // ************************
32886 [
32887     object,
32888     uuid(B1A2138C-1A7D-11D2-BF78-00104BC9156D),
32889     helpstring("IEnumAAFTypeDefs Interface"),
32890     pointer_default(unique)
32891 ]
32892 interface IEnumAAFTypeDefs : IUnknown
32893 {
32894 
32895   //***********************************************************
32896   //
32897   // NextOne()
32898   //
32924   HRESULT NextOne (
32925     [out,retval] IAAFTypeDef ** ppTypeDefs);
32926 
32927 
32928   //***********************************************************
32929   //
32930   // Next()
32931   //
32960   HRESULT Next (
32961     [in] aafUInt32  count,
32962     [out, size_is(count), length_is(*pNumFetched)] IAAFTypeDef ** ppTypeDefs,
32963     [out,ref] aafUInt32 *  pNumFetched);
32964 
32965 
32966   //***********************************************************
32967   //
32968   // Skip()
32969   //
32989   HRESULT Skip (
32990     [in] aafUInt32  count);
32991 
32992 
32993   //***********************************************************
32994   //
32995   // Reset()
32996   //
33007   HRESULT Reset ();
33008 
33009 
33010   //***********************************************************
33011   //
33012   // Clone()
33013   //
33037   HRESULT Clone (
33038     [out,retval] IEnumAAFTypeDefs ** ppEnum);
33039 }
33040 
33041 
33042 
33043 // ************************
33044 //
33045 // Interface IAAFRawStorage
33046 //
33047 // ************************
33071 
33072 
33073 [
33074     object,
33075     uuid(F45FA9E1-7166-11D4-B80D-0000863F2C27),
33076     helpstring("IAAFRawStorage Interface"),
33077     pointer_default(unique)
33078 ]
33079 interface IAAFRawStorage : IUnknown
33080 {
33081 
33082   //***********************************************************
33083   //
33084   // IsReadable()
33085   //
33104   HRESULT IsReadable (
33105     [out] aafBoolean_t *  pResult);
33106 
33107 
33108   //***********************************************************
33109   //
33110   // Read()
33111   //
33141   HRESULT Read (
33142     [out, size_is(bufSize), length_is(*pNumRead)] aafMemPtr_t  buf,
33143     [in] aafUInt32  bufSize,
33144     [out] aafUInt32 *  pNumRead);
33145 
33146 
33147   //***********************************************************
33148   //
33149   // IsWriteable()
33150   //
33169   HRESULT IsWriteable (
33170     [out] aafBoolean_t *  pResult);
33171 
33172 
33173   //***********************************************************
33174   //
33175   // Write()
33176   //
33211   HRESULT Write (
33212     [in, size_is(bufSize)] aafMemConstPtr_t  buf,
33213     [in] aafUInt32  bufSize,
33214     [out] aafUInt32 *  pNumWritten);
33215 
33216 
33217   //***********************************************************
33218   //
33219   // Synchronize()
33220   //
33230   HRESULT Synchronize ();
33231 }
33232 
33233 
33234 
33235 // ************************
33236 //
33237 // Interface IAAFRandomRawStorage
33238 //
33239 // ************************
33255 
33256 
33260 [
33261     object,
33262     uuid(B1341782-71FE-11d4-B80D-0000863F2C27),
33263     helpstring("IAAFRandomRawStorage Interface"),
33264     pointer_default(unique)
33265 ]
33266 interface IAAFRandomRawStorage : IUnknown
33267 {
33268 
33269   //***********************************************************
33270   //
33271   // ReadAt()
33272   //
33303   HRESULT ReadAt (
33304     [in] aafUInt64  position,
33305     [out, size_is(bufSize), length_is(*pNumRead)] aafMemPtr_t  buf,
33306     [in] aafUInt32  bufSize,
33307     [out] aafUInt32 *  pNumRead);
33308 
33309 
33310   //***********************************************************
33311   //
33312   // WriteAt()
33313   //
33353   HRESULT WriteAt (
33354     [in] aafUInt64  position,
33355     [in, size_is(bufSize)] aafMemConstPtr_t  buf,
33356     [in] aafUInt32  bufSize,
33357     [out] aafUInt32 *  pNumWritten);
33358 
33359 
33360   //***********************************************************
33361   //
33362   // GetSize()
33363   //
33382   HRESULT GetSize (
33383     [out] aafUInt64 *  pSize);
33384 
33385 
33386   //***********************************************************
33387   //
33388   // IsExtendable()
33389   //
33408   HRESULT IsExtendable (
33409     [out] aafBoolean_t *  pResult);
33410 
33411 
33412   //***********************************************************
33413   //
33414   // GetExtent()
33415   //
33433   HRESULT GetExtent (
33434     [out] aafUInt64 *  pExtent);
33435 
33436 
33437   //***********************************************************
33438   //
33439   // SetExtent()
33440   //
33460   HRESULT SetExtent (
33461     [in] aafUInt64  extent);
33462 }
33463 
33464 
33465 
33466 // ************************
33467 //
33468 // Interface IAAFGetFileBits
33469 //
33470 // ************************
33489 
33490 
33491 [
33492     object,
33493     uuid(3CC80282-72A8-11D4-B80D-0000863F2C27),
33494     helpstring("IAAFGetFileBits Interface"),
33495     pointer_default(unique)
33496 ]
33497 interface IAAFGetFileBits : IUnknown
33498 {
33499 
33500   //***********************************************************
33501   //
33502   // ReadAt()
33503   //
33534   HRESULT ReadAt (
33535     [out, size_is(bufSize)] aafMemPtr_t  buf,
33536     [in] aafUInt32  bufSize,
33537     [in] aafUInt64  position);
33538 
33539 
33540   //***********************************************************
33541   //
33542   // GetSize()
33543   //
33561   HRESULT GetSize (
33562     [out] aafUInt64 *  pSize);
33563 }
33564 
33565 
33566 
33567 // ************************
33568 //
33569 // Interface IAAFSetFileBits
33570 //
33571 // ************************
33590 
33591 
33592 [
33593     object,
33594     uuid(6D950762-8DB4-11D4-B80D-0000863F2C27),
33595     helpstring("IAAFSetFileBits Interface"),
33596     pointer_default(unique)
33597 ]
33598 interface IAAFSetFileBits : IUnknown
33599 {
33600 
33601   //***********************************************************
33602   //
33603   // WriteAt()
33604   //
33636   HRESULT WriteAt (
33637     [in, size_is(bufSize)] aafMemPtr_t  buf,
33638     [in] aafUInt32  bufSize,
33639     [in] aafUInt64  position);
33640 
33641 
33642   //***********************************************************
33643   //
33644   // SetSize()
33645   //
33663   HRESULT SetSize (
33664     [in] aafUInt64  size);
33665 }
33666 
33667 
33668 
33669 // ************************
33670 //
33671 // Interface IAAFRandomFile
33672 //
33673 // ************************
33689 [
33690     object,
33691     uuid(3CC80284-72A8-11D4-B80D-0000863F2C27),
33692     helpstring("IAAFRandomFile Interface"),
33693     pointer_default(unique)
33694 ]
33695 interface IAAFRandomFile : IUnknown
33696 {
33697 
33698   //***********************************************************
33699   //
33700   // GetFileBits()
33701   //
33733   HRESULT GetFileBits (
33734     [out] IAAFGetFileBits ** ppGetFileBits);
33735 
33736 
33737   //***********************************************************
33738   //
33739   // Revert()
33740   //
33752   HRESULT Revert ();
33753 
33754 
33755   //***********************************************************
33756   //
33757   // SaveAsFile()
33758   //
33782   HRESULT SaveAsFile (
33783     [in] IAAFFile * pDestFile);
33784 
33785 
33786   //***********************************************************
33787   //
33788   // SetFileBits()
33789   //
33816   HRESULT SetFileBits (
33817     [out] IAAFSetFileBits ** ppSetFileBits);
33818 }
33819 
33820 
33821 
33822 // ************************
33823 //
33824 // Interface IAAFTaggedValueDefinition
33825 //
33826 // ************************
33835 [
33836     object,
33837     uuid(c358428a-bf73-4558-bfdf-482160719823),
33838     helpstring("IAAFTaggedValueDefinition Interface"),
33839     pointer_default(unique)
33840 ]
33841 
33842 interface IAAFTaggedValueDefinition : IUnknown
33843 {
33844 
33845 
33846   //***********************************************************
33847   //
33848   // Initialize()
33849   //
33856   HRESULT Initialize (
33857     [in, ref] aafUID_constref  id,
33858     [in, string] aafCharacter_constptr  pName,
33859     [in, string] aafCharacter_constptr  pDescription);
33860 
33861   //***********************************************************
33862   //
33863   // AddParentProperty()
33864   //
33877   HRESULT AddParentProperty (
33878     [in] IAAFPropertyDef * pParentProperty);
33879 
33880   //***********************************************************
33881   //
33882   // GetParentProperties()
33883   //
33897   HRESULT GetParentProperties (
33898     [out] IEnumAAFPropertyDefs ** ppEnum);
33899 
33900   //***********************************************************
33901   //
33902   // CountParentProperties()
33903   //
33917   HRESULT CountParentProperties (
33918     [out] aafUInt32*  pNumProperties);
33919 
33920   //***********************************************************
33921   //
33922   // RemoveParentProperty()
33923   //
33939   HRESULT RemoveParentProperty (
33940     [in] IAAFPropertyDef * pParentProperty);
33941 
33942 }
33943 
33944 
33945 
33946 // ************************
33947 //
33948 // Interface IAAFKLVDataDefinition
33949 //
33950 // ************************
33959 [
33960     object,
33961     uuid(f6af8700-949c-4304-9706-c0576b53f4aa),
33962     helpstring("IAAFKLVDataDefinition Interface"),
33963     pointer_default(unique)
33964 ]
33965 interface IAAFKLVDataDefinition : IUnknown
33966 {
33967 
33968 
33969   //***********************************************************
33970   //
33971   // Initialize()
33972   //
33979   HRESULT Initialize (
33980     [in, ref] aafUID_constref  id,
33981     [in, string] aafCharacter_constptr  pName,
33982     [in, string] aafCharacter_constptr  pDescription);
33983 
33984   //***********************************************************
33985   //
33986   // AddParentProperty()
33987   //
33999   HRESULT AddParentProperty (
34000     [in] IAAFPropertyDef * pParentProperty);
34001 
34002   //***********************************************************
34003   //
34004   // GetParentProperties()
34005   //
34019   HRESULT GetParentProperties (
34020     [out] IEnumAAFPropertyDefs ** ppEnum);
34021 
34022   //***********************************************************
34023   //
34024   // CountParentProperties()
34025   //
34039   HRESULT CountParentProperties (
34040     [out] aafUInt32*  pNumProperties);
34041 
34042   //***********************************************************
34043   //
34044   // RemoveParentProperty()
34045   //
34061   HRESULT RemoveParentProperty (
34062     [in] IAAFPropertyDef * pParentProperty);
34063 
34064   //***********************************************************
34065   //
34066   // GetKLVDataType()
34067   //
34085   HRESULT GetKLVDataType (
34086     [out] IAAFTypeDef ** ppTypeDef);
34087 
34088 
34089   //***********************************************************
34090   //
34091   // SetKLVDataType()
34092   //
34105   HRESULT SetKLVDataType (
34106     [in] IAAFTypeDef * pTypeDef);
34107 
34108 }
34109 
34110 
34111 
34112 // ************************
34113 //
34114 // Interface IEnumAAFTaggedValueDefs
34115 //
34116 // ************************
34117 [
34118     object,
34119     uuid(9d1bd790-16a8-488c-8743-f9a60a1cba95),
34120     helpstring("IEnumAAFTaggedValueDefs Interface"),
34121     pointer_default(unique)
34122 ]
34123 
34124 interface IEnumAAFTaggedValueDefs : IUnknown
34125 {
34126 
34127   //***********************************************************
34128   //
34129   // NextOne()
34130   //
34156   HRESULT NextOne (
34157     [out,retval] IAAFTaggedValueDefinition ** ppTaggedValueDefs);
34158 
34159 
34160   //***********************************************************
34161   //
34162   // Next()
34163   //
34192   HRESULT Next (
34193     [in] aafUInt32  count,
34194     [out, size_is(count), length_is(*pNumFetched)] IAAFTaggedValueDefinition ** ppTaggedValueDefs,
34195     [out,ref] aafUInt32 *  pNumFetched);
34196 
34197 
34198   //***********************************************************
34199   //
34200   // Skip()
34201   //
34221   HRESULT Skip (
34222     [in] aafUInt32  count);
34223 
34224 
34225   //***********************************************************
34226   //
34227   // Reset()
34228   //
34239   HRESULT Reset ();
34240 
34241 
34242   //***********************************************************
34243   //
34244   // Clone()
34245   //
34269   HRESULT Clone (
34270     [out,retval] IEnumAAFTaggedValueDefs ** ppEnum);
34271 }
34272 
34273 
34274 
34275 // ************************
34276 //
34277 // Interface IEnumAAFKLVDataDefs
34278 //
34279 // ************************
34280 [
34281     object,
34282     uuid(2a368c5c-e5af-43c8-8e5a-e78ba02f5f3b),
34283     helpstring("IEnumAAFKLVDataDefs Interface"),
34284     pointer_default(unique)
34285 ]
34286 
34287 interface IEnumAAFKLVDataDefs : IUnknown
34288 {
34289 
34290   //***********************************************************
34291   //
34292   // NextOne()
34293   //
34319   HRESULT NextOne (
34320     [out,retval] IAAFKLVDataDefinition ** ppKLVDataDefs);
34321 
34322 
34323   //***********************************************************
34324   //
34325   // Next()
34326   //
34355   HRESULT Next (
34356     [in] aafUInt32  count,
34357     [out, size_is(count), length_is(*pNumFetched)] IAAFKLVDataDefinition ** ppKLVDataDefs,
34358     [out,ref] aafUInt32 *  pNumFetched);
34359 
34360 
34361   //***********************************************************
34362   //
34363   // Skip()
34364   //
34384   HRESULT Skip (
34385     [in] aafUInt32  count);
34386 
34387 
34388   //***********************************************************
34389   //
34390   // Reset()
34391   //
34402   HRESULT Reset ();
34403 
34404 
34405   //***********************************************************
34406   //
34407   // Clone()
34408   //
34432   HRESULT Clone (
34433     [out,retval] IEnumAAFKLVDataDefs ** ppEnum);
34434 }
34435 
34436 
34437 
34438 // ************************
34439 //
34440 // Interface IAAFRecordingDescriptor
34441 //
34442 // ************************
34443 
34461 [
34462     object,
34463     uuid(a6542226-19a7-40ee-9650-a3b9c66ccfe7),
34464     helpstring("IAAFRecordingDescriptor Interface"),
34465     pointer_default(unique)
34466 ]
34467 
34468 interface IAAFRecordingDescriptor : IUnknown
34469 {
34470 
34471   //***********************************************************
34472   //
34473   // Initialize()
34474   //
34492   HRESULT Initialize ();
34493 
34494 }
34495 
34496 
34497 
34498 // ************************
34499 //
34500 // Interface IAAFAuxiliaryDescriptor
34501 //
34502 // ************************
34503 
34521 [
34522     object,
34523     uuid(197a9cb2-48de-40a3-b965-59531d3fcf23),
34524     helpstring("IAAFAuxiliaryDescriptor Interface"),
34525     pointer_default(unique)
34526 ]
34527 
34528 interface IAAFAuxiliaryDescriptor : IUnknown
34529 {
34530 
34531 
34532   //***********************************************************
34533   //
34534   // Initialize()
34535   //
34548   HRESULT Initialize ();
34549 
34550   //***********************************************************
34551   //
34552   // SetMimeType()
34553   //
34582   HRESULT SetMimeType (
34583     [in, string] aafCharacter_constptr  pMimeType);
34584 
34585 
34586   //***********************************************************
34587   //
34588   // GetMimeType()
34589   //
34627   HRESULT GetMimeType (
34628     [out, string, size_is(bufSize)] aafCharacter *  pMimeType,
34629     [in] aafUInt32  bufSize);
34630 
34631 
34632   //***********************************************************
34633   //
34634   // GetMimeTypeBufLen()
34635   //
34653   HRESULT GetMimeTypeBufLen (
34654     [out] aafUInt32 *  pBufSize);
34655 
34656   //***********************************************************
34657   //
34658   // SetCharSet()
34659   //
34688   HRESULT SetCharSet (
34689     [in, string] aafCharacter_constptr  pCharSet);
34690 
34691 
34692   //***********************************************************
34693   //
34694   // GetCharSet()
34695   //
34733   HRESULT GetCharSet (
34734     [out, string, size_is(bufSize)] aafCharacter *  pCharSet,
34735     [in] aafUInt32  bufSize);
34736 
34737 
34738   //***********************************************************
34739   //
34740   // GetCharSetBufLen()
34741   //
34759   HRESULT GetCharSetBufLen (
34760     [out] aafUInt32 *  pBufSize);
34761 
34762 }
34763 
34764 
34765 
34766 // ************************
34767 //
34768 // Interface IAAFDescriptiveFramework
34769 //
34770 // ************************
34771 
34773 
34788 [
34789     object,
34790     uuid(1cded29f-b8f0-437d-abb0-2144dd35b4aa),
34791     helpstring("IAAFDescriptiveFramework Interface"),
34792     pointer_default(unique)
34793 ]
34794 interface IAAFDescriptiveFramework : IUnknown
34795 {
34796 
34797 
34798 }
34799 
34800 
34801 
34802 // ************************
34803 //
34804 // Interface IAAFDescriptiveMarker
34805 //
34806 // ************************
34807 
34809 
34839 [
34840     object,
34841     uuid(c377b78e-591f-4ba9-a069-18438c626e34),
34842     helpstring("IAAFDescriptiveMarker Interface"),
34843     pointer_default(unique)
34844 ]
34845 
34846 interface IAAFDescriptiveMarker : IUnknown
34847 {
34848 
34849 
34850   //***********************************************************
34851   //
34852   // Initialize()
34853   //
34866   HRESULT Initialize ();
34867 
34868 
34869   //***********************************************************
34870   //
34871   // SetDescribedSlotIDs()
34872   //
34889   HRESULT SetDescribedSlotIDs (
34890     [in] aafUInt32  numberElements,
34891     [in] aafUInt32*  pDescribedSlotIDs);
34892 
34893 
34894   //***********************************************************
34895   //
34896   // GetDescribedSlotIDs()
34897   //
34919   HRESULT GetDescribedSlotIDs (
34920     [in] aafUInt32  numberElements,
34921     [in] aafUInt32*  pDescribedSlotIDs);
34922 
34923   //***********************************************************
34924   //
34925   // GetDescribedSlotIDsSize()
34926   //
34939   HRESULT GetDescribedSlotIDsSize (
34940     [out] aafUInt32 *  numberElements);
34941 
34942   //***********************************************************
34943   //
34944   // SetDescriptiveFramework()
34945   //
34958   HRESULT SetDescriptiveFramework (
34959     [in] IAAFDescriptiveFramework * pDescriptiveFramework);
34960 
34961   //***********************************************************
34962   //
34963   // GetDescriptiveFramework()
34964   //
34977   HRESULT GetDescriptiveFramework (
34978     [out,retval] IAAFDescriptiveFramework ** ppDescriptiveFramework);
34979 
34980 }
34981 
34982 
34983 
34984 // ************************
34985 //
34986 // Interface IAAFCDCIDescriptor2
34987 //
34988 // ************************
35002 
35003 
35011 [
35012     object,
35013     uuid(82B83210-7E2C-417E-92BA-8F42C195906E),
35014     helpstring("IAAFCDCIDescriptor2 Interface"),
35015     pointer_default(unique)
35016 ]
35017 interface IAAFCDCIDescriptor2 : IUnknown
35018 {
35019 
35020 
35021   //***********************************************************
35022   //
35023   // Initialize()
35024   //
35042   HRESULT Initialize ();
35043 
35044 
35045   //***********************************************************
35046   //
35047   // SetComponentWidth()
35048   //
35071   HRESULT SetComponentWidth (
35072     [in] aafInt32  ComponentWidth);
35073 
35074 
35075   //***********************************************************
35076   //
35077   // GetComponentWidth()
35078   //
35106   HRESULT GetComponentWidth (
35107     [out] aafInt32 *  pComponentWidth);
35108 
35109 
35110   //***********************************************************
35111   //
35112   // SetHorizontalSubsampling()
35113   //
35134   HRESULT SetHorizontalSubsampling (
35135     [in] aafUInt32  HorizontalSubsampling);
35136 
35137 
35138   //***********************************************************
35139   //
35140   // GetHorizontalSubsampling()
35141   //
35168   HRESULT GetHorizontalSubsampling (
35169     [out] aafUInt32 *  pHorizontalSubsampling);
35170 
35171 
35172   //***********************************************************
35173   //
35174   // SetVerticalSubsampling()
35175   //
35196   HRESULT SetVerticalSubsampling (
35197     [in] aafUInt32  VerticalSubsampling);
35198 
35199 
35200   //***********************************************************
35201   //
35202   // GetVerticalSubsampling()
35203   //
35230   HRESULT GetVerticalSubsampling (
35231     [out] aafUInt32 *  pVerticalSubsampling);
35232 
35233 
35234   //***********************************************************
35235   //
35236   // SetColorSiting()
35237   //
35276   HRESULT SetColorSiting (
35277     [in] aafColorSiting_t  ColorSiting);
35278 
35279 
35280   //***********************************************************
35281   //
35282   // GetColorSiting()
35283   //
35326   HRESULT GetColorSiting (
35327     [out] aafColorSiting_t *  pColorSiting);
35328 
35329 
35330   //***********************************************************
35331   //
35332   // SetBlackReferenceLevel()
35333   //
35360   HRESULT SetBlackReferenceLevel (
35361     [in] aafUInt32  BlackReferenceLevel);
35362 
35363 
35364   //***********************************************************
35365   //
35366   // GetBlackReferenceLevel()
35367   //
35397   HRESULT GetBlackReferenceLevel (
35398     [out] aafUInt32 *  pBlackReferenceLevel);
35399 
35400 
35401   //***********************************************************
35402   //
35403   // SetWhiteReferenceLevel()
35404   //
35429   HRESULT SetWhiteReferenceLevel (
35430     [in] aafUInt32  WhiteReferenceLevel);
35431 
35432 
35433   //***********************************************************
35434   //
35435   // GetWhiteReferenceLevel()
35436   //
35463   HRESULT GetWhiteReferenceLevel (
35464     [out] aafUInt32 *  pWhiteReferenceLevel);
35465 
35466 
35467   //***********************************************************
35468   //
35469   // SetColorRange()
35470   //
35500   HRESULT SetColorRange (
35501     [in] aafUInt32  ColorRange);
35502 
35503 
35504   //***********************************************************
35505   //
35506   // GetColorRange()
35507   //
35537   HRESULT GetColorRange (
35538     [out] aafUInt32 *  pColorRange);
35539 
35540 
35541   //***********************************************************
35542   //
35543   // SetPaddingBits()
35544   //
35563   HRESULT SetPaddingBits (
35564     [in] aafInt16  PaddingBits);
35565 
35566 
35567   //***********************************************************
35568   //
35569   // GetPaddingBits()
35570   //
35593   HRESULT GetPaddingBits (
35594     [out] aafInt16 *  pPaddingBits);
35595 
35596 
35597   //***********************************************************
35598   //
35599   // SetAlphaSamplingWidth()
35600   //
35615   HRESULT SetAlphaSamplingWidth (
35616     [in] aafUInt32  alphaSamplingWidth);
35617 
35618   //***********************************************************
35619   //
35620   // GetAlphaSamplingWidth()
35621   //
35643   HRESULT GetAlphaSamplingWidth (
35644     [out] aafUInt32 *  pAlphaSamplingWidth);
35645 
35646   //***********************************************************
35647   //
35648   // SetReversedByteOrder()
35649   //
35664   HRESULT SetReversedByteOrder (
35665     [in] aafBoolean_t  reversedByteOrder);
35666 
35667   //***********************************************************
35668   //
35669   // GetReversedByteOrder()
35670   //
35692   HRESULT GetReversedByteOrder (
35693     [out] aafBoolean_t *  pReversedByteOrder);
35694 
35695 
35696 }
35697 
35698 
35699 
35700 // ************************
35701 //
35702 // Interface IAAFComponent2
35703 //
35704 // ************************
35731 [
35732     object,
35733     uuid(c703e7f5-b97f-44fb-87da-a412e60ea6aa),
35734     helpstring("IAAFComponent2 Interface"),
35735     pointer_default(unique)
35736 ]
35737 interface IAAFComponent2 : IUnknown
35738 {
35739 
35740 
35741 
35742 
35743   //***********************************************************
35744   //
35745   // SetLength()
35746   //
35770   HRESULT SetLength (
35771     [in] aafLength_constref  length);
35772 
35773 
35774   //***********************************************************
35775   //
35776   // GetLength()
35777   //
35804   HRESULT GetLength (
35805     [retval][out] aafLength_t *  pLength);
35806         
35807 
35808   //***********************************************************
35809   //
35810   // SetDataDef()
35811   //
35829   HRESULT SetDataDef (
35830     [in] IAAFDataDef * pDataDef);
35831 
35832 
35833   //***********************************************************
35834   //
35835   // GetDataDef()
35836   //
35856   HRESULT GetDataDef (
35857     [out, retval] IAAFDataDef ** ppDatadef);
35858 
35859   //***********************************************************
35860   //
35861   // AppendKLVData()
35862   //
35883   HRESULT AppendKLVData (
35884     [in] IAAFKLVData * pData);
35885 
35886 
35887   //***********************************************************
35888   //
35889   // CountKLVData()
35890   //
35910   HRESULT CountKLVData (
35911     [out] aafUInt32 *  pNumData);
35912 
35913 
35914   //***********************************************************
35915   //
35916   // GetKLVData()
35917   //
35939   HRESULT GetKLVData (
35940     [out] IEnumAAFKLVData ** ppEnum);
35941 
35942 
35943   //***********************************************************
35944   //
35945   // RemoveKLVData()
35946   //
35970   HRESULT RemoveKLVData (
35971     [in] IAAFKLVData * pData);
35972 
35973 
35974 
35975   //***********************************************************
35976   //
35977   // AppendComment()
35978   //
35984   HRESULT AppendComment (
35985     [in] aafCharacter_constptr  pName,
35986     [in] aafCharacter_constptr  pValue);
35987 
36000 
36001   //***********************************************************
36002   //
36003   // CountComments()
36004   //
36009   HRESULT CountComments (
36010     [out] aafUInt32*  pNumComments);
36011 
36023   
36024 
36025   //***********************************************************
36026   //
36027   // GetComments()
36028   //
36033   HRESULT GetComments (
36034     [out] IEnumAAFTaggedValues ** ppEnum);
36035 
36048 
36049 
36050   //***********************************************************
36051   //
36052   // RemoveComment()
36053   //
36058   HRESULT RemoveComment (
36059     [in] IAAFTaggedValue * pComment);
36060 
36072 
36073   //***********************************************************
36074   //
36075   // AppendAttribute()
36076   //
36082   HRESULT AppendAttribute (
36083     [in] aafCharacter_constptr  pName,
36084     [in] aafCharacter_constptr  pValue);
36085 
36098 
36099   //***********************************************************
36100   //
36101   // CountAttributes()
36102   //
36107   HRESULT CountAttributes (
36108     [out] aafUInt32*  pNumAttributes);
36109 
36121   
36122 
36123   //***********************************************************
36124   //
36125   // GetAttributes()
36126   //
36131   HRESULT GetAttributes (
36132     [out] IEnumAAFTaggedValues ** ppEnum);
36133 
36146 
36147 
36148   //***********************************************************
36149   //
36150   // RemoveAttribute()
36151   //
36156   HRESULT RemoveAttribute (
36157     [in] IAAFTaggedValue * pAttribute);
36158 
36170 
36171 
36172 
36173 
36174 }
36175 
36176 
36177 
36178 // ************************
36179 //
36180 // Interface IAAFCompositionMob2
36181 //
36182 // ************************
36197 
36198 
36204 [
36205     object,
36206     uuid(188a82c7-0d87-4af3-89e0-5f96e56ff9de),
36207     helpstring("IAAFCompositionMob2 Interface"),
36208     pointer_default(unique)
36209 ]
36210 interface IAAFCompositionMob2 : IUnknown
36211 {
36212 
36213 
36214 
36215   //***********************************************************
36216   //
36217   // Initialize()
36218   //
36240   HRESULT Initialize (
36241     [in, string] aafCharacter_constptr  pName);
36242 
36243 
36244   //***********************************************************
36245   //
36246   // GetDefaultFade()
36247   //
36272   HRESULT GetDefaultFade (
36273     [out] aafDefaultFade_t *  pResult);
36274         
36275 
36276   //***********************************************************
36277   //
36278   // SetDefaultFade()
36279   //
36305   HRESULT SetDefaultFade (
36306     [in] aafLength_t  fadeLength,
36307     [in] aafFadeType_t  fadeType,
36308     [in] aafRational_t  fadeEditUnit);
36309 
36310 
36311   //***********************************************************
36312   //
36313   // SetRendering()
36314   //
36316 
36323   HRESULT SetRendering (
36324     [in, ref] aafMobID_constref  mobID);
36325 
36326   //***********************************************************
36327   //
36328   // GetRendering()
36329   //
36331 
36349   HRESULT GetRendering (
36350     [out] aafMobID_t *  pMobID);
36351 
36352 
36353 }
36354 
36355 
36356 
36357 // ************************
36358 //
36359 // Interface IAAFDataDef2
36360 //
36361 // ************************
36362 
36367 [
36368     object,
36369     uuid(588951c1-2f10-46da-a20d-6e8e7ac6963c),
36370     helpstring("IAAFDataDef2 Interface"),
36371     pointer_default(unique)
36372 ]
36373 interface IAAFDataDef2 : IUnknown
36374 {
36375 
36376   //***********************************************************
36377   //
36378   // Initialize()
36379   //
36386   HRESULT Initialize (
36387     [in, ref] aafUID_constref  id,
36388     [in, string] aafCharacter_constptr  pName,
36389     [in, string] aafCharacter_constptr  pDescription);
36390 
36391 
36392   //***********************************************************
36393   //
36394   // IsPictureKind()
36395   //
36400   HRESULT IsPictureKind (
36401     [retval,out] aafBoolean_t *  bIsPictureKind);
36402 
36403 
36404   //***********************************************************
36405   //
36406   // IsMatteKind()
36407   //
36412   HRESULT IsMatteKind (
36413     [retval,out] aafBoolean_t *  bIsMatteKind);
36414 
36415 
36416   //***********************************************************
36417   //
36418   // IsPictureWithMatteKind()
36419   //
36424   HRESULT IsPictureWithMatteKind (
36425     [retval,out] aafBoolean_t *  bIsPictureWithMatteKind);
36426 
36427 
36428   //***********************************************************
36429   //
36430   // IsSoundKind()
36431   //
36436   HRESULT IsSoundKind (
36437     [retval,out] aafBoolean_t *  bIsSoundKind);
36438 
36439 
36440   //***********************************************************
36441   //
36442   // DoesDataDefConvertTo()
36443   //
36451   HRESULT DoesDataDefConvertTo (
36452     [in] IAAFDataDef * id,
36453     [retval, out] aafBoolean_t *  bDoesConvertTo);
36454                    
36455 
36456   //***********************************************************
36457   //
36458   // IsDataDefOf()
36459   //
36467   HRESULT IsDataDefOf (
36468     [in] IAAFDataDef * pDataDef,
36469     [retval, out] aafBoolean_t *  bIsDataDefOf);
36470 
36471 
36472   //***********************************************************
36473   //
36474   // DoesDataDefConvertFrom()
36475   //
36483   HRESULT DoesDataDefConvertFrom (
36484     [in] IAAFDataDef * pDataDef,
36485     [retval, out] aafBoolean_t *  bDoesConvertFrom);
36486 
36487 
36488   //***********************************************************
36489   //
36490   // IsEdgecodeKind()
36491   //
36496   HRESULT IsEdgecodeKind (
36497     [retval,out] aafBoolean_t *  bIsEdgecodeKind);
36498 
36499   //***********************************************************
36500   //
36501   // IsTimecodeKind()
36502   //
36507   HRESULT IsTimecodeKind (
36508     [retval,out] aafBoolean_t *  bIsTimecodeKind);
36509 
36510 }
36511 
36512 
36513 
36514 // ************************
36515 //
36516 // Interface IAAFDataDef3
36517 //
36518 // ************************
36519 
36524 [
36525     object,
36526     uuid(858109c4-cb51-48ad-9086-a3fcfe9739fa),
36527     helpstring("IAAFDataDef3 Interface"),
36528     pointer_default(unique)
36529 ]
36530 interface IAAFDataDef3 : IUnknown
36531 {
36532 
36533   //***********************************************************
36534   //
36535   // Initialize()
36536   //
36543   HRESULT Initialize (
36544     [in, ref] aafUID_constref  id,
36545     [in, string] aafCharacter_constptr  pName,
36546     [in, string] aafCharacter_constptr  pDescription);
36547 
36548 
36549   //***********************************************************
36550   //
36551   // IsPictureKind()
36552   //
36557   HRESULT IsPictureKind (
36558     [retval,out] aafBoolean_t *  bIsPictureKind);
36559 
36560 
36561   //***********************************************************
36562   //
36563   // IsMatteKind()
36564   //
36569   HRESULT IsMatteKind (
36570     [retval,out] aafBoolean_t *  bIsMatteKind);
36571 
36572 
36573   //***********************************************************
36574   //
36575   // IsPictureWithMatteKind()
36576   //
36581   HRESULT IsPictureWithMatteKind (
36582     [retval,out] aafBoolean_t *  bIsPictureWithMatteKind);
36583 
36584 
36585   //***********************************************************
36586   //
36587   // IsSoundKind()
36588   //
36593   HRESULT IsSoundKind (
36594     [retval,out] aafBoolean_t *  bIsSoundKind);
36595 
36596 
36597   //***********************************************************
36598   //
36599   // DoesDataDefConvertTo()
36600   //
36608   HRESULT DoesDataDefConvertTo (
36609     [in] IAAFDataDef * id,
36610     [retval, out] aafBoolean_t *  bDoesConvertTo);
36611                    
36612 
36613   //***********************************************************
36614   //
36615   // IsDataDefOf()
36616   //
36624   HRESULT IsDataDefOf (
36625     [in] IAAFDataDef * pDataDef,
36626     [retval, out] aafBoolean_t *  bIsDataDefOf);
36627 
36628 
36629   //***********************************************************
36630   //
36631   // DoesDataDefConvertFrom()
36632   //
36640   HRESULT DoesDataDefConvertFrom (
36641     [in] IAAFDataDef * pDataDef,
36642     [retval, out] aafBoolean_t *  bDoesConvertFrom);
36643 
36644 
36645   //***********************************************************
36646   //
36647   // IsEdgecodeKind()
36648   //
36653   HRESULT IsEdgecodeKind (
36654     [retval,out] aafBoolean_t *  bIsEdgecodeKind);
36655 
36656   //***********************************************************
36657   //
36658   // IsTimecodeKind()
36659   //
36664   HRESULT IsTimecodeKind (
36665     [retval,out] aafBoolean_t *  bIsTimecodeKind);
36666 
36667 
36668   //***********************************************************
36669   //
36670   // IsAuxiliaryKind()
36671   //
36676   HRESULT IsAuxiliaryKind (
36677     [retval,out] aafBoolean_t *  bIsAuxiliaryKind);
36678 
36679   //***********************************************************
36680   //
36681   // IsDescriptiveMetadataKind()
36682   //
36687   HRESULT IsDescriptiveMetadataKind (
36688     [retval,out] aafBoolean_t *  bIsDescriptiveMetadataKind);
36689 
36690 }
36691 
36692 
36693 
36694 // ************************
36695 //
36696 // Interface IAAFDictionary2
36697 //
36698 // ************************
36713 [
36714     object,
36715     uuid(952a5c85-dcec-4c99-8e40-978d88a0cdc1),
36716     helpstring("IAAFDictionary2 Interface"),
36717     pointer_default(unique)
36718 ]
36719 interface IAAFDictionary2 : IUnknown
36720 {
36721 
36722   //***********************************************************
36723   //
36724   // CreateInstance()
36725   //
36736   HRESULT CreateInstance(
36737     [in, ref] aafUID_constref id,
36738     [in, ref] REFIID riid,
36739     [out, iid_is(riid)] IUnknown ** ppvObject);
36740 
36741 
36742   //***********************************************************
36743   //
36744   // CreateMetaInstance()
36745   //
36756   HRESULT CreateMetaInstance(
36757     [in, ref] aafUID_constref id,
36758     [in, ref] REFIID riid,
36759     [out, iid_is(riid)] IUnknown ** ppMetaDefinition);
36760 
36761 
36762 
36763 
36764   //***********************************************************
36765   //
36766   // RegisterClassDef()
36767   //
36790   HRESULT RegisterClassDef (
36791     [in] IAAFClassDef * pClassDef);
36792 
36793 
36794   //***********************************************************
36795   //
36796   // LookupClassDef()
36797   //
36821   HRESULT LookupClassDef (
36822     [in, ref] aafUID_constref  classId,
36823     [out,retval] IAAFClassDef ** ppClassDef);
36824 
36825 
36826   //***********************************************************
36827   //
36828   // GetClassDefs()
36829   //
36847   HRESULT GetClassDefs (
36848     [out,retval] IEnumAAFClassDefs ** ppEnum);
36849 
36850 
36851   //***********************************************************
36852   //
36853   // CountClassDefs()
36854   //
36875   HRESULT CountClassDefs (
36876     [out, retval] aafUInt32 *  pResult);
36877 
36878   //***********************************************************
36879   //
36880   // CreateForwardClassReference()
36881   //
36900   HRESULT CreateForwardClassReference (
36901     [in, ref] aafUID_constref  classId);
36902 
36903   //***********************************************************
36904   //
36905   // HasForwardClassReference()
36906   //
36930   HRESULT HasForwardClassReference (
36931     [in, ref] aafUID_constref  classId,
36932     [out,retval] aafBoolean_t *  pResult);
36933 
36934   //***********************************************************
36935   //
36936   // RegisterTypeDef()
36937   //
36959   HRESULT RegisterTypeDef (
36960     [in] IAAFTypeDef * pTypeDef);
36961 
36962 
36963   //***********************************************************
36964   //
36965   // LookupTypeDef()
36966   //
36990   HRESULT LookupTypeDef (
36991     [in, ref] aafUID_constref  typeId,
36992     [out,retval] IAAFTypeDef ** ppTypeDef);
36993 
36994 
36995   //***********************************************************
36996   //
36997   // GetTypeDefs()
36998   //
37016   HRESULT GetTypeDefs (
37017     [out,retval] IEnumAAFTypeDefs ** ppEnum);
37018 
37019 
37020   //***********************************************************
37021   //
37022   // CountTypeDefs()
37023   //
37044   HRESULT CountTypeDefs (
37045     [out, retval] aafUInt32 *  pResult);
37046 
37047 
37048   //***********************************************************
37049   //
37050   // RegisterOpaqueTypeDef()
37051   //
37073   HRESULT RegisterOpaqueTypeDef (
37074     [in] IAAFTypeDef * pTypeDef);
37075 
37076 
37077   //***********************************************************
37078   //
37079   // LookupOpaqueTypeDef()
37080   //
37104   HRESULT LookupOpaqueTypeDef (
37105     [in, ref] aafUID_constref  typeId,
37106     [out,retval] IAAFTypeDef ** ppTypeDef);
37107 
37108 
37109   //***********************************************************
37110   //
37111   // GetOpaqueTypeDefs()
37112   //
37130   HRESULT GetOpaqueTypeDefs (
37131     [out,retval] IEnumAAFTypeDefs ** ppEnum);
37132 
37133 
37134   //***********************************************************
37135   //
37136   // CountOpaqueTypeDefs()
37137   //
37158   HRESULT CountOpaqueTypeDefs (
37159     [out, retval] aafUInt32 *  pResult);
37160 
37161   //***********************************************************
37162   //
37163   // RegisterKLVDataKey()
37164   //
37188   HRESULT RegisterKLVDataKey (
37189     [in] aafUID_t  pUID,
37190     [in] IAAFTypeDef * pTypeDef);
37191 
37192   //***********************************************************
37193   //
37194   // RegisterDataDef()
37195   //
37200   HRESULT RegisterDataDef (
37201     [in] IAAFDataDef * pDataDef);
37202 
37203 
37204   //***********************************************************
37205   //
37206   // LookupDataDef()
37207   //
37213   HRESULT LookupDataDef (
37214     [in, ref] aafUID_constref  dataDefinitionId,
37215     [out,retval] IAAFDataDef ** ppDataDef);
37216 
37217 
37218   //***********************************************************
37219   //
37220   // GetDataDefs()
37221   //
37226   HRESULT GetDataDefs (
37227     [out,retval] IEnumAAFDataDefs ** ppEnum);
37228 
37229 
37230   //***********************************************************
37231   //
37232   // CountDataDefs()
37233   //
37254   HRESULT CountDataDefs (
37255     [out, retval] aafUInt32 *  pResult);
37256 
37257 
37258   //***********************************************************
37259   //
37260   // RegisterOperationDef()
37261   //
37266   HRESULT RegisterOperationDef (
37267     [in] IAAFOperationDef * pOperationDef);
37268 
37269 
37270   //***********************************************************
37271   //
37272   // LookupOperationDef()
37273   //
37279   HRESULT LookupOperationDef (
37280     [in, ref] aafUID_constref  operationId,
37281     [out,retval] IAAFOperationDef ** ppOperationDef);
37282 
37283 
37284   //***********************************************************
37285   //
37286   // GetOperationDefs()
37287   //
37292   HRESULT GetOperationDefs (
37293     [out,retval] IEnumAAFOperationDefs ** ppEnum);
37294 
37295 
37296   //***********************************************************
37297   //
37298   // CountOperationDefs()
37299   //
37320   HRESULT CountOperationDefs (
37321     [out, retval] aafUInt32 *  pResult);
37322 
37323 
37324   //***********************************************************
37325   //
37326   // RegisterParameterDef()
37327   //
37332   HRESULT RegisterParameterDef (
37333     [in] IAAFParameterDef * pParmDef);
37334 
37335 
37336   //***********************************************************
37337   //
37338   // LookupParameterDef()
37339   //
37345   HRESULT LookupParameterDef (
37346     [in, ref] aafUID_constref  parameterId,
37347     [out,retval] IAAFParameterDef ** ppParmDef);
37348 
37349 
37350   //***********************************************************
37351   //
37352   // GetParameterDefs()
37353   //
37358   HRESULT GetParameterDefs (
37359     [out,retval] IEnumAAFParameterDefs ** ppEnum);
37360 
37361 
37362   //***********************************************************
37363   //
37364   // CountParameterDefs()
37365   //
37386   HRESULT CountParameterDefs (
37387     [out, retval] aafUInt32 *  pResult);
37388 
37389 
37390   //***********************************************************
37391   //
37392   // RegisterCodecDef()
37393   //
37398   HRESULT RegisterCodecDef (
37399     [in] IAAFCodecDef * pParmDef);
37400 
37401 
37402   //***********************************************************
37403   //
37404   // LookupCodecDef()
37405   //
37411   HRESULT LookupCodecDef (
37412     [in, ref] aafUID_constref  parameterId,
37413     [out,retval] IAAFCodecDef ** ppParmDef);
37414 
37415 
37416   //***********************************************************
37417   //
37418   // GetCodecDefs()
37419   //
37424   HRESULT GetCodecDefs (
37425     [out,retval] IEnumAAFCodecDefs ** ppEnum);
37426 
37427 
37428   //***********************************************************
37429   //
37430   // CountCodecDefs()
37431   //
37452   HRESULT CountCodecDefs (
37453     [out, retval] aafUInt32 *  pResult);
37454 
37455 
37456   //***********************************************************
37457   //
37458   // RegisterContainerDef()
37459   //
37464   HRESULT RegisterContainerDef (
37465     [in] IAAFContainerDef * pParmDef);
37466 
37467 
37468   //***********************************************************
37469   //
37470   // LookupContainerDef()
37471   //
37477   HRESULT LookupContainerDef (
37478     [in, ref] aafUID_constref  parameterId,
37479     [out,retval] IAAFContainerDef ** ppParmDef);
37480 
37481 
37482   //***********************************************************
37483   //
37484   // GetContainerDefs()
37485   //
37490   HRESULT GetContainerDefs (
37491     [out,retval] IEnumAAFContainerDefs ** ppEnum);
37492 
37493 
37494   //***********************************************************
37495   //
37496   // CountContainerDefs()
37497   //
37518   HRESULT CountContainerDefs (
37519     [out, retval] aafUInt32 *  pResult);
37520 
37521 
37522   //***********************************************************
37523   //
37524   // RegisterInterpolationDef()
37525   //
37530   HRESULT RegisterInterpolationDef (
37531     [in] IAAFInterpolationDef * pInterpolationDef);
37532 
37533 
37534   //***********************************************************
37535   //
37536   // LookupInterpolationDef()
37537   //
37543   HRESULT LookupInterpolationDef (
37544     [in, ref] aafUID_constref  parameterId,
37545     [out,retval] IAAFInterpolationDef ** ppInterpolationDef);
37546 
37547 
37548   //***********************************************************
37549   //
37550   // GetInterpolationDefs()
37551   //
37556   HRESULT GetInterpolationDefs (
37557     [out,retval] IEnumAAFInterpolationDefs ** ppEnum);
37558 
37559 
37560   //***********************************************************
37561   //
37562   // CountInterpolationDefs()
37563   //
37584   HRESULT CountInterpolationDefs (
37585     [out, retval] aafUInt32 *  pResult);
37586 
37587 
37588   //***********************************************************
37589   //
37590   // RegisterPluginDef()
37591   //
37596   HRESULT RegisterPluginDef (
37597     [in] IAAFPluginDef * pPlugDef);
37598 
37599 
37600   //***********************************************************
37601   //
37602   // LookupPluginDef()
37603   //
37609   HRESULT LookupPluginDef (
37610     [in, ref] aafUID_constref  parameterId,
37611     [out,retval] IAAFPluginDef ** ppPlugDef);
37612 
37613 
37614   //***********************************************************
37615   //
37616   // GetPluginDefs()
37617   //
37622   HRESULT GetPluginDefs (
37623     [out,retval] IEnumAAFPluginDefs ** ppEnum);
37624 
37625 
37626   //***********************************************************
37627   //
37628   // CountPluginDefs()
37629   //
37650   HRESULT CountPluginDefs (
37651     [out, retval] aafUInt32 *  pResult);
37652 
37653 
37654   //***********************************************************
37655   //
37656   // RegisterKLVDataDef()
37657   //
37662   HRESULT RegisterKLVDataDef (
37663     [in] IAAFKLVDataDefinition * pDef);
37664 
37665 
37666   //***********************************************************
37667   //
37668   // LookupKLVDataDef()
37669   //
37675   HRESULT LookupKLVDataDef (
37676     [in, ref] aafUID_constref  defId,
37677     [out,retval] IAAFKLVDataDefinition ** ppDef);
37678 
37679 
37680   //***********************************************************
37681   //
37682   // GetKLVDataDefs()
37683   //
37688   HRESULT GetKLVDataDefs (
37689     [out,retval] IEnumAAFKLVDataDefs ** ppEnum);
37690 
37691 
37692   //***********************************************************
37693   //
37694   // CountKLVDataDefs()
37695   //
37716   HRESULT CountKLVDataDefs (
37717     [out, retval] aafUInt32 *  pResult);
37718 
37719 
37720   //***********************************************************
37721   //
37722   // RegisterTaggedValueDef()
37723   //
37728   HRESULT RegisterTaggedValueDef (
37729     [in] IAAFTaggedValueDefinition * pDef);
37730 
37731 
37732   //***********************************************************
37733   //
37734   // LookupTaggedValueDef()
37735   //
37741   HRESULT LookupTaggedValueDef (
37742     [in, ref] aafUID_constref  defId,
37743     [out,retval] IAAFTaggedValueDefinition ** ppDef);
37744 
37745 
37746   //***********************************************************
37747   //
37748   // GetTaggedValueDefs()
37749   //
37754   HRESULT GetTaggedValueDefs (
37755     [out,retval] IEnumAAFTaggedValueDefs ** ppEnum);
37756 
37757 
37758   //***********************************************************
37759   //
37760   // CountTaggedValueDefs()
37761   //
37782   HRESULT CountTaggedValueDefs (
37783     [out, retval] aafUInt32 *  pResult);
37784 
37785   //***********************************************************
37786   //
37787   // LookupAuxiliaryDataDef()
37788   //
37806   HRESULT LookupAuxiliaryDataDef (
37807     [out,retval] IAAFDataDef ** ppDataDef);
37808 
37809   //***********************************************************
37810   //
37811   // LookupDescriptiveMetadataDataDef()
37812   //
37830   HRESULT LookupDescriptiveMetadataDataDef (
37831     [out,retval] IAAFDataDef ** ppDataDef);
37832 
37833 
37834   //***********************************************************
37835   //
37836   // LookupEdgecodeDataDef()
37837   //
37855   HRESULT LookupEdgecodeDataDef (
37856     [out,retval] IAAFDataDef ** ppDataDef);
37857 
37858 
37859   //***********************************************************
37860   //
37861   // LookupLegacyPictureDataDef()
37862   //
37880   HRESULT LookupLegacyPictureDataDef (
37881     [out,retval] IAAFDataDef ** ppDataDef);
37882 
37883 
37884   //***********************************************************
37885   //
37886   // LookupLegacySoundDataDef()
37887   //
37905   HRESULT LookupLegacySoundDataDef (
37906     [out,retval] IAAFDataDef ** ppDataDef);
37907 
37908 
37909   //***********************************************************
37910   //
37911   // LookupLegacyTimecodeDataDef()
37912   //
37930   HRESULT LookupLegacyTimecodeDataDef (
37931     [out,retval] IAAFDataDef ** ppDataDef);
37932 
37933 
37934   //***********************************************************
37935   //
37936   // LookupMatteDataDef()
37937   //
37955   HRESULT LookupMatteDataDef (
37956     [out,retval] IAAFDataDef ** ppDataDef);
37957 
37958 
37959   //***********************************************************
37960   //
37961   // LookupPictureDataDef()
37962   //
37980   HRESULT LookupPictureDataDef (
37981     [out,retval] IAAFDataDef ** ppDataDef);
37982 
37983 
37984   //***********************************************************
37985   //
37986   // LookupPictureWithMatteDataDef()
37987   //
38005   HRESULT LookupPictureWithMatteDataDef (
38006     [out,retval] IAAFDataDef ** ppDataDef);
38007 
38008 
38009   //***********************************************************
38010   //
38011   // LookupSoundDataDef()
38012   //
38030   HRESULT LookupSoundDataDef (
38031     [out,retval] IAAFDataDef ** ppDataDef);
38032 
38033 
38034   //***********************************************************
38035   //
38036   // LookupTimecodeDataDef()
38037   //
38055   HRESULT LookupTimecodeDataDef (
38056     [out,retval] IAAFDataDef ** ppDataDef);
38057 
38058 
38059 }
38060 
38061 
38062 
38063 // ************************
38064 //
38065 // Interface IAAFDigitalImageDescriptor2
38066 //
38067 // ************************
38159 [
38160     object,
38161     uuid(F7B9D3BE-773E-4910-9888-C9C4D71561CC),
38162     helpstring("IAAFDigitalImageDescriptor2 Interface"),
38163     pointer_default(unique)
38164 ]
38165 interface IAAFDigitalImageDescriptor2 : IUnknown
38166 {
38167 
38168 
38169   //***********************************************************
38170   //
38171   // SetCompression()
38172   //
38188   HRESULT SetCompression (
38189     [in] aafUID_constref  compression);
38190 
38191 
38192   //***********************************************************
38193   //
38194   // GetCompression()
38195   //
38215   HRESULT GetCompression (
38216     [out] aafUID_t *  pCompression);
38217 
38218 
38219   //***********************************************************
38220   //
38221   // SetStoredView()
38222   //
38238   HRESULT SetStoredView (
38239     [in] aafUInt32  StoredHeight,
38240     [in] aafUInt32  StoredWidth);
38241 
38242 
38243   //***********************************************************
38244   //
38245   // GetStoredView()
38246   //
38268   HRESULT GetStoredView (
38269     [out] aafUInt32 *  pStoredHeight,
38270     [out] aafUInt32 *  pStoredWidth);
38271 
38272 
38273   //***********************************************************
38274   //
38275   // SetSampledView()
38276   //
38310   HRESULT SetSampledView (
38311     [in] aafUInt32  SampledHeight,
38312     [in] aafUInt32  SampledWidth,
38313     [in] aafInt32  SampledXOffset,
38314     [in] aafInt32  SampledYOffset);
38315 
38316 
38317   //***********************************************************
38318   //
38319   // GetSampledView()
38320   //
38350   HRESULT GetSampledView (
38351     [out] aafUInt32 *  pSampledHeight,
38352     [out] aafUInt32 *  pSampledWidth,
38353     [out] aafInt32 *  pSampledXOffset,
38354     [out] aafInt32 *  pSampledYOffset);
38355 
38356 
38357   //***********************************************************
38358   //
38359   // SetDisplayView()
38360   //
38398   HRESULT SetDisplayView (
38399     [in] aafUInt32  DisplayHeight,
38400     [in] aafUInt32  DisplayWidth,
38401     [in] aafInt32  DisplayXOffset,
38402     [in] aafInt32  DisplayYOffset);
38403 
38404 
38405   //***********************************************************
38406   //
38407   // GetDisplayView()
38408   //
38438   HRESULT GetDisplayView (
38439     [out] aafUInt32 *  pDisplayHeight,
38440     [out] aafUInt32 *  pDisplayWidth,
38441     [out] aafInt32 *  pDisplayXOffset,
38442     [out] aafInt32 *  pDisplayYOffset);
38443 
38444 
38445   //***********************************************************
38446   //
38447   // SetFrameLayout()
38448   //
38482   HRESULT SetFrameLayout (
38483     [in] aafFrameLayout_t  FrameLayout);
38484 
38485 
38486   //***********************************************************
38487   //
38488   // GetFrameLayout()
38489   //
38522   HRESULT GetFrameLayout (
38523     [out] aafFrameLayout_t *  pFrameLayout);
38524 
38525 
38526   //***********************************************************
38527   //
38528   // SetVideoLineMap()
38529   //
38553   HRESULT SetVideoLineMap (
38554     [in] aafUInt32  numberElements,
38555     [in, size_is(numberElements)] aafInt32 *  pVideoLineMap);
38556 
38557 
38558   //***********************************************************
38559   //
38560   // GetVideoLineMap()
38561   //
38593   HRESULT GetVideoLineMap (
38594     [in] aafUInt32  numberElements,
38595     [out, size_is(numberElements)] aafInt32 *  pVideoLineMap);
38596 
38597 
38598   //***********************************************************
38599   //
38600   // GetVideoLineMapSize()
38601   //
38619   HRESULT GetVideoLineMapSize (
38620     [out] aafUInt32 *  pNumberElements);
38621 
38622 
38623   //***********************************************************
38624   //
38625   // SetImageAspectRatio()
38626   //
38644   HRESULT SetImageAspectRatio (
38645     [in] aafRational_t  ImageAspectRatio);
38646 
38647 
38648   //***********************************************************
38649   //
38650   // GetImageAspectRatio()
38651   //
38671   HRESULT GetImageAspectRatio (
38672     [out] aafRational_t *  pImageAspectRatio);
38673 
38674 
38675   //***********************************************************
38676   //
38677   // SetAlphaTransparency()
38678   //
38703   HRESULT SetAlphaTransparency (
38704     [in] aafAlphaTransparency_t  AlphaTransparency);
38705 
38706 
38707   //***********************************************************
38708   //
38709   // GetAlphaTransparency()
38710   //
38732   HRESULT GetAlphaTransparency (
38733     [out] aafAlphaTransparency_t *  pAlphaTransparency);
38734 
38735 
38736 
38737   //***********************************************************
38738   //
38739   // SetImageAlignmentFactor()
38740   //
38760   HRESULT SetImageAlignmentFactor (
38761     [in] aafUInt32  ImageAlignmentFactor);
38762 
38763 
38764   //***********************************************************
38765   //
38766   // GetImageAlignmentFactor()
38767   //
38790   HRESULT GetImageAlignmentFactor (
38791     [out] aafUInt32 *  pImageAlignmentFactor);
38792 
38793 
38794   //***********************************************************
38795   //
38796   // SetTransferCharacteristic()
38797   //
38813   HRESULT SetTransferCharacteristic (
38814     [in] aafUID_constref  transferCharacteristic);
38815 
38816 
38817   //***********************************************************
38818   //
38819   // GetTransferCharacteristic()
38820   //
38841   HRESULT GetTransferCharacteristic (
38842     [out] aafUID_t *  pTransferCharacteristic);
38843 
38844   //***********************************************************
38845   //
38846   // SetCodingEquations()
38847   //
38863   HRESULT SetCodingEquations (
38864     [in] aafUID_constref  codingEquations);
38865 
38866 
38867   //***********************************************************
38868   //
38869   // GetCodingEquations()
38870   //
38891   HRESULT GetCodingEquations (
38892     [out] aafUID_t *  pCodingEquations);
38893 
38894   //***********************************************************
38895   //
38896   // SetColorPrimaries()
38897   //
38913   HRESULT SetColorPrimaries (
38914     [in] aafUID_constref  colorPrimaries);
38915 
38916 
38917   //***********************************************************
38918   //
38919   // GetColorPrimaries()
38920   //
38941   HRESULT GetColorPrimaries (
38942     [out] aafUID_t *  pColorPrimaries);
38943 
38944   //***********************************************************
38945   //
38946   // SetFieldStartOffset()
38947   //
38962   HRESULT SetFieldStartOffset (
38963     [in] aafUInt32  fieldStartOffset);
38964 
38965 
38966   //***********************************************************
38967   //
38968   // GetFieldStartOffset()
38969   //
38990   HRESULT GetFieldStartOffset (
38991     [out] aafUInt32 *  pFieldStartOffset);
38992 
38993   //***********************************************************
38994   //
38995   // SetFieldEndOffset()
38996   //
39011   HRESULT SetFieldEndOffset (
39012     [in] aafUInt32  fieldEndOffset);
39013 
39014 
39015   //***********************************************************
39016   //
39017   // GetFieldEndOffset()
39018   //
39039   HRESULT GetFieldEndOffset (
39040     [out] aafUInt32 *  pFieldEndOffset);
39041 
39042   //***********************************************************
39043   //
39044   // SetFieldDominance()
39045   //
39063   HRESULT SetFieldDominance (
39064     [in] aafFieldNumber_t  fieldDominance);
39065 
39066 
39067   //***********************************************************
39068   //
39069   // GetFieldDominance()
39070   //
39091   HRESULT GetFieldDominance (
39092     [out] aafFieldNumber_t *  pFieldDominance);
39093 
39094   //***********************************************************
39095   //
39096   // SetDisplayF2Offset()
39097   //
39115   HRESULT SetDisplayF2Offset (
39116     [in] aafInt32  displayF2Offset);
39117 
39118 
39119   //***********************************************************
39120   //
39121   // GetDisplayF2Offset()
39122   //
39143   HRESULT GetDisplayF2Offset (
39144     [out] aafInt32 *  pDisplayF2Offset);
39145 
39146   //***********************************************************
39147   //
39148   // SetStoredF2Offset()
39149   //
39167   HRESULT SetStoredF2Offset (
39168     [in] aafInt32  storedF2Offset);
39169 
39170 
39171   //***********************************************************
39172   //
39173   // GetStoredF2Offset()
39174   //
39195   HRESULT GetStoredF2Offset (
39196     [out] aafInt32 *  pStoredF2Offset);
39197 
39198   //***********************************************************
39199   //
39200   // SetActiveFormatDescriptor()
39201   //
39216   HRESULT SetActiveFormatDescriptor (
39217     [in] aafUInt8  activeFormatDescriptor);
39218 
39219 
39220   //***********************************************************
39221   //
39222   // GetActiveFormatDescriptor()
39223   //
39244   HRESULT GetActiveFormatDescriptor (
39245     [out] aafUInt8 *  pActiveFormatDescriptor);
39246 
39247   //***********************************************************
39248   //
39249   // SetSignalStandard()
39250   //
39268   HRESULT SetSignalStandard (
39269     [in] aafSignalStandard_t  signalStandard);
39270 
39271 
39272   //***********************************************************
39273   //
39274   // GetSignalStandard()
39275   //
39296   HRESULT GetSignalStandard (
39297     [out] aafSignalStandard_t *  pSignalStandard);
39298 
39299 }
39300 
39301 
39302 
39303 // ************************
39304 //
39305 // Interface IAAFEndian
39306 //
39307 // ************************
39334 [
39335     object,
39336     uuid(6BACC0C1-6091-11D2-841B-00600832ACB8),
39337     helpstring("IAAFEndian Interface"),
39338     pointer_default(unique)
39339 ]
39340 interface IAAFEndian : IUnknown
39341 {
39342 
39343   //***********************************************************
39344   //
39345   // GetStoredByteOrder()
39346   //
39369   HRESULT GetStoredByteOrder (
39370     [out] eAAFByteOrder_t *  pOrder);
39371 
39372 
39373   //***********************************************************
39374   //
39375   // GetNativeByteOrder()
39376   //
39397   HRESULT GetNativeByteOrder (
39398     [out] eAAFByteOrder_t *  pOrder);
39399 }
39400 
39401 
39402 
39403 // ************************
39404 //
39405 // Interface IAAFEssenceDataEx
39406 //
39407 // ************************
39408 
39432 [
39433     object,
39434     uuid(d919d41f-979b-4aba-9785-8ec319dba448),
39435     helpstring("IAAFEssenceDataEx Interface"),
39436     pointer_default(unique)
39437 ]
39438 interface IAAFEssenceDataEx : IUnknown
39439 {
39440 
39441 
39442   //***********************************************************
39443   //
39444   // Initialize()
39445   //
39467   HRESULT Initialize (
39468     [in] IAAFSourceMob * pFileMob);
39469 
39470   //***********************************************************
39471   //
39472   // Write()
39473   //
39480   HRESULT Write (
39481     [in] aafUInt32  bytes,
39482     [out, size_is(bytes)] aafDataBuffer_t  buffer,
39483     [out,ref] aafUInt32 *  bytesWritten);
39484 
39485 
39486   //***********************************************************
39487   //
39488   // Read()
39489   //
39496   HRESULT Read (
39497     [in] aafUInt32  bytes,
39498     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
39499     [out,ref] aafUInt32 *  bytesRead);
39500 
39501 
39502   //***********************************************************
39503   //
39504   // SetPosition()
39505   //
39510   HRESULT SetPosition (
39511     [in] aafPosition_t  offset);
39512 
39513 
39514   //***********************************************************
39515   //
39516   // GetPosition()
39517   //
39522   HRESULT GetPosition (
39523     [out] aafPosition_t*  pOffset);
39524 
39525 
39526   //***********************************************************
39527   //
39528   // GetSize()
39529   //
39534   HRESULT GetSize (
39535     [out] aafLength_t *  pSize );
39536 
39537   //***********************************************************
39538   //
39539   // WriteSampleIndex()
39540   //
39547   HRESULT WriteSampleIndex (
39548     [in] aafUInt32  bytes,
39549     [out, size_is(bytes)] aafDataBuffer_t  buffer,
39550     [out,ref] aafUInt32 *  bytesWritten);
39551 
39552 
39553   //***********************************************************
39554   //
39555   // ReadSampleIndex()
39556   //
39563   HRESULT ReadSampleIndex (
39564     [in] aafUInt32  bytes,
39565     [out, size_is(bytes), length_is(*bytesRead)] aafDataBuffer_t  buffer,
39566     [out,ref] aafUInt32 *  bytesRead);
39567 
39568 
39569   //***********************************************************
39570   //
39571   // SetSampleIndexPosition()
39572   //
39577   HRESULT SetSampleIndexPosition (
39578     [in] aafPosition_t  offset);
39579 
39580 
39581   //***********************************************************
39582   //
39583   // GetSampleIndexPosition()
39584   //
39589   HRESULT GetSampleIndexPosition (
39590     [out] aafPosition_t*  pOffset);
39591 
39592 
39593   //***********************************************************
39594   //
39595   // GetSampleIndexSize()
39596   //
39601   HRESULT GetSampleIndexSize (
39602     [out] aafLength_t *  pSize );
39603 
39604 
39605   //***********************************************************
39606   //
39607   // SetFileMob()
39608   //
39630   HRESULT SetFileMob (
39631     [in] IAAFSourceMob * pFileMob);
39632 
39633 
39634   //***********************************************************
39635   //
39636   // GetFileMob()
39637   //
39660   HRESULT GetFileMob (
39661     [in] IAAFSourceMob ** ppFileMob);
39662 
39663 
39664   //***********************************************************
39665   //
39666   // GetFileMobID()
39667   //
39674   HRESULT GetFileMobID (
39675     [out] aafMobID_t *  pFileMobID);
39676 
39677 }
39678 
39679 
39680 
39681 // ************************
39682 //
39683 // Interface IAAFEssenceMultiAccess
39684 //
39685 // ************************
39686 
39707 [
39708     object,
39709     uuid(D815E2B4-2425-11d3-80AD-006008143E6F),
39710     helpstring("IAAFEssenceMultiAccess Interface"),
39711     pointer_default(unique)
39712 ]
39713 interface IAAFEssenceMultiAccess : IUnknown
39714 {
39715 
39716   //***********************************************************
39717   //
39718   // WriteMultiSamples()
39719   //
39743   HRESULT WriteMultiSamples (
39744     [in] aafUInt16  arrayElemCount,
39745     [in,size_is(arrayElemCount)] aafmMultiXfer_t *  xferArray,
39746     [out,size_is(arrayElemCount)] aafmMultiResult_t *  resultArray);
39747 
39748 
39749   //***********************************************************
39750   //
39751   // ReadMultiSamples()
39752   //
39783   HRESULT ReadMultiSamples (
39784     [in] aafUInt16  elemCount,
39785     [in, size_is(elemCount)] aafmMultiXfer_t *  xferArray,
39786     [out, size_is(elemCount)] aafmMultiResult_t *  resultArray);
39787 }
39788 
39789 
39790 
39791 // ************************
39792 //
39793 // Interface IAAFHeader2
39794 //
39795 // ************************
39815 [
39816     object,
39817     uuid(463C0CA0-926B-4BE4-84C1-4455FF5628EE),
39818     helpstring("IAAFHeader2 Interface"),
39819     pointer_default(unique)
39820 ]
39821 interface IAAFHeader2 : IUnknown
39822 {
39823 
39824   //***********************************************************
39825   //
39826   // LookupMob()
39827   //
39853   HRESULT LookupMob (
39854     [in, ref] aafMobID_constref  mobID,
39855     [out,retval] IAAFMob ** ppMob);
39856 
39857 
39858   //***********************************************************
39859   //
39860   // CountMobs()
39861   //
39883   HRESULT CountMobs (
39884     [in] aafMobKind_t  mobKind,
39885     [out, retval] aafNumSlots_t *  pResult);
39886 
39887 
39888   //***********************************************************
39889   //
39890   // GetMobs()
39891   //
39917   HRESULT GetMobs (
39918     [in] aafSearchCrit_t *  pSearchCriteria,
39919     [out, retval] IEnumAAFMobs ** ppEnum);
39920 
39921 
39922   //***********************************************************
39923   //
39924   // AddMob()
39925   //
39950   HRESULT AddMob (
39951     [in] IAAFMob * pMob);
39952 
39953 
39954   //***********************************************************
39955   //
39956   // RemoveMob()
39957   //
39981   HRESULT RemoveMob (
39982     [in] IAAFMob * pMob);
39983 
39984 
39985   //***********************************************************
39986   //
39987   // CountEssenceData()
39988   //
40010   HRESULT CountEssenceData (
40011     [out, retval] aafUInt32 *  pResult);
40012 
40013 
40014   //***********************************************************
40015   //
40016   // IsEssenceDataPresent()
40017   //
40038   HRESULT IsEssenceDataPresent (
40039     [in, ref] aafMobID_constref  fileMobID,
40040     [in] aafFileFormat_t  fmt,
40041     [out,retval] aafBoolean_t *  pResult);
40042 
40043 
40044   //***********************************************************
40045   //
40046   // EnumEssenceData()
40047   //
40070   HRESULT EnumEssenceData (
40071     [out,retval] IEnumAAFEssenceData ** ppEnum);
40072 
40073 
40074   //***********************************************************
40075   //
40076   // AddEssenceData()
40077   //
40103   HRESULT AddEssenceData (
40104     [in] IAAFEssenceData * pEssenceData);
40105 
40106   //***********************************************************
40107   //
40108   // RemoveEssenceData()
40109   //
40133   HRESULT RemoveEssenceData (
40134     [in] IAAFEssenceData * pEssenceData);
40135 
40136   //***********************************************************
40137   //
40138   // LookupEssenceData()
40139   //
40165   HRESULT LookupEssenceData (
40166     [in, ref] aafMobID_constref  mobID,
40167     [out,retval] IAAFEssenceData ** ppEssenceData);
40168 
40169   //***********************************************************
40170   //
40171   // GetDictionary()
40172   //
40195   HRESULT GetDictionary (
40196     [out, retval] IAAFDictionary ** ppDictionary);
40197 
40198 
40199   //***********************************************************
40200   //
40201   // GetLastIdentification()
40202   //
40224   HRESULT GetLastIdentification (
40225     [out,retval] IAAFIdentification ** ppIdentification);
40226 
40227 
40228   //***********************************************************
40229   //
40230   // LookupIdentification()
40231   //
40258   HRESULT LookupIdentification (
40259     [in, ref] aafUID_constref  generation,
40260     [out,retval] IAAFIdentification ** ppIdentification);
40261 
40262 
40263   //***********************************************************
40264   //
40265   // CountIdentifications()
40266   //
40287   HRESULT CountIdentifications (
40288     [out, retval] aafUInt32 *  pResult);
40289 
40290 
40291   //***********************************************************
40292   //
40293   // GetIdentifications()
40294   //
40318   HRESULT GetIdentifications (
40319     [out,retval] IEnumAAFIdentifications ** ppEnum);
40320 
40321 
40322   //***********************************************************
40323   //
40324   // AppendIdentification()
40325   //
40348   HRESULT AppendIdentification (
40349     [in] IAAFIdentification * pIdent);
40350 
40351 
40352   //***********************************************************
40353   //
40354   // GetIdentificationAt()
40355   //
40379   HRESULT GetIdentificationAt (
40380     [in] aafUInt32  index,
40381     [out, retval] IAAFIdentification ** ppIdentification);
40382 
40383 
40384   //***********************************************************
40385   //
40386   // GetRefImplVersion()
40387   //
40408   HRESULT GetRefImplVersion (
40409     [out, retval] aafProductVersion_t *  pVersion);
40410 
40411 
40412   //***********************************************************
40413   //
40414   // GetFileRevision()
40415   //
40437   HRESULT GetFileRevision (
40438     [out, retval] aafVersionType_t *  pRevision);
40439 
40440 
40441   //***********************************************************
40442   //
40443   // GetLastModified()
40444   //
40466   HRESULT GetLastModified (
40467     [out, retval] aafTimeStamp_t *  pTimeStamp);
40468 
40469 
40470   //***********************************************************
40471   //
40472   // GetContentStorage()
40473   //
40498   HRESULT GetContentStorage (
40499     [out] IAAFContentStorage ** ppStorage);
40500 
40501 
40502   //***********************************************************
40503   //
40504   // GetPrimaryMob()
40505   //
40530   HRESULT GetPrimaryMob (
40531     [out, retval] IAAFMob ** pPrimaryMob);
40532 
40533 
40534   //***********************************************************
40535   //
40536   // SetPrimaryMob()
40537   //
40555   HRESULT SetPrimaryMob (
40556     [in] IAAFMob * pPrimaryMob);
40557 
40558 
40559   //***********************************************************
40560   //
40561   // GetOperationalPattern()
40562   //
40587   HRESULT GetOperationalPattern (
40588     [out] aafUID_t *  pOperationalPatternID);
40589 
40590 
40591   //***********************************************************
40592   //
40593   // SetOperationalPattern()
40594   //
40609   HRESULT SetOperationalPattern (
40610     [in] aafUID_constref  operationalPatternID);
40611 
40612 
40613   //***********************************************************
40614   //
40615   // UpdateEssenceContainers()
40616   //
40632   HRESULT UpdateEssenceContainers ();
40633 
40634 
40635   //***********************************************************
40636   //
40637   // CountEssenceContainers()
40638   //
40662   HRESULT CountEssenceContainers (
40663     [out, retval] aafUInt32*  pCount);
40664 
40665 
40666   //***********************************************************
40667   //
40668   // GetEssenceContainers()
40669   //
40702   HRESULT GetEssenceContainers (
40703     [in] aafUInt32  maxEssenceContainersCount,
40704     [out, size_is(maxEssenceContainersCount)] aafUID_t *  pEssenceContainerIDs);
40705 
40706 
40707   //***********************************************************
40708   //
40709   // IsEssenceContainerPresent()
40710   //
40734   HRESULT IsEssenceContainerPresent (
40735     [in, ref] aafUID_constref  essenceContainerID,
40736     [out,retval] aafBoolean_t*  pIsPresent);
40737 
40738 
40739   //***********************************************************
40740   //
40741   // CountDescriptiveSchemes()
40742   //
40766   HRESULT CountDescriptiveSchemes (
40767     [out, retval] aafUInt32*  pCount);
40768 
40769 
40770   //***********************************************************
40771   //
40772   // GetDescriptiveSchemes()
40773   //
40806   HRESULT GetDescriptiveSchemes (
40807     [in] aafUInt32  maxDescriptiveSchemesCount,
40808     [out, size_is(maxDescriptiveSchemesCount)] aafUID_t *  pDescriptiveSchemeIDs);
40809 
40810 
40811   //***********************************************************
40812   //
40813   // IsDescriptiveSchemePresent()
40814   //
40838   HRESULT IsDescriptiveSchemePresent (
40839     [in, ref] aafUID_constref  descriptiveSchemeID,
40840     [out,retval] aafBoolean_t*  pIsPresent);
40841 
40842 
40843   //***********************************************************
40844   //
40845   // AddDescriptiveScheme()
40846   //
40868   HRESULT AddDescriptiveScheme (
40869     [in] aafUID_constref  descriptiveSchemeID);
40870 
40871 
40872   //***********************************************************
40873   //
40874   // RemoveDescriptiveScheme()
40875   //
40900   HRESULT RemoveDescriptiveScheme (
40901     [in] aafUID_constref  descriptiveSchemeID);
40902 
40903 }
40904 
40905 
40906 
40907 // ************************
40908 //
40909 // Interface IAAFMasterMob2
40910 //
40911 // ************************
40931 [
40932     object,
40933     uuid(afcffd2c-279b-466f-a496-55cbdcc17531),
40934     helpstring("IAAFMasterMob2 Interface"),
40935     pointer_default(unique)
40936 ]
40937 interface IAAFMasterMob2 : IUnknown
40938 {
40939 
40940 
40941 
40942   //***********************************************************
40943   //
40944   // Initialize()
40945   //
40963   HRESULT Initialize ();
40964 
40965 
40966   //***********************************************************
40967   //
40968   // AddMasterSlot()
40969   //
41019   HRESULT AddMasterSlot (
41020     [in] IAAFDataDef * pDataDef,
41021     [in] aafSlotID_t  sourceSlotID,
41022     [in] IAAFSourceMob * pSourceMob,
41023     [in] aafSlotID_t  masterSlotID,
41024     [in, string] aafCharacter_constptr  pSlotName);
41025 
41026 
41027   //***********************************************************
41028   //
41029   // GetTapeName()
41030   //
41076   HRESULT GetTapeName (
41077     [in] aafUInt32  masterSlotID,
41078     [out, size_is(bufSize), string] aafCharacter *  pTapeName,
41079     [in] aafUInt32  bufSize);
41080 
41081 
41082   //***********************************************************
41083   //
41084   // GetTapeNameBufLen()
41085   //
41118   HRESULT GetTapeNameBufLen (
41119     [in] aafUInt32  masterSlotID,
41120     [out] aafUInt32 *  pLen);
41121 
41122 
41123   //***********************************************************
41124   //
41125   // GetNumRepresentations()
41126   //
41160   HRESULT GetNumRepresentations (
41161     [in] aafSlotID_t  slotID,
41162     [out, retval] aafNumSlots_t *  pNumReps);
41163 
41164 
41165   //***********************************************************
41166   //
41167   // GetRepresentation()
41168   //
41210   HRESULT GetRepresentation (
41211     [in] aafSlotID_t  slotID,
41212     [in] aafUInt32  index,
41213     [out] IAAFSegment ** ppSourceClip);
41214 
41215 
41216   //***********************************************************
41217   //
41218   // GetCriteriaSegment()
41219   //
41268   HRESULT GetCriteriaSegment (
41269     [in] aafSlotID_t  slotID,
41270     [in] aafMediaCriteria_t *  pCriteria,
41271     [out] IAAFSegment ** ppSegment);
41272 
41273 
41274   //***********************************************************
41275   //
41276   // AppendPhysSourceRef()
41277   //
41322   HRESULT AppendPhysSourceRef (
41323     [in] aafRational_t  editrate,
41324     [in] aafSlotID_t  aMobSlot,
41325     [in] IAAFDataDef * pEssenceKind,
41326     [in] aafSourceRef_t  ref,
41327     [in] aafLength_t  srcRefLength);
41328 
41329 
41330   //***********************************************************
41331   //
41332   // NewPhysSourceRef()
41333   //
41378   HRESULT NewPhysSourceRef (
41379     [in] aafRational_t  editrate,
41380     [in] aafSlotID_t  aMobSlot,
41381     [in] IAAFDataDef * pEssenceKind,
41382     [in] aafSourceRef_t  ref,
41383     [in] aafLength_t  srcRefLength);
41384 
41385 
41386   //***********************************************************
41387   //
41388   // CreateEssence()
41389   //
41415   HRESULT CreateEssence (
41416     [in] aafSlotID_t  masterSlotID,
41417     [in] IAAFDataDef * pMediaKind,
41418     [in, ref] aafUID_constref  codecID,
41419     [in] aafRational_t  editRate,
41420     [in] aafRational_t  samplerate,
41421     [in] aafCompressEnable_t  Enable,
41422     [in] IAAFLocator * destination,
41423     [in, ref] aafUID_constref  fileFormat,
41424     [out] IAAFEssenceAccess ** access);
41425 
41426 
41427   //***********************************************************
41428   //
41429   // CreateMultiEssence()
41430   //
41446   HRESULT CreateMultiEssence (
41447     [in, ref] aafUID_constref  codecID,
41448     [in] aafUInt16  arrayElemCount,
41449     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
41450     [in] aafCompressEnable_t  Enable,
41451     [in] IAAFLocator * destination,
41452     [in, ref] aafUID_constref  fileFormat,
41453     [out] IAAFEssenceMultiAccess**  access);
41454 
41455 
41456   //***********************************************************
41457   //
41458   // OpenEssence()
41459   //
41480   HRESULT OpenEssence (
41481     [in] aafSlotID_t  slotID,
41482     [in] aafMediaCriteria_t*  mediaCrit,
41483     [in] aafMediaOpenMode_t  openMode,
41484     [in] aafCompressEnable_t  compEnable,
41485     [out] IAAFEssenceAccess ** access);
41486         
41487 
41488   //***********************************************************
41489   //
41490   // OpenMultiEssence()
41491   //
41506   HRESULT OpenMultiEssence (
41507     [in] aafSlotID_t  slotID,
41508     [in] aafMediaCriteria_t*  mediaCrit,
41509     [in] aafMediaOpenMode_t  openMode,
41510     [in] aafCompressEnable_t  compEnable,
41511     [out] IAAFEssenceMultiAccess**  access);
41512 
41513 
41514   //***********************************************************
41515   //
41516   // CountChannels()
41517   //
41534   HRESULT CountChannels (
41535     [in] aafSlotID_t  slotID,
41536     [in] aafMediaCriteria_t*  mediaCrit,
41537     [in] IAAFDataDef * pMediaKind,
41538     [out] aafUInt16*  numCh);
41539 
41540 
41541 
41542 
41543   //***********************************************************
41544   //
41545   // ExtendEssence()
41546   //
41564   HRESULT ExtendEssence (
41565     [in] aafSlotID_t  masterSlotID,
41566     [in] IAAFDataDef * pMediaKind,
41567     [in, ref] aafUID_constref  codecID,
41568     [in] aafRational_t  editRate,
41569     [in] aafRational_t  samplerate,
41570     [in] aafCompressEnable_t  Enable,
41571     [in] IAAFLocator * destination,
41572     [in, ref] aafUID_constref  fileFormat,
41573     [out] IAAFEssenceAccess ** access);
41574 
41575 
41576   //***********************************************************
41577   //
41578   // ExtendMultiEssence()
41579   //
41595   HRESULT ExtendMultiEssence (
41596     [in, ref] aafUID_constref  codecID,
41597     [in] aafUInt16  arrayElemCount,
41598     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
41599     [in] aafCompressEnable_t  Enable,
41600     [in] IAAFLocator * destination,
41601     [in, ref] aafUID_constref  fileFormat,
41602     [out] IAAFEssenceMultiAccess**  access);
41603 
41604 
41605   //***********************************************************
41606   //
41607   // CreateStaticEssence()
41608   //
41619   HRESULT CreateStaticEssence (
41620     [in] aafSlotID_t  masterSlotID,
41621     [in] IAAFDataDef * pMediaKind,
41622     [in, ref] aafUID_constref  codecID,
41623     [in] aafCompressEnable_t  Enable,
41624     [in] IAAFLocator * destination,
41625     [in, ref] aafUID_constref  fileFormat,
41626     [out] IAAFEssenceAccess ** access);
41634 
41635 
41636   //***********************************************************
41637   //
41638   // CreateEventEssence()
41639   //
41652   HRESULT CreateEventEssence (
41653     [in] aafSlotID_t  masterSlotID,
41654     [in] IAAFDataDef * pMediaKind,
41655     [in, ref] aafUID_constref  codecID,
41656     [in] aafRational_t  editRate,
41657     [in] aafRational_t  samplerate,
41658     [in] aafCompressEnable_t  Enable,
41659     [in] IAAFLocator * destination,
41660     [in, ref] aafUID_constref  fileFormat,
41661     [out] IAAFEssenceAccess ** access);
41670 
41671 }
41672 
41673 
41674 
41675 
41676 // ************************
41677 //
41678 // Interface IAAFMasterMobEx
41679 //
41680 // ************************
41720 [
41721     object,
41722     uuid(b1a21370-1a7d-11d2-bf78-00104bc9156d ),
41723     helpstring("IAAFMasterMobEx Interface"),
41724     pointer_default(unique)
41725 ]
41726 interface IAAFMasterMobEx : IUnknown
41727 {
41728 
41729 
41730   //***********************************************************
41731   //
41732   // ExtendEssence()
41733   //
41751   HRESULT ExtendEssence (
41752     [in] aafSlotID_t  masterSlotID,
41753     [in] IAAFDataDef * pMediaKind,
41754     [in, ref] aafUID_constref  codecID,
41755     [in] aafRational_t  editRate,
41756     [in] aafRational_t  samplerate,
41757     [in] aafCompressEnable_t  Enable,
41758     [in] IAAFLocator * destination,
41759     [in, ref] aafUID_constref  fileFormat,
41760     [out] IAAFEssenceAccess ** access);
41761 
41762 
41763   //***********************************************************
41764   //
41765   // ExtendMultiEssence()
41766   //
41782   HRESULT ExtendMultiEssence (
41783     [in, ref] aafUID_constref  codecID,
41784     [in] aafUInt16  arrayElemCount,
41785     [in,ref,size_is(arrayElemCount)] aafmMultiCreate_t *  mediaArray,
41786     [in] aafCompressEnable_t  Enable,
41787     [in] IAAFLocator * destination,
41788     [in, ref] aafUID_constref  fileFormat,
41789     [out] IAAFEssenceMultiAccess**  access);
41790 
41791 }
41792 
41793 
41794 
41795 // ************************
41796 //
41797 // Interface IAAFMob2
41798 //
41799 // ************************
41824 [
41825     object,
41826     uuid(a94fdb8b-451f-4d62-ac17-16950344832e),
41827     helpstring("IAAFMob2 Interface"),
41828     pointer_default(unique)
41829 ]
41830 interface IAAFMob2 : IUnknown
41831 {
41832 
41833 
41834 
41835 
41836 
41837 
41838 
41839 
41840   //***********************************************************
41841   //
41842   // GetMobID()
41843   //
41863   HRESULT GetMobID (
41864     [out] aafMobID_t *  pMobID);
41865 
41866 
41867   //***********************************************************
41868   //
41869   // SetMobID()
41870   //
41886   HRESULT SetMobID (
41887     [in, ref] aafMobID_constref  mobID);
41888 
41889 
41890   //***********************************************************
41891   //
41892   // SetName()
41893   //
41922   HRESULT SetName (
41923     [in, string] aafCharacter_constptr  pName);
41924 
41925 
41926   //***********************************************************
41927   //
41928   // GetName()
41929   //
41967   HRESULT GetName (
41968     [out, string, size_is(bufSize)] aafCharacter *  pName,
41969     [in] aafUInt32  bufSize);
41970 
41971 
41972   //***********************************************************
41973   //
41974   // GetNameBufLen()
41975   //
41993   HRESULT GetNameBufLen (
41994     [out] aafUInt32 *  pBufSize);
41995 
41996 
41997   //***********************************************************
41998   //
41999   // CountSlots()
42000   //
42020   HRESULT CountSlots (
42021     [out] aafNumSlots_t *  pNumSlots);
42022 
42023 
42024   //***********************************************************
42025   //
42026   // AppendSlot()
42027   //
42047   HRESULT AppendSlot (
42048     [in] IAAFMobSlot * pSlot);
42049 
42050 
42051   //***********************************************************
42052   //
42053   // PrependSlot()
42054   //
42074   HRESULT PrependSlot (
42075     [in] IAAFMobSlot * pSlot);
42076 
42077 
42078   //***********************************************************
42079   //
42080   // InsertSlotAt()
42081   //
42109   HRESULT InsertSlotAt (
42110     [in] aafUInt32  index,
42111     [in] IAAFMobSlot * pSlot);
42112 
42113 
42114   //***********************************************************
42115   //
42116   // RemoveSlotAt()
42117   //
42140   HRESULT RemoveSlotAt (
42141     [in] aafUInt32  index);
42142 
42143 
42144   //***********************************************************
42145   //
42146   // GetSlotAt()
42147   //
42173   HRESULT GetSlotAt (
42174     [in] aafUInt32  index,
42175     [out, retval] IAAFMobSlot ** ppSlot);
42176 
42177 
42178   //***********************************************************
42179   //
42180   // GetSlots()
42181   //
42202   HRESULT GetSlots (
42203     [out] IEnumAAFMobSlots ** ppEnum);
42204 
42205 
42206   //***********************************************************
42207   //
42208   // GetModTime()
42209   //
42229   HRESULT GetModTime (
42230     [out] aafTimeStamp_t *  pLastModified);
42231 
42232 
42233   //***********************************************************
42234   //
42235   // SetModTime()
42236   //
42255   HRESULT SetModTime (
42256     [in, ref] aafTimeStamp_constref  modTime);
42257 
42258 
42259   //***********************************************************
42260   //
42261   // GetCreateTime()
42262   //
42282   HRESULT GetCreateTime (
42283     [out] aafTimeStamp_t *  pCreationTime);
42284 
42285 
42286   //***********************************************************
42287   //
42288   // SetCreateTime()
42289   //
42307   HRESULT SetCreateTime (
42308     [in, ref] aafTimeStamp_constref  createTime);
42309 
42310 
42311   //***********************************************************
42312   //
42313   // AppendComment()
42314   //
42338   HRESULT AppendComment (
42339     [in,string] aafCharacter *  pCategory,
42340     [in, string] aafCharacter_constptr  pComment);
42341 
42342 
42343   //***********************************************************
42344   //
42345   // CountComments()
42346   //
42366   HRESULT CountComments (
42367     [out] aafUInt32 *  pNumComments);
42368 
42369 
42370   //***********************************************************
42371   //
42372   // GetComments()
42373   //
42396   HRESULT GetComments (
42397     [out] IEnumAAFTaggedValues ** ppEnum);
42398 
42399 
42400   //***********************************************************
42401   //
42402   // RemoveComment()
42403   //
42427   HRESULT RemoveComment (
42428     [in] IAAFTaggedValue * pComment);
42429 
42430 
42431   //***********************************************************
42432   //
42433   // AppendNewTimelineSlot()
42434   //
42464   HRESULT AppendNewTimelineSlot (
42465     [in] aafRational_t  editRate,
42466     [in] IAAFSegment * pSegment,
42467     [in] aafSlotID_t  slotID,
42468     [in, string] aafCharacter_constptr  pSlotName,
42469     [in] aafPosition_t  origin,
42470     [out] IAAFTimelineMobSlot ** ppNewSlot);
42471 
42472 
42473   //***********************************************************
42474   //
42475   // GetMobInfo()
42476   //
42508   HRESULT GetMobInfo (
42509     [out] aafTimeStamp_t *  pLastModified,
42510     [out] aafTimeStamp_t *  pCreationTime,
42511     [out, size_is(bufSize), string] aafCharacter *  pName,
42512     [in] aafInt32  bufSize);
42513 
42514 
42515   //***********************************************************
42516   //
42517   // OffsetToMobTimecode()
42518   //
42549   HRESULT OffsetToMobTimecode (
42550     [in] IAAFSegment * pTcSeg,
42551     [in] aafPosition_t *  pOffset,
42552     [out] aafTimecode_t *  pResult);
42553 
42554 
42555   //***********************************************************
42556   //
42557   // LookupSlot()
42558   //
42582   HRESULT LookupSlot (
42583     [in] aafSlotID_t  slotId,
42584     [out] IAAFMobSlot ** ppDestSlot);
42585 
42586 
42587   //***********************************************************
42588   //
42589   // ChangeRef()
42590   //
42611   HRESULT ChangeRef (
42612     [in, ref] aafMobID_constref  oldMobID,
42613     [in, ref] aafMobID_constref  newMobID);
42614 
42615 
42616   //***********************************************************
42617   //
42618   // CloneExternal()
42619   //
42660   HRESULT CloneExternal (
42661     [in] aafDepend_t  resolveDependencies,
42662     [in] aafIncMedia_t  includeMedia,
42663     [in] IAAFFile * pDestFile,
42664     [out] IAAFMob ** ppDestMob);
42665 
42666 
42667   //***********************************************************
42668   //
42669   // Copy()
42670   //
42700   HRESULT Copy (
42701     [in, string] aafCharacter_constptr  pDestMobName,
42702     [out] IAAFMob ** ppDestMob);
42704 
42705   //***********************************************************
42706   //
42707   // AppendKLVData()
42708   //
42729   HRESULT AppendKLVData (
42730     [in] IAAFKLVData * pData);
42731 
42732 
42733   //***********************************************************
42734   //
42735   // CountKLVData()
42736   //
42756   HRESULT CountKLVData (
42757     [out] aafUInt32 *  pNumData);
42758 
42759 
42760   //***********************************************************
42761   //
42762   // GetKLVData()
42763   //
42785   HRESULT GetKLVData (
42786     [out] IEnumAAFKLVData ** ppEnum);
42787 
42788 
42789   //***********************************************************
42790   //
42791   // RemoveKLVData()
42792   //
42816   HRESULT RemoveKLVData (
42817     [in] IAAFKLVData * pData);
42818 
42819 
42820   //***********************************************************
42821   //
42822   // AppendAttribute()
42823   //
42829   HRESULT AppendAttribute (
42830     [in] aafCharacter_constptr  pName,
42831     [in] aafCharacter_constptr  pValue);
42832 
42845 
42846   //***********************************************************
42847   //
42848   // CountAttributes()
42849   //
42854   HRESULT CountAttributes (
42855     [out] aafUInt32*  pNumAttributes);
42856 
42868   
42869 
42870   //***********************************************************
42871   //
42872   // GetAttributes()
42873   //
42878   HRESULT GetAttributes (
42879     [out] IEnumAAFTaggedValues ** ppEnum);
42880 
42893 
42894 
42895   //***********************************************************
42896   //
42897   // RemoveAttribute()
42898   //
42903   HRESULT RemoveAttribute (
42904     [in] IAAFTaggedValue * pAttribute);
42905 
42917         
42918   //***********************************************************
42919   //
42920   // SetUsageCode()
42921   //
42926   HRESULT SetUsageCode (
42927     [in] aafUID_constref  usageCode);
42928 
42936 
42937   //***********************************************************
42938   //
42939   // GetUsageCode()
42940   //
42945   HRESULT GetUsageCode (
42946     [out] aafUID_t*  pUsageCode);
42947 
42965 
42966 
42967   //***********************************************************
42968   //
42969   // AppendNewStaticSlot()
42970   //
42998   HRESULT AppendNewStaticSlot (
42999     [in] IAAFSegment * pSegment,
43000     [in] aafSlotID_t  slotID,
43001     [in, string] aafCharacter_constptr  pSlotName,
43002     [out] IAAFStaticMobSlot ** ppNewSlot);
43003 
43004 
43005   //***********************************************************
43006   //
43007   // AppendNewEventSlot()
43008   //
43038   HRESULT AppendNewEventSlot (
43039     [in] aafRational_t  editRate,
43040     [in] IAAFSegment * pSegment,
43041     [in] aafSlotID_t  slotID,
43042     [in, string] aafCharacter_constptr  pSlotName,
43043     [in] aafPosition_t  origin,
43044     [out] IAAFEventMobSlot ** ppNewSlot);
43045              
43046 
43047 }
43048 
43049 
43050 
43051 // ************************
43052 //
43053 // Interface IAAFRGBADescriptor2
43054 //
43055 // ************************
43056 
43057 
43091 [
43092     object,
43093     uuid(205c5aae-727a-46c3-8368-cd8b1d14fbdd),
43094     helpstring("IAAFRGBADescriptor2 Interface"),
43095     pointer_default(unique)
43096 ]
43097 interface IAAFRGBADescriptor2 : IUnknown
43098 {
43099 
43100 
43101   //***********************************************************
43102   //
43103   // SetPixelLayout()
43104   //
43129   HRESULT SetPixelLayout (
43130     [in] aafUInt32  numberElements,
43131     [in] aafRGBAComponent_t*  PixelLayoutArray);
43132 
43133   //***********************************************************
43134   //
43135   // CountPixelLayoutElements()
43136   //
43160   HRESULT CountPixelLayoutElements (
43161     [out] aafUInt32 *  pResult);
43162 
43163   //***********************************************************
43164   //
43165   // GetPixelLayout()
43166   //
43199   HRESULT GetPixelLayout (
43200     [in] aafUInt32  numberElements,
43201     [out, size_is(numberElements)] aafRGBAComponent_t*  PixelLayoutArray);
43202 
43203   //***********************************************************
43204   //
43205   // SetPalette()
43206   //
43227   HRESULT SetPalette (
43228     [in] aafUInt32  numberElements,
43229     [in, size_is(numberElements)] aafUInt8*  pPalette);
43230 
43231 
43232   //***********************************************************
43233   //
43234   // GetPalette()
43235   //
43264   HRESULT GetPalette (
43265     [in] aafUInt32  numberRecords,
43266     [out, size_is(numberRecords)] aafUInt8*  pPalette);
43267 
43268 
43269   //***********************************************************
43270   //
43271   // GetPaletteSize()
43272   //
43290   HRESULT GetPaletteSize (
43291     [out] aafUInt32 *  pNumberBytes);
43292 
43293   //***********************************************************
43294   //
43295   // CountPaletteLayoutElements()
43296   //
43320   HRESULT CountPaletteLayoutElements (
43321     [out] aafUInt32 *  pResult);
43322 
43323   //***********************************************************
43324   //
43325   // SetPaletteLayout()
43326   //
43351   HRESULT SetPaletteLayout (
43352     [in] aafUInt32  numberElements,
43353     [in] aafRGBAComponent_t*  PaletteLayoutArray);
43354 
43355   //***********************************************************
43356   //
43357   // GetPaletteLayout()
43358   //
43390   HRESULT GetPaletteLayout (
43391     [in] aafUInt32  numberElements,
43392     [out, size_is(numberElements)] aafRGBAComponent_t*  PaletteLayoutArray);
43393 
43394 
43395   //***********************************************************
43396   //
43397   // SetComponentMaxRef()
43398   //
43413   HRESULT SetComponentMaxRef (
43414     [in] aafUInt32  componentMaxRef);
43415 
43416 
43417   //***********************************************************
43418   //
43419   // GetComponentMaxRef()
43420   //
43442   HRESULT GetComponentMaxRef (
43443     [out] aafUInt32 *  pComponentMaxRef);
43444 
43445 
43446   //***********************************************************
43447   //
43448   // SetComponentMinRef()
43449   //
43464   HRESULT SetComponentMinRef (
43465     [in] aafUInt32  componentMinRef);
43466 
43467 
43468   //***********************************************************
43469   //
43470   // GetComponentMinRef()
43471   //
43493   HRESULT GetComponentMinRef (
43494     [out] aafUInt32 *  pComponentMinRef);
43495 
43496 
43497   //***********************************************************
43498   //
43499   // SetAlphaMaxRef()
43500   //
43515   HRESULT SetAlphaMaxRef (
43516     [in] aafUInt32  alphaMaxRef);
43517 
43518 
43519   //***********************************************************
43520   //
43521   // GetAlphaMaxRef()
43522   //
43544   HRESULT GetAlphaMaxRef (
43545     [out] aafUInt32 *  pAlphaMaxRef);
43546 
43547 
43548   //***********************************************************
43549   //
43550   // SetAlphaMinRef()
43551   //
43566   HRESULT SetAlphaMinRef (
43567     [in] aafUInt32  alphaMinRef);
43568 
43569 
43570   //***********************************************************
43571   //
43572   // GetAlphaMinRef()
43573   //
43595   HRESULT GetAlphaMinRef (
43596     [out] aafUInt32 *  pAlphaMinRef);
43597 
43598 
43599   //***********************************************************
43600   //
43601   // SetScanningDirection()
43602   //
43621   HRESULT SetScanningDirection (
43622     [in] aafScanningDirection_t  scanningDirection);
43623 
43624 
43625   //***********************************************************
43626   //
43627   // GetScanningDirection()
43628   //
43650   HRESULT GetScanningDirection (
43651     [out] aafScanningDirection_t *  pScanningDirection);
43652 
43653 
43654 }
43655 
43656 
43657 
43658 // ************************
43659 //
43660 // Interface IAAFSearchSource
43661 //
43662 // ************************
43683 [
43684     object,
43685     uuid(332CBDD0-5425-11D2-AA7A-10003D000000),
43686     helpstring("IAAFSearchSource Interface"),
43687     pointer_default(unique)
43688 ]
43689 interface IAAFSearchSource : IUnknown
43690 {
43691 
43692   //***********************************************************
43693   //
43694   // SearchSource()
43695   //
43736   HRESULT SearchSource (
43737     [in] aafSlotID_t  slotID,
43738     [in] aafPosition_t  offset,
43739     [in] aafMobKind_t  mobKind,
43740     [in] aafMediaCriteria_t *  pMediaCrit,
43741     [in] aafOperationChoice_t *  pOperationChoice,
43742     [out] IAAFFindSourceInfo ** ppSourceInfo);
43743 }
43744 
43745 
43746 
43747 // ************************
43748 //
43749 // Interface IAAFSourceReference2
43750 //
43751 // ************************
43779 [
43780     object,
43781     uuid(eb3094c4-f60e-4aa3-b500-ba72c4c791b7),
43782     helpstring("IAAFSourceReference2 Interface"),
43783     pointer_default(unique)
43784 ]
43785 interface IAAFSourceReference2 : IUnknown
43786 {
43787 
43788 
43789 
43790   //***********************************************************
43791   //
43792   // GetSourceID()
43793   //
43813   HRESULT GetSourceID (
43814     [retval][out] aafMobID_t *  pSourceID);
43815 
43816 
43817   //***********************************************************
43818   //
43819   // SetSourceID()
43820   //
43834   HRESULT SetSourceID (
43835     [in] aafMobID_constref   sourceID);
43836 
43837 
43838   //***********************************************************
43839   //
43840   // GetSourceMobSlotID()
43841   //
43861   HRESULT GetSourceMobSlotID (
43862     [retval][out] aafSlotID_t *  pMobSlotID);
43863 
43864 
43865   //***********************************************************
43866   //
43867   // SetSourceMobSlotID()
43868   //
43887   HRESULT SetSourceMobSlotID (
43888     [in] aafSlotID_t   mobSlotID);
43889 
43890 
43891 
43892   //***********************************************************
43893   //
43894   // SetChannelIDs()
43895   //
43913   HRESULT SetChannelIDs (
43914     [in] aafUInt32  numberElements,
43915     [in] aafUInt32*  pChannelIDs);
43916 
43917 
43918   //***********************************************************
43919   //
43920   // GetChannelIDs()
43921   //
43941   HRESULT GetChannelIDs (
43942     [in] aafUInt32  numberElements,
43943     [in] aafUInt32*  pChannelIDs);
43944 
43945   //***********************************************************
43946   //
43947   // GetChannelIDsSize()
43948   //
43959   HRESULT GetChannelIDsSize (
43960     [out] aafUInt32 *  numberElements);
43961 
43962   //***********************************************************
43963   //
43964   // SetMonoSourceSlotIDs()
43965   //
43969 
43982   HRESULT SetMonoSourceSlotIDs (
43983     [in] aafUInt32  numberElements,
43984     [in] aafUInt32*  pMonoSourceSlotIDs);
43985 
43986 
43987   //***********************************************************
43988   //
43989   // GetMonoSourceSlotIDs()
43990   //
44010   HRESULT GetMonoSourceSlotIDs (
44011     [in] aafUInt32  numberElements,
44012     [in] aafUInt32*  pMonoSourceSlotIDs);
44013 
44014   //***********************************************************
44015   //
44016   // GetMonoSourceSlotIDsSize()
44017   //
44028   HRESULT GetMonoSourceSlotIDsSize (
44029     [out] aafUInt32 *  numberElements);
44030 
44031 }
44032 
44033 
44034 
44035 // ************************
44036 //
44037 // Interface IAAFTimelineMobSlot2
44038 //
44039 // ************************
44059 
44060 
44065 [
44066     object,
44067     uuid(db347978-ba72-4bdf-a188-8172ea5c5f00),
44068     helpstring("IAAFTimelineMobSlot2 Interface"),
44069     pointer_default(unique)
44070 ]
44071 interface IAAFTimelineMobSlot2 : IUnknown
44072 {
44073 
44074   //***********************************************************
44075   //
44076   // Initialize()
44077   //
44096   HRESULT Initialize ();
44097 
44098 
44099   //***********************************************************
44100   //
44101   // GetEditRate()
44102   //
44123   HRESULT GetEditRate (
44124     [out,retval] aafRational_t *  pEditRate);
44125 
44126 
44127   //***********************************************************
44128   //
44129   // SetEditRate()
44130   //
44145   HRESULT SetEditRate (
44146     [in] aafRational_constref  editRate);
44147 
44148 
44149   //***********************************************************
44150   //
44151   // GetOrigin()
44152   //
44173   HRESULT GetOrigin (
44174     [out,retval] aafPosition_t *  pOrigin);
44175 
44176 
44177   //***********************************************************
44178   //
44179   // SetOrigin()
44180   //
44195   HRESULT SetOrigin (
44196     [in] aafPosition_t  origin);
44197 
44198   //***********************************************************
44199   //
44200   // GetMarkIn()
44201   //
44228   HRESULT GetMarkIn (
44229     [out,retval] aafPosition_t *  result);
44230 
44231   //***********************************************************
44232   //
44233   // SetMarkIn()
44234   //
44254   HRESULT SetMarkIn (
44255     [in] aafPosition_t  value);
44256 
44257   //***********************************************************
44258   //
44259   // GetMarkOut()
44260   //
44287   HRESULT GetMarkOut (
44288     [out,retval] aafPosition_t *  result);
44289 
44290   //***********************************************************
44291   //
44292   // SetMarkOut()
44293   //
44313   HRESULT SetMarkOut (
44314     [in] aafPosition_t  value);
44315 
44316   //***********************************************************
44317   //
44318   // GetUserPos()
44319   //
44346   HRESULT GetUserPos (
44347     [out,retval] aafPosition_t *  result);
44348 
44349   //***********************************************************
44350   //
44351   // SetUserPos()
44352   //
44372   HRESULT SetUserPos (
44373     [in] aafPosition_t  value);
44374 
44375 }
44376 
44377 
44378 
44379 // ************************
44380 //
44381 // Interface IAAFTypeDefVariableArrayEx
44382 //
44383 // ************************
44399 [
44400     object,
44401     uuid(7f73d4b3-6f9a-11d4-8e59-009027dfcc26 ),
44402     helpstring("IAAFTypeDefVariableArrayEx Interface"),
44403     pointer_default(unique)
44404 ]
44405 
44406 interface IAAFTypeDefVariableArrayEx : IUnknown
44407 {
44408 
44409 
44410 
44411   //***********************************************************
44412   //
44413   // PrependElement()
44414   //
44436   HRESULT PrependElement (
44437     [in] IAAFPropertyValue * pInPropVal,
44438     [in] IAAFPropertyValue * pMemberPropVal);
44439 
44440 
44441 
44442 
44443   //***********************************************************
44444   //
44445   // RemoveElement()
44446   //
44475   HRESULT RemoveElement (
44476     [in] IAAFPropertyValue * pInPropVal,
44477     [in] aafUInt32  index);
44478 
44479 
44480 
44481 
44482   //***********************************************************
44483   //
44484   // InsertElement()
44485   //
44518   HRESULT InsertElement (
44519     [in] IAAFPropertyValue * pInPropVal,
44520     [in] aafUInt32  index,
44521     [in] IAAFPropertyValue * pMemberPropVal);
44522 
44523 
44524 
44525 
44526 }
44527 
44528 
44529 
44530 
44531 
44532 
44545 
44546 
44547 
44548 cpp_quote("  ///***********************************************************") 
44549 cpp_quote("  
44550 cpp_quote("  
44551 cpp_quote("  
44552 cpp_quote("  
44553 cpp_quote("  
44554 cpp_quote("  
44555 cpp_quote("  
44556 
44557   //***********************************************************
44558   //
44559   // AAFLoad()
44560   //
44575 cpp_quote("STDAPI AAFLoad (const char *  dllname);")
44576 cpp_quote("")
44577 
44578 
44580   //
44581   // AAFUnload()
44582   //
44586 cpp_quote("STDAPI AAFUnload ();")
44587 cpp_quote("")
44588 
44589 
44590 cpp_quote("  
44591 cpp_quote("  
44592 cpp_quote("  
44593 
44594   //***********************************************************
44595   //
44596   // AAFFileOpenExistingRead()
44597   //
44652 cpp_quote("STDAPI AAFFileOpenExistingRead (")
44653 cpp_quote("          aafCharacter_constptr  pFileName,")
44654 cpp_quote("          aafUInt32  modeFlags,")
44655 cpp_quote("          IAAFFile ** ppFile);")
44656 cpp_quote("")
44657 
44658 
44659   //***********************************************************
44660   //
44661   // AAFFileOpenExistingModify()
44662   //
44728 cpp_quote("STDAPI AAFFileOpenExistingModify (")
44729 cpp_quote("          aafCharacter_constptr  pFileName,")
44730 cpp_quote("          aafUInt32  modeFlags,")
44731 cpp_quote("          aafProductIdentification_t *  pIdent,")
44732 cpp_quote("          IAAFFile ** ppFile);")
44733 cpp_quote("")
44734 
44735 
44736   //***********************************************************
44737   //
44738   // AAFFileOpenNewModify()
44739   //
44796 cpp_quote("STDAPI AAFFileOpenNewModify (")
44797 cpp_quote("          aafCharacter_constptr  pFileName,")
44798 cpp_quote("          aafUInt32  modeFlags,")
44799 cpp_quote("          aafProductIdentification_t *  pIdent,")
44800 cpp_quote("          IAAFFile ** ppFile);")
44801 cpp_quote("")
44802 
44803 
44804   //***********************************************************
44805   //
44806   // AAFFileOpenNewModifyEx()
44807   //
44859 cpp_quote("STDAPI AAFFileOpenNewModifyEx (")
44860 cpp_quote("          aafCharacter_constptr  pFileName,")
44861 cpp_quote("          aafUID_constptr  pFileKind,")
44862 cpp_quote("          aafUInt32  modeFlags,")
44863 cpp_quote("          aafProductIdentification_t *  pIdent,")
44864 cpp_quote("          IAAFFile ** ppFile);")
44865 cpp_quote("")
44866 
44867 
44868   //***********************************************************
44869   //
44870   // AAFFileOpenTransient()
44871   //
44904 cpp_quote("STDAPI AAFFileOpenTransient (")
44905 cpp_quote("          aafProductIdentification_t *  pIdent,")
44906 cpp_quote("          IAAFFile ** ppFile);")
44907 cpp_quote("")
44908 
44909 
44910   //***********************************************************
44911   //
44912   // AAFFileIsAAFFile()
44913   //
44937 cpp_quote("STDAPI AAFFileIsAAFFile (")
44938 cpp_quote("          aafCharacter_constptr  pFileName,")
44939 cpp_quote("          aafUID_t *  pAAFFileKind,")
44940 cpp_quote("          aafBool *  pFileIsAAFFile);")
44941 cpp_quote("")
44942 
44943   //***********************************************************
44944   //
44945   // AAFRawStorageIsAAFFile()
44946   //
44967 cpp_quote("STDAPI AAFRawStorageIsAAFFile (")
44968 cpp_quote("          IAAFRawStorage *  pRawStorage,")
44969 cpp_quote("          aafUID_t *  pAAFFileKind,")
44970 cpp_quote("          aafBool *  pRawStorageIsAAFFile);")
44971 cpp_quote("")
44972 
44973 
44974   //***********************************************************
44975   //
44976   // AAFGetPluginManager()
44977   //
44983 cpp_quote("STDAPI AAFGetPluginManager (IAAFPluginManager ** ppPluginManager);")
44984 cpp_quote("")
44985 
44986 
44987   //***********************************************************
44988   //
44989   // AAFCreateRawStorageMemory()
44990   //
45014 cpp_quote("STDAPI AAFCreateRawStorageMemory (")
45015 cpp_quote("          aafFileAccess_t  access,")
45016 cpp_quote("          IAAFRawStorage ** ppNewRawStorage);")
45017 cpp_quote("")
45018 
45019 
45020   //***********************************************************
45021   //
45022   // AAFCreateRawStorageDisk()
45023   //
45061 cpp_quote("STDAPI AAFCreateRawStorageDisk (")
45062 cpp_quote("          aafCharacter_constptr  pFilename,")
45063 cpp_quote("          aafFileExistence_t  existence,")
45064 cpp_quote("          aafFileAccess_t  access,")
45065 cpp_quote("          IAAFRawStorage ** ppNewRawStorage);")
45066 cpp_quote("")
45067 
45068 
45069   //***********************************************************
45070   //
45071   // AAFCreateRawStorageCachedDisk()
45072   //
45112 cpp_quote("STDAPI AAFCreateRawStorageCachedDisk (")
45113 cpp_quote("          aafCharacter_constptr  pFilename,")
45114 cpp_quote("          aafFileExistence_t  existence,")
45115 cpp_quote("          aafFileAccess_t  access,")
45116 cpp_quote("          aafUInt32  pageCount,")
45117 cpp_quote("          aafUInt32  pageSize,")
45118 cpp_quote("          IAAFRawStorage ** ppNewRawStorage);")
45119 cpp_quote("")
45120 
45121 
45122   //***********************************************************
45123   //
45124   // AAFCreateAAFFileOnRawStorage()
45125   //
45190 cpp_quote("STDAPI AAFCreateAAFFileOnRawStorage (")
45191 cpp_quote("          IAAFRawStorage *  pRawStorage,")
45192 cpp_quote("          aafFileExistence_t  existence,")
45193 cpp_quote("          aafFileAccess_t  access,")
45194 cpp_quote("          aafUID_constptr  pFileKind,")
45195 cpp_quote("          aafUInt32  modeFlags,")
45196 cpp_quote("          aafProductIdentification_constptr  pIdent,")
45197 cpp_quote("          IAAFFile ** ppNewFile);")
45198 cpp_quote("")
45199 
45200   //***********************************************************
45201   //
45202   // AAFGetLibraryVersion()
45203   //
45224 cpp_quote("STDAPI AAFGetLibraryVersion (aafProductVersion_t *  pVersion);")
45225 cpp_quote("")
45226 
45227   //***********************************************************
45228   //
45229   // AAFGetLibraryPathNameBufLen()
45230   //
45248 cpp_quote("STDAPI AAFGetLibraryPathNameBufLen (aafUInt32 *  pBufSize);")
45249 cpp_quote("")
45250 
45251   //***********************************************************
45252   //
45253   // AAFGetLibraryPathName()
45254   //
45290 cpp_quote("STDAPI AAFGetLibraryPathName (")
45291 cpp_quote("          aafCharacter *  pLibraryPathName,")
45292 cpp_quote("          aafUInt32  bufSize);")
45293 cpp_quote("")
45294 
45295 

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