Advanced Authoring Format

Application Programming Interface Reference

Version 1.0 Preliminary Draft



NOTICE

Product Specifications are subject to change without notice. The software described in this document is furnished under a license agreement, and may be used or copied only in accordance with the terms of the license agreement.
THE ADVANCED AUTHORING FORMAT APPLICATION PROGRAMMING INTERFACE REFERENCE IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR OR INTENDED PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE. IN NO EVENT WILL THE PROMOTERS OR ANY OF THEM BE LIABLE FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS, LOSS OF USE, INCIDENTAL, CONSEQUENTIAL, INDIRECT, OR SPECIAL DAMAGES ARISING OUT OF USE OF THIS ADVANCED AUTHORING FORMAT APPLICATION PROGRAMMING INTERFACE REFERENCE WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.

Copyright © 1999 Avid Technology, Inc. All Rights Reserved

Trademarks

Avid is a registered trademark of Avid Technology, Inc.

All other trademarks contained herein are the property of their respective owners.



AAF Types Reference
AAF Plugin Interfaces for Codecs
AAF Plugin Types Reference

IAAFAIFCDescriptor Interface
IAAFCDCIDescriptor Interface
IAAFClassDef Interface
IAAFCodecDef Interface
IAAFCommentMarker Interface
IAAFComponent Interface
IAAFCompositionMob Interface
IAAFConstantValue Interface
IAAFContainerDef Interface
IAAFControlPoint Interface
IAAFDataDef Interface
IAAFDefObject Interface
IAAFDictionary Interface
IAAFDigitalImageDescriptor Interface
IAAFEdgecode Interface
IAAFEndian Interface
IAAFEssenceAccess Interface
IAAFEssenceData Interface
IAAFEssenceDescriptor Interface
IAAFEssenceFormat Interface
IAAFEssenceGroup Interface
IAAFEssenceMultiAccess Interface
IAAFEssenceRawAccess Interface
IAAFEvent Interface
IAAFEventMobSlot Interface
IAAFFile Interface
IAAFFileDescriptor Interface
IAAFFiller Interface
IAAFFilmDescriptor Interface
IAAFFindSourceInfo Interface
IAAFGPITrigger Interface
IAAFHeader Interface
IAAFHTMLClip Interface
IAAFIdentification Interface
IAAFIntraFrameMarker Interface
IAAFLocator Interface
IAAFMasterMob Interface
IAAFMob Interface
IAAFMobSlot Interface
IAAFNestedScope Interface
IAAFNetworkLocator Interface
IAAFObject Interface
IAAFOperationDef Interface
IAAFOperationGroup Interface
IAAFParameter Interface
IAAFParameterDef Interface
IAAFPluggableCode Interface
IAAFPluginDescriptor Interface
IAAFPluginManager Interface
IAAFProperty Interface
IAAFPropertyDef Interface
IAAFPropertyValue Interface
IAAFPulldown Interface
IAAFScopeReference Interface
IAAFSearchSource Interface
IAAFSegment Interface
IAAFSelector Interface
IAAFSequence Interface
IAAFSourceClip Interface
IAAFSourceMob Interface
IAAFSourceReference Interface
IAAFTaggedValue Interface
IAAFTapeDescriptor Interface
IAAFTextLocator Interface
IAAFTIFFDescriptor Interface
IAAFTimecode Interface
IAAFTimecodeStream Interface
IAAFTimelineMobSlot Interface
IAAFTransition Interface
IAAFTypeDef Interface
IAAFTypeDefEnum Interface
IAAFTypeDefExtEnum Interface
IAAFTypeDefFixedArray Interface
IAAFTypeDefInt Interface
IAAFTypeDefObjectRef Interface
IAAFTypeDefRecord Interface
IAAFTypeDefRename Interface
IAAFTypeDefSet Interface
IAAFTypeDefStream Interface
IAAFTypeDefString Interface
IAAFTypeDefVariableArray Interface
IAAFVaryingValue Interface
IAAFWAVEDescriptor Interface
IEnumAAFClassDefs Interface
IEnumAAFCodecDefs Interface
IEnumAAFCodecFlavours Interface
IEnumAAFComponents Interface
IEnumAAFContainerDefs Interface
IEnumAAFControlPoints Interface
IEnumAAFDataDefs Interface
IEnumAAFEssenceData Interface
IEnumAAFIdentifications Interface
IEnumAAFInterpolationDefs Interface
IEnumAAFLoadedPlugins Interface
IEnumAAFLocators Interface
IEnumAAFMobs Interface
IEnumAAFMobSlots Interface
IEnumAAFOperationDefs Interface
IEnumAAFParameterDefs Interface
IEnumAAFPluginDescriptors Interface
IEnumAAFPluginLocators Interface
IEnumAAFProperties Interface
IEnumAAFPropertyDefs Interface
IEnumAAFPropertyValues Interface
IEnumAAFSegments Interface
IEnumAAFTaggedValues Interface
IEnumAAFTypeDefs Interface

IAAFAIFCDescriptor Interface


In addition to the methods inherited from IUnknown, the IAAFAIFCDescriptor interface exposes the following methods.
GetSummary
GetSummaryBufferSize
Initialize
SetSummary

The AAFAIFCDescriptor object implements the IAAFAIFCDescriptor interface and also implements the following:

Interface Method
IAAFFileDescriptor GetContainerFormat
GetIsInContainer
GetLength
GetSampleRate
SetContainerFormat
SetIsInContainer
SetLength
SetSampleRate

IAAFEssenceDescriptor AppendLocator
EnumAAFAllLocators
GetNumLocators
PrependLocator




IAAFAIFCDescriptor::GetSummary


The GetSummary method getSummary() Gets a copy of the AIFC file information without the media.
Syntax
HRESULT GetSummary(
  aafUInt32  size,
  aafDataValue_t  pSummary
);

Parameters
  [in]  size
  Specifies size.
  [out]  pSummary
  If the method succeeds, specifies a pointer to a summary object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSummary() Gets a copy of the AIFC file information without
the media. Succeeds if all of the following are true: - pSummary
is a valid pointer. - The size of the buffer is large enough
to hold the AIFC file information. If this method fails pSummary
will not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. AAFRESULT_NULL_PARAM - pSummary
arg is NULL. AAFRESULT_SMALLBUF - The buffer is too small to
hold the AIFC file information.
size: Preallocated buffer to hold the AIFC file information.

See Also


IAAFAIFCDescriptor::GetSummaryBufferSize


The GetSummaryBufferSize method getSummaryBufferSize() Returns the size of the buffer required for the GetSummary() method.
Syntax
HRESULT GetSummaryBufferSize(
  aafUInt32*  pSize
);

Parameters
  [out]  pSize
  If the method succeeds, specifies a pointer to a size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSummaryBufferSize() Returns the size of the buffer required
for the GetSummary() method. The value is placed into the location
specified by pSize. Succeeds if all of the following are true:
- the pSize pointer is valid. If this method fails nothing will
be written to *pSize. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. AAFRESULT_NULL_PARAM - pSize arg
is NULL.
pSize: required buffer size.
See Also


IAAFAIFCDescriptor::Initialize


The Initialize method .
Syntax
HRESULT Initialize();
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFAIFCDescriptor ************************
The IAAFAIFCDescriptor interface is implemented by objects which
describe audio content data formatted according to the AIFC compressed
Audio File Format. In addition to the specific error results
listed for each method, all methods in this interface may also
return one of the following values: AAFRESULT_NOMEMORY - insufficient
system memory is available to perform the operation. 5-11d2-bf9d-00104bc9156d
Initialize() Initializes a newly allocated, empty IAAFAIFCDescriptor-supporting
object. This method must be called after allocation, and before
any other method can be called. Succeeds if: - Initialize() has
not yet been called on this object. This method will return the
following codes. If more than one of the listed errors is in
effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_ALREADY_INITIALIZED - Initialize()
has already been called on this object.
See Also


IAAFAIFCDescriptor::SetSummary


The SetSummary method setSummary() Sets the AIFC file information.
Syntax
HRESULT SetSummary(
  aafUInt32  size,
  aafDataValue_t  pSummary
);

Parameters
  [in]  size
  Specifies size.
  [in]  pSummary
  Pointer to a summary object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSummary() Sets the AIFC file information. Succeeds if all
of the following are true: - pSummary is a valid pointer If this
method fails the summary property will not be changed. This method
will return the following codes: AAFRESULT_SUCCESS - succeeded.
AAFRESULT_NULL_PARAM - pSummary arg is NULL.
size: buffer containing value.
See Also


IAAFCDCIDescriptor Interface


In addition to the methods inherited from IUnknown, the IAAFCDCIDescriptor interface exposes the following methods.
GetBlackReferenceLevel
GetColorRange
GetColorSiting
GetComponentWidth
GetHorizontalSubsampling
GetPaddingBits
GetWhiteReferenceLevel
Initialize
SetBlackReferenceLevel
SetColorRange
SetColorSiting
SetComponentWidth
SetHorizontalSubsampling
SetPaddingBits
SetWhiteReferenceLevel

The AAFCDCIDescriptor object implements the IAAFCDCIDescriptor interface and also implements the following:

Interface Method
IAAFDigitalImageDescriptor GetAlphaTransparency
GetCompression
GetDisplayView
GetFrameLayout
GetGamma
GetImageAlignmentFactor
GetImageAspectRatio
GetSampledView
GetStoredView
GetVideoLineMap
GetVideoLineMapSize
SetAlphaTransparency
SetCompression
SetDisplayView
SetFrameLayout
SetGamma
SetImageAlignmentFactor
SetImageAspectRatio
SetSampledView
SetStoredView
SetVideoLineMap

IAAFFileDescriptor GetContainerFormat
GetIsInContainer
GetLength
GetSampleRate
SetContainerFormat
SetIsInContainer
SetLength
SetSampleRate

IAAFEssenceDescriptor AppendLocator
EnumAAFAllLocators
GetNumLocators
PrependLocator




IAAFCDCIDescriptor::GetBlackReferenceLevel


The GetBlackReferenceLevel method getBlackReferenceLevel() Gets the BlackReferenceLevel property.
Syntax
HRESULT GetBlackReferenceLevel(
  aafUInt32*  pBlackReferenceLevel
);

Parameters
  [out]  pBlackReferenceLevel
  If the method succeeds, specifies a pointer to a black reference level object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetBlackReferenceLevel() Gets the BlackReferenceLevel property.
Specifies the digital luminance component value associated with
black. For CCIR-601/2, the value is 16 for 8-bit video and 64
for 10-bit video. For YUV, the value is 0. These are typical
values; other values will not be disallowed by the reference
implementation. The same value is used in CDCI and RGBA when
standard colorspace conversion is used. Succeeds if all of the
following are true: - pBlackReferenceLevel is a valid pointer.
If this method fails, *pBlackReferenceLevel will not be changed.
This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pBlackReferenceLevel arg is NULL.
pBlackReferenceLevel: Address to store the integer value..
See Also


IAAFCDCIDescriptor::GetColorRange


The GetColorRange method getColorRange() Gets the ColorRange property.
Syntax
HRESULT GetColorRange(
  aafUInt32*  pColorRange
);

Parameters
  [out]  pColorRange
  If the method succeeds, specifies a pointer to a color range object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetColorRange() Gets the ColorRange property. Specifies the range
of allowable digital chrominance component values. Chrominance
values are unsigned and the range is centered on 128 for 8-bit
video and 512 for 10-bit video. This value is used for both chrominance
components. For CCIR-601/2, the range is 225 for 8-bit video
and 897 for 10-bit video. For YUV, the range is 255 for 8-bit
video and 1023 for 10-bit video. These are typical values; other
values will not be disallowed by the reference implementation.
Succeeds if all of the following are true: - pColorRange is a
valid pointer. If this method fails, *pColorRange will not be
changed. This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pColorRange arg is NULL.
pColorRange: Address to store the integer value..
See Also


IAAFCDCIDescriptor::GetColorSiting


The GetColorSiting method getColorSiting() Gets the ColorSiting property.
Syntax
HRESULT GetColorSiting(
  aafColorSiting_t*  pColorSiting
);

Parameters
  [out]  pColorSiting
  If the method succeeds, specifies a pointer to a color siting object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetColorSiting() Gets the ColorSiting property. Specifies how
to compute subsampled chrominance values. Valid values are:
kCoSiting - To calculate subsampled pixels, take the preceding's
pixels color value, discard the other color values and cosite
the color with the first luminance value. kAveraging - To calculate
subsampled pixels, take the average of the two adjacent pixels'
color values and site the color in the center of the luminance
pixels. kThreeTap - To calculate subsampled pixels, take 25 percent
of the the previous pixel's color value, 50 percent of the first
value and 25 percent of the second value. For the first value
in a row, use 75 percent of that value since there is no previous
value. The kThreeTap value is only meaningful when the HorizontalSubsampling
propert has a value of 2. Succeeds if all of the following are
true: - pColorSiting is a valid pointer. If this method fails,
*pColorSiting will not be changed. This method will return the
following codes: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NOT_INITIALIZED - This
object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pColorSiting arg is NULL.
pColorSiting: Address to store the color siting value..
See Also


IAAFCDCIDescriptor::GetComponentWidth


The GetComponentWidth method getComponentWidth() Gets the ComponentWidth property.
Syntax
HRESULT GetComponentWidth(
  aafInt32*  pComponentWidth
);

Parameters
  [out]  pComponentWidth
  If the method succeeds, specifies a pointer to a component width object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetComponentWidth() Gets the ComponentWidth property. Specifies
the number of bits used to store each component. Typical values
can be 8, 10, 12, 14, or 16, but others are permitted by the
reference implementation. Each component in a sample is packed
contiguously; the sample is filled with the number of bits specified
by the optional PaddingBits property. If the PaddingBits property
is omitted, samples are packed contiguously. Succeeds if all
of the following are true: - pComponentWidth is a valid pointer.
If this method fails, *pComponentWidth will not be changed.
This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pComponentWidth arg is NULL.
pComponentWidth: Address to store the number of bits..
See Also


IAAFCDCIDescriptor::GetHorizontalSubsampling


The GetHorizontalSubsampling method getHorizontalSubsampling() Gets the HorizontalSubsampling property.
Syntax
HRESULT GetHorizontalSubsampling(
  aafUInt32*  pHorizontalSubsampling
);

Parameters
  [out]  pHorizontalSubsampling
  If the method succeeds, specifies a pointer to a horizontal subsampling object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetHorizontalSubsampling() Gets the HorizontalSubsampling property.
Specifies the ratio of luminance sampling to chrominance sampling
in the horizontal direction. For 4:2:2 video, the value is 2,
which means that there are twice as many luminance values as
there are color-difference values. Another typical value is 1;
however other values are permitted by the reference implementation.
Succeeds if all of the following are true: - pHorizontalSubsampling
is a valid pointer. If this method fails, *pHorizontalSubsampling
will not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it. AAFRESULT_NULL_PARAM - pHorizontalSubsampling
arg is NULL.
pHorizontalSubsampling: Address to store the integer value..

See Also


IAAFCDCIDescriptor::GetPaddingBits


The GetPaddingBits method getPaddingBits() Gets the PaddingBits property.
Syntax
HRESULT GetPaddingBits(
  aafInt16*  pPaddingBits
);

Parameters
  [out]  pPaddingBits
  If the method succeeds, specifies a pointer to a padding bits object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPaddingBits() Gets the PaddingBits property. Specifies the
number of bits padded to each pixel. Succeeds if all of the following
are true: - pPaddingBits is a valid pointer. If this method fails,
pPaddingBits will not be changed. This method will return the
following codes: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NOT_INITIALIZED - This
object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pPaddingBits arg is NULL.
pPaddingBits: Address to store the number of bits..
See Also


IAAFCDCIDescriptor::GetWhiteReferenceLevel


The GetWhiteReferenceLevel method getWhiteReferenceLevel() Gets the WhiteReferenceLevel property.
Syntax
HRESULT GetWhiteReferenceLevel(
  aafUInt32*  pWhiteReferenceLevel
);

Parameters
  [out]  pWhiteReferenceLevel
  If the method succeeds, specifies a pointer to a white reference level object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetWhiteReferenceLevel() Gets the WhiteReferenceLevel property.
Specifies the digital luminance component component value associated
with white. For CCIR-601/2, the value is 235 for 8-bit video
and 940 for 10-bit video. For YUV, the value is 255 for 8-bit
video and 1023 for 10-bit video. These are typical values; other
values will not be disallowed by the reference implementation.
Succeeds if all of the following are true: - pWhiteReferenceLevel
is a valid pointer. If this method fails, *pWhiteReferenceLevel
will not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it. AAFRESULT_NULL_PARAM - pWhiteReferenceLevel
arg is NULL.
pWhiteReferenceLevel: Address to store the integer value..
See Also


IAAFCDCIDescriptor::Initialize


The Initialize method .
Syntax
HRESULT Initialize();
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFCDCIDescriptor ************************
The IAAFCDCIDescriptor interface is implemented by objects which
describe video essence formatted with one luminance component
and two color-difference components. In addition to the specific
error results listed for each method, all methods in this interface
may also return one of the following values: AAFRESULT_NOMEMORY
- insufficient system memory is available to perform the operation.
A-11d2-813C-006097310172 Initialize() Initializes a newly allocated,
empty IAAFCDCIDescriptor-supporting object. This method must
be called after allocation, and before any other method can be
called. Succeeds if: - Initialize() has not yet been called on
this object. This method will return the following codes. If
more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_ALREADY_INITIALIZED
- Initialize() has already been called on this object.
See Also


IAAFCDCIDescriptor::SetBlackReferenceLevel


The SetBlackReferenceLevel method setBlackReferenceLevel() Sets the BlackReferenceLevel property.
Syntax
HRESULT SetBlackReferenceLevel(
  aafUInt32  BlackReferenceLevel
);

Parameters
  [in]  BlackReferenceLevel
  Specifies black reference level.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetBlackReferenceLevel() Sets the BlackReferenceLevel property.
Specifies the digital luminance component component value associated
with black. For CCIR-601/2, the value is 16 for 8-bit video and
64 for 10-bit video. For YUV, the value is 0. These are typical
values; other values will not be disallowed by the reference
implementation. The same value is used in CDCI and RGBA when
standard colorspace conversion is used. This property is optional.
The default value is 0. If this method fails, the BlackReferenceLevel
property will not be changed. This method will return the following
codes: AAFRESULT_SUCCESS - succeeded. (This is the only code
indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it.
BlackReferenceLevel: Integer value..
See Also


IAAFCDCIDescriptor::SetColorRange


The SetColorRange method setColorRange() Sets the ColorRange property.
Syntax
HRESULT SetColorRange(
  aafUInt32  ColorRange
);

Parameters
  [in]  ColorRange
  Specifies color range.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetColorRange() Sets the ColorRange property. Specifies the range
of allowable digital chrominance component values. Chrominance
values are unsigned and the range is centered on 128 for 8-bit
video and 512 for 10-bit video. This value is used for both chrominance
components. For CCIR-601/2, the range is 225 for 8-bit video
and 897 for 10-bit video. For YUV, the range is 255 for 8-bit
video and 1023 for 10-bit video. These are typical values; other
values will not be disallowed by the reference implementation.
This property is optional. The default value is the maximum unsigned
integer value for component size. Succeeds if all of the following
are true: If this method fails, the ColorRange property will
not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it.
ColorRange: Integer value..
See Also


IAAFCDCIDescriptor::SetColorSiting


The SetColorSiting method setColorSiting() Sets the ColorSiting property.
Syntax
HRESULT SetColorSiting(
  aafColorSiting_t  ColorSiting
);

Parameters
  [in]  ColorSiting
  Specifies color siting.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetColorSiting() Sets the ColorSiting property. Specifies how
to compute subsampled chrominance values. Valid values are:
kCoSiting - To calculate subsampled pixels, take the preceding's
pixels color value, discard the other color values and cosite
the color with the first luminance value. kAveraging - To calculate
subsampled pixels, take the average of the two adjacent pixels'
color values and site the color in the center of the luminance
pixels. kThreeTap - To calculate subsampled pixels, take 25 percent
of the the previous pixel's color value, 50 percent of the first
value and 25 percent of the second value. For the first value
in a row, use 75 percent of that value since there is no previous
value. The kThreeTap value is only meaningful when the HorizontalSubsampling
propert has a value of 2. This property is optional. The default
value is kCoSiting. Succeeds if all of the following are true:
- ColorSiting is valid If this method fails, the ColorSiting
property will not be changed. This method will return the following
codes: AAFRESULT_SUCCESS - succeeded. (This is the only code
indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it.
ColorSiting: Color siting value..
See Also


IAAFCDCIDescriptor::SetComponentWidth


The SetComponentWidth method setComponentWidth() Sets the ComponentWidth property.
Syntax
HRESULT SetComponentWidth(
  aafInt32  ComponentWidth
);

Parameters
  [in]  ComponentWidth
  Specifies component width.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetComponentWidth() Sets the ComponentWidth property. Specifies
the number of bits used to store each component. Typical values
can be 8, 10, 12, 14, or 16, but others are permitted by the
reference implementation. Each component in a sample is packed
contiguously; the sample is filled with the number of bits specified
by the optional PaddingBits property. If the PaddingBits property
is omitted, samples are packed contiguously. If this method fails,
the ComponentWidth property will not be changed. This method
will return the following codes: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
ComponentWidth: Number of bits..
See Also


IAAFCDCIDescriptor::SetHorizontalSubsampling


The SetHorizontalSubsampling method setHorizontalSubsampling() Sets the HorizontalSubsampling property.
Syntax
HRESULT SetHorizontalSubsampling(
  aafUInt32  HorizontalSubsampling
);

Parameters
  [in]  HorizontalSubsampling
  Specifies horizontal subsampling.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetHorizontalSubsampling() Sets the HorizontalSubsampling property.
Specifies the ratio of luminance sampling to chrominance sampling
in the horizontal direction. For 4:2:2 video, the value is 2,
which means that there are twice as many luminance values as
there are color-difference values. Another typical value is 1;
however other values are permitted by the reference implementation.
If this method fails, the HorizontalSubsampling property will
not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it.
HorizontalSubsampling: Integer value..
See Also


IAAFCDCIDescriptor::SetPaddingBits


The SetPaddingBits method setPaddingBits() Sets the PaddingBits property.
Syntax
HRESULT SetPaddingBits(
  aafInt16  PaddingBits
);

Parameters
  [in]  PaddingBits
  Specifies padding bits.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPaddingBits() Sets the PaddingBits property. Specifies the
number of bits padded to each pixel. This property is optional.
The default value is 0. If this method fails, the PaddingBits
property will not be changed. This method will return the following
codes: AAFRESULT_SUCCESS - succeeded. (This is the only code
indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it.
PaddingBits: Number of bits..
See Also


IAAFCDCIDescriptor::SetWhiteReferenceLevel


The SetWhiteReferenceLevel method setWhiteReferenceLevel() Sets the WhiteReferenceLevel property.
Syntax
HRESULT SetWhiteReferenceLevel(
  aafUInt32  WhiteReferenceLevel
);

Parameters
  [in]  WhiteReferenceLevel
  Specifies white reference level.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetWhiteReferenceLevel() Sets the WhiteReferenceLevel property.
Specifies the digital luminance component component value associated
with white. For CCIR-601/2, the value is 235 for 8-bit video
and 940 for 10-bit video. For YUV, the value is 255 for 8-bit
video and 1023 for 10-bit video. These are typical values; other
values will not be disallowed by the reference implementation.
This property is optional. The default value is the maximum unsigned
interger value for component size. If this method fails, the
WhiteReferenceLevel property will not be changed. This method
will return the following codes: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
WhiteReferenceLevel: Integer value..
See Also


IAAFClassDef Interface


In addition to the methods inherited from IUnknown, the IAAFClassDef interface exposes the following methods.
AppendNewPropertyDef
AppendOptionalPropertyDef
CountPropertyDefs
GetName
GetNameBufLen
GetParent
GetPropertyDefs
Initialize
LookupPropertyDef

The AAFClassDef object implements the IAAFClassDef interface and also implements the following:

Interface Method
IAAFDefObject AppendPluginDescriptor
EnumPluginDescriptors
GetAUID
GetDescription
GetDescriptionBufLen
GetName
GetNameBufLen
Init
PrependPluginDescriptor
SetDescription
SetName




IAAFClassDef::AppendNewPropertyDef


The AppendNewPropertyDef method appendNewPropertyDef() Creates a new property definition and appends it to this class definition.
Syntax
HRESULT AppendNewPropertyDef(
  aafUID_t*  pID,
  aafCharacter*  pName,
  IAAFTypeDef*  pTypeDef,
  aafBool  isOptional,
  IAAFPropertyDef**  ppPropDef
);

Parameters
  [in]  pID
  Pointer to an ID object.
  [in]  pName
  Pointer to a name object.
  [in]  pTypeDef
  Pointer to a type def object.
  [in]  isOptional
  Specifies isoptional.
  [out]  ppPropDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a prop def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendNewPropertyDef() Creates a new property definition and
appends it to this class definition. If ppPropDef is non-NULL,
will return the new property definition in ppPropDef. Note that
it is illegal to add mandatory properties to an existing (registered)
class. This method will allow adding either optional or mandatory
properties to a class, but they must be added to a class which
has not yet been registered in the dictionary. If this class
has already been registered, it is possible to add optional properties,
but not through this method. Optional properties added to an
existing (registered) class may be added through the AppendOpionalPropertyDef()
method. Succeeds if: - The pID pointer is valid. - The pName
pointer is valid. - The pTypeDef pointer is valid. - This class
has not already been registered in the dictionary. - The auid
specified by pID has not already been registered. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pID, pName, or pTypeDef arg is NULL. AAFRESULT_OBJECT_ALREADY_ATTACHED
- This class has already been registered. AAFRESULT_BAD_PARAM
- The given ID has already been registered.
pID: name of the new property.
pName: type of the new property.
pTypeDef: true if new property is to be optional.
isOptional: return pointer to newly created property def.
See Also


IAAFClassDef::AppendOptionalPropertyDef


The AppendOptionalPropertyDef method appendOptionalPropertyDef() Creates a new property definition and appends it to this class definition.
Syntax
HRESULT AppendOptionalPropertyDef(
  aafUID_t*  pID,
  aafCharacter*  pName,
  IAAFTypeDef*  pTypeDef,
  IAAFPropertyDef**  ppPropDef
);

Parameters
  [in]  pID
  Pointer to an ID object.
  [in]  pName
  Pointer to a name object.
  [in]  pTypeDef
  Pointer to a type def object.
  [out]  ppPropDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a prop def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendOptionalPropertyDef() Creates a new property definition
and appends it to this class definition. If ppPropDef is non-NULL,
will return the new property definition in ppPropDef. Note that
it is illegal to add mandatory properties to an already existing
(registered) class. It is assumed that this property is being
added to a class which is already registered. If so, it must
be optional and this method will declare it so. If it is wished
to add a mandatory property, that may be done through the AppendNewPropertyDef()
method, but that must be called on a class which is not yet registered.
Succeeds if: - The pID pointer is valid. - The pName pointer
is valid. - The pTypeDef pointer is valid. - The auid specified
by pID has not already been registered. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - pID, pName,
or pTypeDef arg is NULL. AAFRESULT_BAD_PARAM - The given ID has
already been registered.
pID: name of the new property.
pName: type of the new property.
pTypeDef: return pointer to newly created property def.
See Also


IAAFClassDef::CountPropertyDefs


The CountPropertyDefs method countPropertyDefs() Returns number of property definitions in this class.
Syntax
HRESULT CountPropertyDefs(
  aafUInt32*  pCount
);

Parameters
  [out]  pCount
  If the method succeeds, specifies a pointer to a count object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CountPropertyDefs() Returns number of property definitions in
this class. Succeeds if: - The pCount pointer is valid. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pCount arg is NULL.
pCount: number of properties contained in this class definition.

See Also


IAAFClassDef::GetName


The GetName method getName() Gets Accesses a human-readable name for the class.
Syntax
HRESULT GetName(
  wchar_t*  pName,
  aafUInt32  bufSize
);

Parameters
  [out]  pName
  If the method succeeds, specifies a pointer to a name object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetName() Gets Accesses a human-readable name for the class.
This name is not meant to be a way for programs to refer to the
class, as it is of undetermined length, and is not checked to
guarantee uniqueness. Writes the Name property, with a trailing
null character, into the pName buffer. The buffer is allocated
by the caller. The size of the buffer is given by bufSize. If
the Name property has not yet been set, a zero-length string
will be written (that is, only the trailing null character).
Caller may call GetNameBufLen() to determine the required buffer
size. If this method fails nothing will be written to *pName.
Succeeds if: - The pName pointer is valid. - bufSize indicates
that the buffer is large enough to hold Name. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - pName arg
is NULL. AAFRESULT_SMALL_BUF - bufSize indicates that the allocated
buffer is not large enough to hold Name.
pName: size of *pName buffer in bytes.
See Also


IAAFClassDef::GetNameBufLen


The GetNameBufLen method getNameBufLen() Returns size of buffer (in bytes) required for GetName().
Syntax
HRESULT GetNameBufLen(
  aafUInt32*  pBufSize
);

Parameters
  [out]  pBufSize
  If the method succeeds, specifies a pointer to a buf size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNameBufLen() Returns size of buffer (in bytes) required for
GetName(). Succeeds if: - The pBufSize pointer is valid. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pBufSize arg is NULL.
pBufSize: size of required buffer, in bytes.
See Also


IAAFClassDef::GetParent


The GetParent method getParent() Gets the Parent class for this object.
Syntax
HRESULT GetParent(
  IAAFClassDef**  pClassDef
);

Parameters
  [out]  pClassDef
  If the method succeeds, specifies a pointer to a class def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetParent() Gets the Parent class for this object. If there is
no parent, returns the NULL AUID. The only class which has no
parent will be AAFObject. Succeeds if: - The pClassDef pointer
is valid. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pClassDef arg is NULL.
pClassDef: parent class definition.
See Also


IAAFClassDef::GetPropertyDefs


The GetPropertyDefs method getPropertyDefs() Returns an enumerator over all of the aaf property definitions attached to the current class.
Syntax
HRESULT GetPropertyDefs(
  IEnumAAFPropertyDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPropertyDefs() Returns an enumerator over all of the aaf property
definitions attached to the current class. Succeeds if: - The
ppEnum pointer is valid. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - ppEnum arg is NULL.
ppEnum: Property Definition enumeration.
See Also


IAAFClassDef::Initialize


The Initialize method ************************ Interface IAAFClassDef ************************ This interface is used with an object representing an AAF class definition.
Syntax
HRESULT Initialize(
  aafUID_t*  pID,
  IAAFClassDef*  pParentClass,
  aafCharacter*  pClassName
);

Parameters
  [in]  pID
  Pointer to an ID object.
  [in]  pParentClass
  Pointer to a parent class object.
  [in]  pClassName
  Pointer to a class name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFClassDef ************************
This interface is used with an object representing an AAF class
definition. The operations on a class definition include managing
the position of the class within the class heirarchy, and accessing
property definitions associated with the class. In addition to
the specific error results listed for each method, all methods
in this interface may also return one of the following values:
AAFRESULT_NOMEMORY - insufficient system memory is available
to perform the operation. * Stub only. Implementation not yet
added * 1-11d2-bf96-006097116212 Initialize() Initializes this
class definition object to inherit from the given parent class.
Succeeds if: - The pID pointer is valid. - The pParentClass pointer
is valid. - The pTypeName pointer is valid. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - pID, pParentClass,
or pTypeName arg is NULL.
pID: existing class from which this one inherits.
pParentClass: friendly name of this type definition.
See Also


IAAFClassDef::LookupPropertyDef


The LookupPropertyDef method lookupPropertyDef() Looks up the property definition corresponding to the named auid and returns a pointer to that property definition in ppPropDef.
Syntax
HRESULT LookupPropertyDef(
  aafUID_t*  pPropID,
  IAAFPropertyDef**  ppPropDef
);

Parameters
  [in]  pPropID
  Pointer to a propID object.
  [out]  ppPropDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a prop def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupPropertyDef() Looks up the property definition corresponding
to the named auid and returns a pointer to that property definition
in ppPropDef. Succeeds if: - The pPropID pointer is valid. -
The ppPropDef pointer is valid. - the auid specified by pID has
been registered as a property definition for this class definition.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- Either pPropID or ppPropDef arg is NULL. AAFRESULT_BAD_PARAM
- The given ID has not been registered as a property definition.

pPropID: resulting property definition.
See Also


IAAFCodecDef Interface


In addition to the methods inherited from IUnknown, the IAAFCodecDef interface exposes the following methods.
AppendEssenceKind
AreThereFlavours
EnumCodecFlavours
GetFileDescriptorClass
IsEssenceKindSupported
SetFileDescriptorClass

The AAFCodecDef object implements the IAAFCodecDef interface and also implements the following:

Interface Method
IAAFDefObject AppendPluginDescriptor
EnumPluginDescriptors
GetAUID
GetDescription
GetDescriptionBufLen
GetName
GetNameBufLen
Init
PrependPluginDescriptor
SetDescription
SetName




IAAFCodecDef::AppendEssenceKind


The AppendEssenceKind method appendEssenceKind() Appends the given essence kind to those supported by the codec.
Syntax
HRESULT AppendEssenceKind(
  aafUID_t*  pEssenceKind
);

Parameters
  [in]  pEssenceKind
  Pointer to an essence kind object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendEssenceKind() Appends the given essence kind to those supported
by the codec. This is dependant upon the format, not an incomplete
implementation. Succeeds if all of the following are true: -
the pMob pointer is valid. - the given mob is not already part
of this collection. If this method fails no state will be changed.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pEssenceKind is null. AAFRESULT_DUPLICATE_ESSENCE_KIND - the
given essenceKind is already contained.
pEssenceKind: The essence kind.
See Also


IAAFCodecDef::AreThereFlavours


The AreThereFlavours method areThereFlavours() Find out whether its worth iterating over flavours flavours are used when a single codec can support multiple formats.
Syntax
HRESULT AreThereFlavours(
  aafBool*  pResult
);

Parameters
  [out]  pResult
  If the method succeeds, specifies a pointer to a result object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AreThereFlavours() Find out whether its worth iterating over
flavours flavours are used when a single codec can support multiple
formats. An Example would be a codec which would accept a "resolution
ID" for a particular manufacturer and set up all of the parameters.
When a new resolution ID is released, then a new codec plugin
would give users the ability to use the new resolutions without
upgrading the application. Succeeds if all of the following are
true: - the pResult pointer is valid. If this method fails no
state will be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - if Result is null.
pResult: True if there are flavours of this codec.
See Also


IAAFCodecDef::EnumCodecFlavours


The EnumCodecFlavours method enumCodecFlavours() Places an enumerator for codec flavour into the *ppEnum argument.
Syntax
HRESULT EnumCodecFlavours(
  IEnumAAFCodecFlavours**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
EnumCodecFlavours() Places an enumerator for codec flavour into
the *ppEnum argument. The returned enumerator is AddRef()ed before
it is returned. Flavours are used when a single codec can support
multiple formats. An Example would be a codec which would accept
a "resolution ID" for a particular manufacturer and set up all
of the parameters. When a new resolution ID is released, then
a new codec plugin would give users the ability to use the new
resolutions without upgrading the application. Succeeds if all
of the following are true: - the ppEnum pointer is valid. If
this method fails nothing will be written to *ppEnum. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
if ppEnum is null.
ppEnum: Codec flavour Enumeration.
See Also


IAAFCodecDef::GetFileDescriptorClass


The GetFileDescriptorClass method getFileDescriptorClass() Places the file descriptor class object associated with this codec into the *ppClass argument.
Syntax
HRESULT GetFileDescriptorClass(
  IAAFClassDef**  ppClass
);

Parameters
  [out]  ppClass
  If the method succeeds, specifies a pointer to a variable containing a pointer to a class object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetFileDescriptorClass() Places the file descriptor class object
associated with this codec into the *ppClass argument. If none
exists yet, NULL is placed into the *ppClass argument. The returned
class object, if it exists, is AddRef()ed before it is returned.
Succeeds if all of the following are true: - the ppClass pointer
is valid. - A valid file descriptor class exists. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- ppClass is null.
ppClass: Returned file descriptor class object.
See Also


IAAFCodecDef::IsEssenceKindSupported


The IsEssenceKindSupported method .
Syntax
HRESULT IsEssenceKindSupported(
  aafUID_t*  pEssenceKind,
  aafBool*  pIsSupported
);

Parameters
  [in]  pEssenceKind
  Pointer to an essence kind object.
  [out]  pIsSupported
  If the method succeeds, specifies a pointer to an is supported object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFCodecDef ************************
This interface is used with an object representing a particular
kind of essence codec, which may be implemented by one or more
AAFPluginDescriptors. In addition to the specific error results
listed for each method, all methods in this interface may also
return one of the following values: AAFRESULT_NOMEMORY - insufficient
system memory is available to perform the operation. 2-11d2-809C-006008143E6F
IsEssenceKindSupported() Returns AAFTrue if the given codec support
transfers to essence of the given essence kind. Succeeds if all
of the following are true: - the pEssenceKind pointer is valid.
- the pIsSupported pointer is valid. If this method fails nothing
will be written to *pIsSupported. This method will return the
following codes. If more than one of the listed errors is in
effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - either pEssenceKind
or pIsSupported is null.
pEssenceKind: Is this type supported.
See Also


IAAFCodecDef::SetFileDescriptorClass


The SetFileDescriptorClass method setFileDescriptorClass() Sets the file descriptor class associated with this codec to be the given one.
Syntax
HRESULT SetFileDescriptorClass(
  IAAFClassDef*  pClass
);

Parameters
  [in]  pClass
  Pointer to a class object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetFileDescriptorClass() Sets the file descriptor class associated
with this codec to be the given one. Succeeds if all of the following
are true: - the pClass pointer is valid. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pClass is null.
pClass: File descriptor class object.
See Also


IAAFCommentMarker Interface


In addition to the methods inherited from IUnknown, the IAAFCommentMarker interface exposes the following methods.
GetAnnotation
SetAnnotation

The AAFCommentMarker object implements the IAAFCommentMarker interface and also implements the following:
Interface Method
IAAFEvent GetComment
GetCommentBufLen
GetPosition
SetComment
SetPosition

IAAFSegment SegmentOffsetToTC
SegmentTCToOffset

IAAFComponent GetDataDef
GetLength
SetDataDef
SetLength




IAAFCommentMarker::GetAnnotation


The GetAnnotation method ************************ Interface IAAFCommentMarker ************************ The IAAFCommentMarker interface is implemented by objects which represent a user comment associated with a point in time.
Syntax
HRESULT GetAnnotation(
  IAAFSourceReference**  ppResult
);

Parameters
  [out]  ppResult
  If the method succeeds, specifies a pointer to a variable containing a pointer to a result object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFCommentMarker ************************
The IAAFCommentMarker interface is implemented by objects which
represent a user comment associated with a point in time. A CommentMarker
may have a SourceReference that specifies a text or audio annotation.
In addition to the specific error results listed for each method,
all methods in this interface may also return one of the following
values: AAFRESULT_NOMEMORY - insufficient system memory is available
to perform the operation. AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it through this object's
primary interface. Note that IAAFMobSlot is a primary interface
for an abstract class, so it is not appropriate for the Initialize()
method to exist in this interface. The Initialize() method is
available through the concrete object's primary interface. 5-11d2-bf9d-00104bc9156d
GetAnnotation() This method will get the annotation for this
comment marker and place an interface for it into the **ppResult
argument. Succeeds if all of the following are true: - the pResult
pointer is valid. If this method fails nothing will be written
to *pResult. This method will return the following codes. If
more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pResult arg is NULL.
ppResult: Annotation property value.
See Also


IAAFCommentMarker::SetAnnotation


The SetAnnotation method setAnnotation() This method will set the Annotation for this comment marker.
Syntax
HRESULT SetAnnotation(
  IAAFSourceReference*  pAnnotation
);

Parameters
  [in]  pAnnotation
  Pointer to an annotation object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetAnnotation() This method will set the Annotation for this
comment marker. If this method fails no state will be changed.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.)
pAnnotation: Annotation property value.
See Also


IAAFComponent Interface


In addition to the methods inherited from IUnknown, the IAAFComponent interface exposes the following methods.
GetDataDef
GetLength
SetDataDef
SetLength



IAAFComponent::GetDataDef


The GetDataDef method getDataDef() returns data definition object.
Syntax
HRESULT GetDataDef(
  [retval][out]  aafUID_t
);

Parameters
  aafUID_t
  Specifies aafUID_t.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDataDef() returns data definition object. Succeeds if all
of the following are true: - the pDatadef pointer is valid.
If this method fails nothing will be written to *pDatadef. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pDatadef arg is NULL.
aafUID_t: DataDef of this object.
See Also


IAAFComponent::GetLength


The GetLength method getLength() Gets the duration in edit units of this component.
Syntax
HRESULT GetLength(
  [retval][out]  aafLength_t
);

Parameters
  aafLength_t
  Specifies aaflength_t.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetLength() Gets the duration in edit units of this component.
Succeeds if all of the following are true: - the pLength pointer
is valid. - the optional length property is present for this
object. This method deals with an optional property, which will
only be present for time-varying media. If this method fails
nothing will be written to *pLength. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - pLength arg
is NULL. AAFRESULT_BAD_PROP - the optional length property is
not present for this object.
aafLength_t: Length of this component.
See Also


IAAFComponent::SetDataDef


The SetDataDef method setDataDef() sets the data definition property AUID on this component.
Syntax
HRESULT SetDataDef(
  aafUID_t*  pDatadef
);

Parameters
  [in]  pDatadef
  Pointer to a datadef object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetDataDef() sets the data definition property AUID on this component.
Succeeds if all of the following are true: - the pDatadef pointer
is valid. If this method fails the Data Definition property will
not be changed. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pDatadef arg is NULL.
pDatadef: DataDef of this object.
See Also


IAAFComponent::SetLength


The SetLength method ************************ Interface IAAFComponent ************************ The component class represents an essence element.
Syntax
HRESULT SetLength(
  aafLength_t*  pLength
);

Parameters
  [in]  pLength
  Pointer to a length object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFComponent ************************
The component class represents an essence element. A Component
is an abastract class with two subclasses: Segment and Transition.
The GetLength and SetLength only aplies to time-varying media
and it is an optional property. Non time-varying objects DO NOT
support this property. In addition to the specific error results
listed for each method, all methods in this interface may also
return one of the following values: AAFRESULT_NOMEMORY - insufficient
system memory is available to perform the operation. AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it through
this object's primary interface. Note that IAAFComponent is a
primary interface for an abstract class, so it is not appropriate
for the Initialize() method to exist in this interface. The Initialize()
method is available through the concrete object's primary interface.
c-11d2-8411-00600832acb8 SetLength() Sets the length property
value on this component object. Succeeds if all of the following
are true: - the pLength pointer is valid. - the optional length
property is present for this object. This method deals with an
optional property, which will only be present for time-varying
media. If this method fails the length property will not be changed.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pVersion arg is NULL. AAFRESULT_BAD_PROP - the optional length
property is not present for this object.
pLength: The duration in edit units of this component.
See Also


IAAFCompositionMob Interface


In addition to the methods inherited from IUnknown, the IAAFCompositionMob interface exposes the following methods.
GetDefaultFade
Initialize
SetDefaultFade

The AAFCompositionMob object implements the IAAFCompositionMob interface and also implements the following:

Interface Method
IAAFMob AppendComment
AppendNewSlot
AppendNewTimelineSlot
AppendSlot
ChangeRef
CloneExternal
Copy
EnumAAFAllMobComments
EnumAAFAllMobSlots
FindSlotBySlotID
GetCreateTime
GetMobID
GetMobInfo
GetModTime
GetName
GetNameBufLen
GetNumComments
GetNumSlots
OffsetToMobTimecode
SetMobID
SetModTime
SetName




IAAFCompositionMob::GetDefaultFade


The GetDefaultFade method getDefaultFade() Get the default fade for this composition.
Syntax
HRESULT GetDefaultFade(
  aafDefaultFade_t*  pResult
);

Parameters
  [out]  pResult
  If the method succeeds, specifies a pointer to a result object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDefaultFade() Get the default fade for this composition.
If there is no default fade, this function returns with no error,
but the VALID field of the structure is false. This allows you
to pass this struct to SourceClip::GetFade() in all cases. Succeeds
if all of the following are true: - this object has already been
initialized. - the pResult pointer is valid. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NOT_INITIALIZED - This
object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pResult argument is NULL.
pResult: a default fade struct.
See Also


IAAFCompositionMob::Initialize


The Initialize method .
Syntax
HRESULT Initialize(
  aafCharacter*  pName
);

Parameters
  [in]  pName
  Pointer to a name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFCompositionMob ************************
The IAAFCompositionMob interface is implemented on objects which
can specify how to combine content data elements into a sequence,
how to modify content data elements, and how to synchronize content
data elements. In addition to the specific error results listed
for each method, all methods in this interface may also return
one of the following values: AAFRESULT_NOMEMORY - insufficient
system memory is available to perform the operation. e-11D2-bfA3-006097116212
Initialize() Initializes this object with the given name. Succeeds
if all of the following are true: - this object has not yet been
initialized. - the pName pointer is valid. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_ALREADY_INITIALIZED - Initialize()
has already been called on this object. AAFRESULT_NULL_PARAM
- pName argument is NULL.
pName: Mob name [optional].
See Also


IAAFCompositionMob::SetDefaultFade


The SetDefaultFade method setDefaultFade() Adds the default crossfade properties to the Mob.
Syntax
HRESULT SetDefaultFade(
  aafLength_t  fadeLength,
  aafFadeType_t  fadeType,
  aafRational_t  fadeEditUnit
);

Parameters
  [in]  fadeLength
  Specifies fadelength.
  [in]  fadeType
  Specifies fadetype.
  [in]  fadeEditUnit
  Specifies fadeedit unit.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetDefaultFade() Adds the default crossfade properties to the
Mob. Succeeds if all of the following are true: - this object
has already been initialized. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it. AAFRESULT_BAD_TYPE - invalid fadeType.
AAFRESULT_BAD_LENGTH - invalid fadeLength.
fadeLength: default fade type.
fadeType: default fade edit unit.
See Also


IAAFConstantValue Interface


In addition to the methods inherited from IUnknown, the IAAFConstantValue interface exposes the following methods.
GetValue
GetValueBufLen
SetValue

The AAFConstantValue object implements the IAAFConstantValue interface and also implements the following:

Interface Method
IAAFParameter GetParameterDefinition
GetTypeDefinition
SetParameterDefinition
SetTypeDefinition




IAAFConstantValue::GetValue


The GetValue method .
Syntax
HRESULT GetValue(
  aafUInt32  valueSize,
  aafDataBuffer_t  pValue,
  aafUInt32*  bytesRead
);

Parameters
  [in]  valueSize
  Specifies valuesize.
  [out]  pValue
  If the method succeeds, specifies a pointer to a value object.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFConstantValue ************************
The IAAFConstantValue interface is implemented by objects that
specify a parameter whose value is constant for an entire operation
group. Use IAAFVaryingValue and one or more IAAFControlPoints
for parameters which change in value during the operation group.
In addition to the specific error results listed for each method,
all methods in this interface may also return one of the following
values: AAFRESULT_NOMEMORY - insufficient system memory is available
to perform the operation. a-11D2-bfA5-006097116212 /****/ GetValue()
Writes the value into the pValue buffer. The buffer is allocated
by the caller, and the size of the buffer is given by valueSize.
Caller may call GetValueBufLen() to determine the required buffer
size. Succeeds if all of the following are true: - the pValue
pointer is valid. - valueSize indicates the buffer is large enough
to hold the name. If this method fails nothing will be written
to *pValue. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pValue arg is NULL. AAFRESULT_SMALLBUF - valueSize indicates
the buffer is too small to hold the value.
valueSize: Preallocated buffer to hold value.
pValue: Number of actual bytes read.
See Also


IAAFConstantValue::GetValueBufLen


The GetValueBufLen method getValueBufLen() Returns the length of buffer required for the GetValue() method.
Syntax
HRESULT GetValueBufLen(
  aafUInt32*  pLen
);

Parameters
  [out]  pLen
  If the method succeeds, specifies a pointer to a len object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetValueBufLen() Returns the length of buffer required for the
GetValue() method. The value is placed into the location specified
by pLen. Succeeds if all of the following are true: - the pLen
pointer is valid. If this method fails nothing will be written
to *pLen. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pLen arg is NULL.
pLen: Pointer to an variable used to return the length.
See Also


IAAFConstantValue::SetValue


The SetValue method /****/ SetValue() The data value is set from a buffer of size valueSize.
Syntax
HRESULT SetValue(
  aafUInt32  valueSize,
  aafDataBuffer_t  pValue
);

Parameters
  [in]  valueSize
  Specifies valuesize.
  [in]  pValue
  Pointer to a value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ SetValue() The data value is set from a buffer of size
valueSize. Succeeds if all of the following are true: - the pValue
pointer is valid. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pValue is null.
valueSize: buffer containing value.
See Also


IAAFContainerDef Interface


In addition to the methods inherited from IUnknown, the IAAFContainerDef interface exposes the following methods.
EssenceIsIdentified
SetEssenceIsIdentified

The AAFContainerDef object implements the IAAFContainerDef interface and also implements the following:

Interface Method
IAAFDefObject AppendPluginDescriptor
EnumPluginDescriptors
GetAUID
GetDescription
GetDescriptionBufLen
GetName
GetNameBufLen
Init
PrependPluginDescriptor
SetDescription
SetName




IAAFContainerDef::EssenceIsIdentified


The EssenceIsIdentified method .
Syntax
HRESULT EssenceIsIdentified(
  aafBool*  pEssenceIsIdentified
);

Parameters
  [out]  pEssenceIsIdentified
  If the method succeeds, specifies a pointer to an essence is identified object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFContainerDef ************************
This interface is used with an object representing a particular
kind of essence stream factory object, which may be implemented
by one or more AAFPluginDescriptors. In addition to the specific
error results listed for each method, all methods in this interface
may also return one of the following values: AAFRESULT_NOMEMORY
- insufficient system memory is available to perform the operation.
2-11d2-809C-006008143E6F EssenceIsIdentified() Tells whether
the given plugin is capable of supporting authentication. The
methods for authenticating a plugin are still tbd. Succeeds if
all of the following are true: - the pEssenceIsIdentified pointer
is valid. If this method fails nothing will be written to *pEssenceIsIdentified.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pEssenceIsIdentified arg is NULL.
pEssenceIsIdentified: The EssenceIsIdentified.
See Also


IAAFContainerDef::SetEssenceIsIdentified


The SetEssenceIsIdentified method setEssenceIsIdentified() Tells whether the given plugin is capable of supporting authentication.
Syntax
HRESULT SetEssenceIsIdentified(
  aafBool  EssenceIsIdentified
);

Parameters
  [in]  EssenceIsIdentified
  Specifies essence is identified.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetEssenceIsIdentified() Tells whether the given plugin is capable
of supporting authentication. The methods for authenticating
a plugin are still tbd. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it.
EssenceIsIdentified: The EssenceIsIdentified flag.
See Also


IAAFControlPoint Interface


In addition to the methods inherited from IUnknown, the IAAFControlPoint interface exposes the following methods.
GetEditHint
GetTime
GetTypeDefinition
GetValue
GetValueBufLen
SetEditHint
SetTime
SetTypeDefinition
SetValue



IAAFControlPoint::GetEditHint


The GetEditHint method getEditHint() Returns the edit hint of the control point, which describes how to alter the position if the AAFOperationGroup is made longer or shorter.
Syntax
HRESULT GetEditHint(
  aafEditHint_t*  pEditHint
);

Parameters
  [out]  pEditHint
  If the method succeeds, specifies a pointer to an edit hint object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetEditHint() Returns the edit hint of the control point, which
describes how to alter the position if the AAFOperationGroup
is made longer or shorter. Succeeds if all of the following are
true: - the pEditHint pointer is valid. If this method fails
nothing will be written to *pEditHint. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it. AAFRESULT_PROP_NOT_PRESENT
- This property does not exist in the file. AAFRESULT_NULL_PARAM
- pEditHint arg is NULL.
pEditHint: Pointer to an aafEditHint_t.
See Also


IAAFControlPoint::GetTime


The GetTime method .
Syntax
HRESULT GetTime(
  aafRational_t*  pTime
);

Parameters
  [out]  pTime
  If the method succeeds, specifies a pointer to a time object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFControlPoint ************************
The IAAFControlPoint interface is implemented by objects that
store an individual point value of a parameter whose value changes
during the operation group. IAAFControlPoints must be added to
an object which implements IAAFVaryingValue, which is then added
to the IAAFOperationGroup. For parameters which are constant
in value during the operation group, use IAAFConstantValue. In
addition to the specific error results listed for each method,
all methods in this interface may also return one of the following
values: AAFRESULT_NOMEMORY - insufficient system memory is available
to perform the operation. 3-11D2-BFa3-006097116212 GetTime()
Returns the position of the control point within an operation
group, expressed as a rational running from 0 to 1. Succeeds
if all of the following are true: - the pTime pointer is valid.
If this method fails nothing will be written to *pTime. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_PROP_NOT_PRESENT
- This property does not exist in the file. AAFRESULT_NULL_PARAM
- pTime arg is NULL.
pTime: Pointer to an aafRational_t.
See Also


IAAFControlPoint::GetTypeDefinition


The GetTypeDefinition method getTypeDefinition() Places the IAAFTypeDefinition of the dataval inside this parameter into the *ppTypeDef argument.
Syntax
HRESULT GetTypeDefinition(
  IAAFTypeDef**  ppTypeDef
);

Parameters
  [out]  ppTypeDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a type def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetTypeDefinition() Places the IAAFTypeDefinition of the dataval
inside this parameter into the *ppTypeDef argument. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- ppTypeDef is null.
ppTypeDef: Type Definition of the dataval inside of this object.

See Also


IAAFControlPoint::GetValue


The GetValue method getValue() Writes the value into the pValue buffer.
Syntax
HRESULT GetValue(
  aafUInt32  valueSize,
  aafDataBuffer_t  pValue,
  aafUInt32*  bytesRead
);

Parameters
  [in]  valueSize
  Specifies valuesize.
  [out]  pValue
  If the method succeeds, specifies a pointer to a value object.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetValue() Writes the value into the pValue buffer. The buffer
is allocated by the caller, and the size of the buffer is given
by valueSize. Caller may call GetValueBufLen() to determine the
required buffer size. Succeeds if all of the following are true:
- the pValue pointer is valid. - valueSize indicates the buffer
is large enough to hold the name. If this method fails nothing
will be written to *pValue. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pValue arg is NULL. AAFRESULT_SMALLBUF
- valueSize indicates the buffer is too small to hold the value.

valueSize: Preallocated buffer to hold value.
pValue: Number of actual bytes read.
See Also


IAAFControlPoint::GetValueBufLen


The GetValueBufLen method getValueBufLen() Returns the length of buffer required for the GetValue() method.
Syntax
HRESULT GetValueBufLen(
  aafUInt32*  pLen
);

Parameters
  [out]  pLen
  If the method succeeds, specifies a pointer to a len object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetValueBufLen() Returns the length of buffer required for the
GetValue() method. The value is placed into the location specified
by pLen. Succeeds if all of the following are true: - the pLen
pointer is valid. If this method fails nothing will be written
to *pLen. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pLen arg is NULL.
pLen: Pointer to an variable used to return the length.
See Also


IAAFControlPoint::SetEditHint


The SetEditHint method setEditHint() Sets the control point Edit hint value, which describes how to alter the position if the AAFOperationGroup is made longer or shorter.
Syntax
HRESULT SetEditHint(
  aafEditHint_t  editHint
);

Parameters
  [in]  editHint
  Specifies edithint.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetEditHint() Sets the control point Edit hint value, which describes
how to alter the position if the AAFOperationGroup is made longer
or shorter. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
editHint: Control Point Edit hint.
See Also


IAAFControlPoint::SetTime


The SetTime method setTime() Sets the position of the control point within an operation group, expressed as a rational running from 0 to 1.
Syntax
HRESULT SetTime(
  aafRational_t  pTime
);

Parameters
  [in]  pTime
  Pointer to a time object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetTime() Sets the position of the control point within an operation
group, expressed as a rational running from 0 to 1. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
pTime: Control Point time.
See Also


IAAFControlPoint::SetTypeDefinition


The SetTypeDefinition method setTypeDefinition() Sets the IAAFTypeDefinition of the dataval inside this parameter to be the given one.
Syntax
HRESULT SetTypeDefinition(
  IAAFTypeDef*  pTypeDef
);

Parameters
  [in]  pTypeDef
  Pointer to a type def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetTypeDefinition() Sets the IAAFTypeDefinition of the dataval
inside this parameter to be the given one. Succeeds if all of
the following are true: - the pTypeDef pointer is valid. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pTypeDef is null.
pTypeDef: Type Definition of the dataval inside of this object.

See Also


IAAFControlPoint::SetValue


The SetValue method setValue() The data value is set from a buffer of size valueSize.
Syntax
HRESULT SetValue(
  aafUInt32  valueSize,
  aafDataBuffer_t  pValue
);

Parameters
  [in]  valueSize
  Specifies valuesize.
  [in]  pValue
  Pointer to a value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetValue() The data value is set from a buffer of size valueSize.
Succeeds if all of the following are true: - the pValue pointer
is valid. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pValue is null.
valueSize: buffer containing value.
See Also


IAAFDataDef Interface


In addition to the methods inherited from IUnknown, the IAAFDataDef interface exposes the following methods.
DoesDataDefConvertFrom
DoesDataDefConvertTo
IsDataDefOf
IsMatteKind
IsPictureKind
IsPictureWithMatteKind
IsSoundKind

The AAFDataDef object implements the IAAFDataDef interface and also implements the following:

Interface Method
IAAFDefObject AppendPluginDescriptor
EnumPluginDescriptors
GetAUID
GetDescription
GetDescriptionBufLen
GetName
GetNameBufLen
Init
PrependPluginDescriptor
SetDescription
SetName




IAAFDataDef::DoesDataDefConvertFrom


The DoesDataDefConvertFrom method doesDataDefConvertFrom() Sets return value to TRUE if the DataDef of the given object can be converted from the DataDef specified in the IN parameter specified with the DataDefName string.
Syntax
HRESULT DoesDataDefConvertFrom(
  aafUID_t*  pAuid,
  [retval,out]  aafBool
);

Parameters
  [in]  pAuid
  Pointer to an auid object.
  aafBool
  Specifies aafbool.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
DoesDataDefConvertFrom() Sets return value to TRUE if the DataDef
of the given object can be converted from the DataDef specified
in the IN parameter specified with the DataDefName string.
pAuid: pointer to result.
See Also


IAAFDataDef::DoesDataDefConvertTo


The DoesDataDefConvertTo method doesDataDefConvertTo() Sets return value to TRUE if the DataDef of the given object can be converted to the DataDef specified in the IN parameter with the DataDefName string.
Syntax
HRESULT DoesDataDefConvertTo(
  aafUID_t*  pAuid,
  [retval,out]  aafBool
);

Parameters
  [in]  pAuid
  Pointer to an auid object.
  aafBool
  Specifies aafbool.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
DoesDataDefConvertTo() Sets return value to TRUE if the DataDef
of the given object can be converted to the DataDef specified
in the IN parameter with the DataDefName string.
pAuid: pointer to result.
See Also


IAAFDataDef::IsDataDefOf


The IsDataDefOf method isDataDefOf() Sets the value to TRUE if the DataDef of the given object matches the DataDef specified in the IN parameter with the DataDefName string.
Syntax
HRESULT IsDataDefOf(
  aafUID_t*  pAuid,
  [retval,out]  aafBool
);

Parameters
  [in]  pAuid
  Pointer to an auid object.
  aafBool
  Specifies aafbool.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsDataDefOf() Sets the value to TRUE if the DataDef of the given
object matches the DataDef specified in the IN parameter with
the DataDefName string.
pAuid: pointer to result.
See Also


IAAFDataDef::IsMatteKind


The IsMatteKind method isMatteKind() Sets return value to TRUE if DataDef is a matte.
Syntax
HRESULT IsMatteKind(
  [retval,out]  aafBool
);

Parameters
  aafBool
  Specifies aafbool.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsMatteKind() Sets return value to TRUE if DataDef is a matte.

aafBool: pointer to the return value.
See Also


IAAFDataDef::IsPictureKind


The IsPictureKind method ************************ Interface IAAFDataDef ************************ 1-11d2-bf96-006097116212 IsPictureKind() Sets return value to TRUE if DataDef is a picture.
Syntax
HRESULT IsPictureKind(
  [retval,out]  aafBool
);

Parameters
  aafBool
  Specifies aafbool.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFDataDef ************************
1-11d2-bf96-006097116212 IsPictureKind() Sets return value to
TRUE if DataDef is a picture.
aafBool: pointer to the return value.
See Also


IAAFDataDef::IsPictureWithMatteKind


The IsPictureWithMatteKind method isPictureWithMatteKind() Sets return value to TRUE if DataDef is a picture with matte.
Syntax
HRESULT IsPictureWithMatteKind(
  [retval,out]  aafBool
);

Parameters
  aafBool
  Specifies aafbool.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsPictureWithMatteKind() Sets return value to TRUE if DataDef
is a picture with matte.
aafBool: pointer to the return value.
See Also


IAAFDataDef::IsSoundKind


The IsSoundKind method isSoundKind() Sets return value to TRUE if DataDef is a sound.
Syntax
HRESULT IsSoundKind(
  [retval,out]  aafBool
);

Parameters
  aafBool
  Specifies aafbool.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsSoundKind() Sets return value to TRUE if DataDef is a sound.

aafBool: pointer to the return value.
See Also


IAAFDefObject Interface


In addition to the methods inherited from IUnknown, the IAAFDefObject interface exposes the following methods.
AppendPluginDescriptor
EnumPluginDescriptors
GetAUID
GetDescription
GetDescriptionBufLen
GetName
GetNameBufLen
Init
PrependPluginDescriptor
SetDescription
SetName



IAAFDefObject::AppendPluginDescriptor


The AppendPluginDescriptor method appendPluginDescriptor() Append another PluginDescriptor to this PluggableDefinition.
Syntax
HRESULT AppendPluginDescriptor(
  IAAFPluginDescriptor*  pPluginDescriptor
);

Parameters
  [in]  pPluginDescriptor
  Pointer to a plugin descriptor object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendPluginDescriptor() Append another PluginDescriptor to this
PluggableDefinition. Use this function to add a PluginDescriptor
to be scanned last when searching for the plugin (a secondary
location for the plugin). Succeeds if all of the following are
true: - the pPluginDescriptor pointer is valid. If this method
fails no state will be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pPluginDescriptor is null.

pPluginDescriptor: PluginDescriptor to append.
See Also


IAAFDefObject::EnumPluginDescriptors


The EnumPluginDescriptors method enumPluginDescriptors() Returns an IEnumAAFPluginDescriptors enumerator for the plugin descriptors contained in the AAFPluggableDef through the *ppEnum argument.
Syntax
HRESULT EnumPluginDescriptors(
  IEnumAAFPluginDescriptors**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
EnumPluginDescriptors() Returns an IEnumAAFPluginDescriptors
enumerator for the plugin descriptors contained in the AAFPluggableDef
through the *ppEnum argument. The returned enumerator is AddRef()ed
before it is returned. Succeeds if all of the following are true:
- this object has already been initialized. - the ppEnum pointer
is valid. If this method fails nothing will be written to *ppEnum.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- Initialize() has already been called on this object. AAFRESULT_NULL_PARAM
- ppEnum is null. E_FAIL - Failed to create the enumerator.

ppEnum: AAFPluginDescriptor Enumeration.
See Also


IAAFDefObject::GetAUID


The GetAUID method getAUID() Gets the AUID for this object.
Syntax
HRESULT GetAUID(
  [retval,out]  aafUID_t
);

Parameters
  aafUID_t
  Specifies aafUID_t.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetAUID() Gets the AUID for this object.
aafUID_t: Pointer to an AUID reference.
See Also


IAAFDefObject::GetDescription


The GetDescription method getDescription() Gets the Description of this definition.
Syntax
HRESULT GetDescription(
  wchar_t*  pDescription,
  aafUInt32  bufSize
);

Parameters
  [out]  pDescription
  If the method succeeds, specifies a pointer to a description object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDescription() Gets the Description of this definition. Writes
the Description property, with a trailing null character, into
the pDescription buffer. The buffer is allocated by the caller.
The size of the buffer is given by bufSize. If the Description
property has not yet been set, a zero-length string will be written
(that is, only the trailing null character). Caller may call
GetDescriptionBufLen() to determine the required buffer size.
If this method fails nothing will be written to *pDescription.
Succeeds if: - The pDescription pointer is valid. - bufSize indicates
that the buffer is large enough to hold Description. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pDescription arg is NULL. AAFRESULT_SMALL_BUF - bufSize indicates
that the allocated buffer is not large enough to hold Description.

pDescription: size of *pDescription buffer in bytes.
See Also


IAAFDefObject::GetDescriptionBufLen


The GetDescriptionBufLen method getDescriptionBufLen() Returns size of buffer (in bytes) required for GetDescription().
Syntax
HRESULT GetDescriptionBufLen(
  aafUInt32*  pBufSize
);

Parameters
  [out]  pBufSize
  If the method succeeds, specifies a pointer to a buf size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDescriptionBufLen() Returns size of buffer (in bytes) required
for GetDescription(). Succeeds if: - The pBufSize pointer is
valid. This method will return the following codes. If more than
one of the listed errors is in effect, it will return the first
one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pBufSize arg is NULL.
pBufSize: size of required buffer, in bytes.
See Also


IAAFDefObject::GetName


The GetName method getName() Gets the Name of this definition.
Syntax
HRESULT GetName(
  wchar_t*  pName,
  aafUInt32  bufSize
);

Parameters
  [out]  pName
  If the method succeeds, specifies a pointer to a name object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetName() Gets the Name of this definition. Writes the Name property,
with a trailing null character, into the pName buffer. The buffer
is allocated by the caller. The size of the buffer is given by
bufSize. If the Name property has not yet been set, a zero-length
string will be written (that is, only the trailing null character).
Caller may call GetNameBufLen() to determine the required buffer
size. If this method fails nothing will be written to *pName.
Succeeds if: - The pName pointer is valid. - bufSize indicates
that the buffer is large enough to hold Name. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - pName arg
is NULL. AAFRESULT_SMALL_BUF - bufSize indicates that the allocated
buffer is not large enough to hold Name.
pName: size of *pName buffer in bytes.
See Also


IAAFDefObject::GetNameBufLen


The GetNameBufLen method getNameBufLen() Returns size of buffer (in bytes) required for GetName().
Syntax
HRESULT GetNameBufLen(
  aafUInt32*  pBufSize
);

Parameters
  [out]  pBufSize
  If the method succeeds, specifies a pointer to a buf size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNameBufLen() Returns size of buffer (in bytes) required for
GetName(). Succeeds if: - The pBufSize pointer is valid. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pBufSize arg is NULL.
pBufSize: size of required buffer, in bytes.
See Also


IAAFDefObject::Init


The Init method ************************ Interface IAAFDefObject ************************ This interface is defines an item to be referenced in the AAF file.
Syntax
HRESULT Init(
  aafUID_t*  pAuid,
  aafCharacter*  pName,
  aafCharacter*  pDescription
);

Parameters
  [in]  pAuid
  Pointer to an auid object.
  [in]  pName
  Pointer to a name object.
  [in]  pDescription
  Pointer to a description object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFDefObject ************************
This interface is defines an item to be referenced in the AAF
file. It specifies the AUID unique identifier used to define
types used in AAF persistent objects. In addition to the specific
error results listed for each method, all methods in this interface
may also return one of the following values: AAFRESULT_NOMEMORY
- insufficient system memory is available to perform the operation.
AAFRESULT_NOT_INITIALIZED - This object has not yet had Initialize()
called on it through this object's primary interface. Note that
IAAFObject is a primary interface for an abstract class, so it
is not appropriate for the Initialize() method to exist in this
interface. The Initialize() method is available through the
concrete object's primary interface. 1-11d2-bf96-006097116212
Init() Init all fields of a definition object.
pAuid: Name for new DefObject.
pName: Description for new DefObject.
See Also


IAAFDefObject::PrependPluginDescriptor


The PrependPluginDescriptor method prependPluginDescriptor() Append another PluginDescriptor to this PluggableDefinition.
Syntax
HRESULT PrependPluginDescriptor(
  IAAFPluginDescriptor*  pPluginDescriptor
);

Parameters
  [in]  pPluginDescriptor
  Pointer to a plugin descriptor object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
PrependPluginDescriptor() Append another PluginDescriptor to
this PluggableDefinition. Use this function to add a PluginDescriptor
to be scanned first when searching for the plugin (a new primary
location for the plugin). Succeeds if all of the following are
true: - the pPluginDescriptor pointer is valid. If this method
fails no state will be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pPluginDescriptor is null.

pPluginDescriptor: PluginDescriptor to append.
See Also


IAAFDefObject::SetDescription


The SetDescription method setDescription() Sets the Description of this definition.
Syntax
HRESULT SetDescription(
  wchar_t*  pDescription
);

Parameters
  [in]  pDescription
  Pointer to a description object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetDescription() Sets the Description of this definition. Set
the Description property to the value specified in pDescription.
A copy is made of the data so the caller retains ownership of
the *pDescription buffer and is responsible for de-allocating
it. There is no pre-set limit to the length of the name, other
than available system memory or disk space. Succeeds if all of
the following are true: - the pDescription pointer is valid.
If this method fails the Description property will not be changed.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pDescription arg is NULL.
pDescription: buffer from which Description is to be read.
See Also


IAAFDefObject::SetName


The SetName method setName() Sets the Name of this definition.
Syntax
HRESULT SetName(
  wchar_t*  pName
);

Parameters
  [in]  pName
  Pointer to a name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetName() Sets the Name of this definition. Set the Name property
to the value specified in pName. A copy is made of the data so
the caller retains ownership of the *pName buffer and is responsible
for de-allocating it. There is no pre-set limit to the length
of the name, other than available system memory or disk space.
Succeeds if all of the following are true: - the pName pointer
is valid. If this method fails the Name property will not be
changed. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pName arg is NULL.
pName: buffer from which Name is to be read.
See Also


IAAFDictionary Interface


In addition to the methods inherited from IUnknown, the IAAFDictionary interface exposes the following methods.
CreateInstance
GetClassDefinitions
GetCodecDefinitions
GetContainerDefinitions
GetDataDefinitions
GetInterpolationDefinitions
GetOperationDefinitions
GetParameterDefinitions
GetPluginDescriptors
GetTypeDefinitions
LookupClass
LookupCodecDefinition
LookupContainerDefinition
LookupDataDefintion
LookupInterpolationDefinition
LookupOperationDefinition
LookupParameterDefinition
LookupPluginDescriptor
LookupType
RegisterClass
RegisterCodecDefinition
RegisterContainerDefinition
RegisterDataDefintion
RegisterInterpolationDefinition
RegisterOperationDefinition
RegisterParameterDefinition
RegisterPluginDescriptor
RegisterType



IAAFDictionary::CreateInstance


The CreateInstance method ************************ Interface IAAFDictionary ************************ This interface is used to access dictionary services in an AAF file.
Syntax
HRESULT CreateInstance(
  aafUID_t*  pAUID,
  REFIID  riid,
  IUnknown**  ppvObject
);

Parameters
  [in]  pAUID
  Pointer to an AUID object.
  [in]  riid
  Specifies riid.
  [out]  ppvObject
  Specifies ppvobject.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFDictionary ************************
This interface is used to access dictionary services in an AAF
file. In addition to the specific error results listed for each
method, all methods in this interface may also return one of
the following values: AAFRESULT_NOMEMORY - insufficient system
memory is available to perform the operation. * Stub only. Implementation
not yet added * D-11D2-BF78-00104BC9156D CreateInstance() Creates
a single uninitialized AAF object of the class associated with
a specified stored object id.
pAUID: Reference to the identifier of the interface.
riid: interface pointer requested in riid.
See Also


IAAFDictionary::GetClassDefinitions


The GetClassDefinitions method getClassDefinitions() Return an enumerator for all class definitions.
Syntax
HRESULT GetClassDefinitions(
  IEnumAAFClassDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetClassDefinitions() Return an enumerator for all class definitions.
Succeeds if: - The ppEnum pointer is valid. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - ppEnum
arg is NULL.
ppEnum: Class Definition Enumeration.
See Also


IAAFDictionary::GetCodecDefinitions


The GetCodecDefinitions method getCodecDefinitions() Return an enumerator for all codec definitions.
Syntax
HRESULT GetCodecDefinitions(
  IEnumAAFCodecDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCodecDefinitions() Return an enumerator for all codec definitions.

ppEnum: Definition Enumeration.
See Also


IAAFDictionary::GetContainerDefinitions


The GetContainerDefinitions method getContainerDefinitions() Return an enumerator for all container definitions.
Syntax
HRESULT GetContainerDefinitions(
  IEnumAAFContainerDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetContainerDefinitions() Return an enumerator for all container
definitions.
ppEnum: Definition Enumeration.
See Also


IAAFDictionary::GetDataDefinitions


The GetDataDefinitions method getDataDefinitions() Return an enumerator for aff data definitions.
Syntax
HRESULT GetDataDefinitions(
  IEnumAAFDataDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDataDefinitions() Return an enumerator for aff data definitions.

ppEnum: Definition Enumeration.
See Also


IAAFDictionary::GetInterpolationDefinitions


The GetInterpolationDefinitions method getInterpolationDefinitions() Return an enumerator for aff Interpolation definitions.
Syntax
HRESULT GetInterpolationDefinitions(
  IEnumAAFInterpolationDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetInterpolationDefinitions() Return an enumerator for aff Interpolation
definitions.
ppEnum: Definition Enumeration.
See Also


IAAFDictionary::GetOperationDefinitions


The GetOperationDefinitions method getOperationDefinitions() Return an enumerator for all operation definitions.
Syntax
HRESULT GetOperationDefinitions(
  IEnumAAFOperationDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetOperationDefinitions() Return an enumerator for all operation
definitions.
ppEnum: Definition Enumeration.
See Also


IAAFDictionary::GetParameterDefinitions


The GetParameterDefinitions method getParameterDefinitions() Return an enumerator for all parameter definitions.
Syntax
HRESULT GetParameterDefinitions(
  IEnumAAFParameterDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetParameterDefinitions() Return an enumerator for all parameter
definitions.
ppEnum: Definition Enumeration.
See Also


IAAFDictionary::GetPluginDescriptors


The GetPluginDescriptors method getPluginDescriptors() Return an enumerator for all plugin descriptors.
Syntax
HRESULT GetPluginDescriptors(
  IEnumAAFPluginDescriptors**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPluginDescriptors() Return an enumerator for all plugin descriptors.

ppEnum: Definition Enumeration.
See Also


IAAFDictionary::GetTypeDefinitions


The GetTypeDefinitions method getTypeDefinitions() Return an enumerator for all type definitions.
Syntax
HRESULT GetTypeDefinitions(
  IEnumAAFTypeDefs**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetTypeDefinitions() Return an enumerator for all type definitions.
Succeeds if: - The ppEnum pointer is valid. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - ppEnum
arg is NULL.
ppEnum: Type Def Enumeration.
See Also


IAAFDictionary::LookupClass


The LookupClass method lookupClass() Return the class definition with the given id.
Syntax
HRESULT LookupClass(
  aafUID_t*  pClassID,
  IAAFClassDef**  ppClassDef
);

Parameters
  [in]  pClassID
  Pointer to a classID object.
  [out]  ppClassDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a class def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupClass() Return the class definition with the given id.
Succeeds if: - The pClassID pointer is valid. - The ppClassDef
pointer is valid. - the ID is a recognized id for a class definition.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- Either pClassID or ppClassDef arg is NULL. AAFRESULT_BAD_PARAM
- The given ID is not recognized as a class definition ID.
pClassID: Class Definition.
See Also


IAAFDictionary::LookupCodecDefinition


The LookupCodecDefinition method lookupCodecDefinition() Return the codec definition object with the given id.
Syntax
HRESULT LookupCodecDefinition(
  aafUID_t*  parameterID,
  IAAFCodecDef**  ppParmDef
);

Parameters
  [in]  parameterID
  Specifies parameterID.
  [out]  ppParmDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a parm def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupCodecDefinition() Return the codec definition object with
the given id.
parameterID: Codec definition object.
See Also


IAAFDictionary::LookupContainerDefinition


The LookupContainerDefinition method lookupContainerDefinition() Return the container definition object with the given id.
Syntax
HRESULT LookupContainerDefinition(
  aafUID_t*  parameterID,
  IAAFContainerDef**  ppParmDef
);

Parameters
  [in]  parameterID
  Specifies parameterID.
  [out]  ppParmDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a parm def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupContainerDefinition() Return the container definition object
with the given id.
parameterID: Container definition object.
See Also


IAAFDictionary::LookupDataDefintion


The LookupDataDefintion method lookupDataDefintion() Return the data definition object with the given id.
Syntax
HRESULT LookupDataDefintion(
  aafUID_t*  pDataDefintionID,
  IAAFDataDef**  ppDataDef
);

Parameters
  [in]  pDataDefintionID
  Pointer to a data defintionID object.
  [out]  ppDataDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a data def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupDataDefintion() Return the data definition object with
the given id.
pDataDefintionID: Data Definition Object.
See Also


IAAFDictionary::LookupInterpolationDefinition


The LookupInterpolationDefinition method lookupInterpolationDefinition() Return the Interpolation definition object with the given id.
Syntax
HRESULT LookupInterpolationDefinition(
  aafUID_t*  parameterID,
  IAAFInterpolationDef**  ppInterpDef
);

Parameters
  [in]  parameterID
  Specifies parameterID.
  [out]  ppInterpDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to an interp def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupInterpolationDefinition() Return the Interpolation definition
object with the given id.
parameterID: Interpolation definition object.
See Also


IAAFDictionary::LookupOperationDefinition


The LookupOperationDefinition method lookupOperationDefinition() Return the operation definition object with the given id.
Syntax
HRESULT LookupOperationDefinition(
  aafUID_t*  operationID,
  IAAFOperationDef**  ppOperationDef
);

Parameters
  [in]  operationID
  Specifies operationID.
  [out]  ppOperationDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to an operation def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupOperationDefinition() Return the operation definition object
with the given id.
operationID: Operation definition object.
See Also


IAAFDictionary::LookupParameterDefinition


The LookupParameterDefinition method lookupParameterDefinition() Return the parameter definition object with the given id.
Syntax
HRESULT LookupParameterDefinition(
  aafUID_t*  parameterID,
  IAAFParameterDef**  ppParmDef
);

Parameters
  [in]  parameterID
  Specifies parameterID.
  [out]  ppParmDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a parm def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupParameterDefinition() Return the parameter definition object
with the given id.
parameterID: Parameter definition object.
See Also


IAAFDictionary::LookupPluginDescriptor


The LookupPluginDescriptor method lookupPluginDescriptor() Return the plugin descriptor object with the given id.
Syntax
HRESULT LookupPluginDescriptor(
  aafUID_t*  parameterID,
  IAAFPluginDescriptor**  ppPlugDesc
);

Parameters
  [in]  parameterID
  Specifies parameterID.
  [out]  ppPlugDesc
  If the method succeeds, specifies a pointer to a variable containing a pointer to a plug desc object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupPluginDescriptor() Return the plugin descriptor object
with the given id.
parameterID: plugin descriptor object.
See Also


IAAFDictionary::LookupType


The LookupType method lookupType() Return the type definition object with the given id.
Syntax
HRESULT LookupType(
  aafUID_t*  pTypeID,
  IAAFTypeDef**  ppTypeDef
);

Parameters
  [in]  pTypeID
  Pointer to a typeID object.
  [out]  ppTypeDef
  If the method succeeds, specifies a pointer to a variable containing a pointer to a type def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
LookupType() Return the type definition object with the given
id. Succeeds if: - The pTypeID pointer is valid. - The ppTypeDef
pointer is valid. - the ID is a recognized id for a type definition.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- Either pTypeID or ppTypeDef arg is NULL. AAFRESULT_BAD_PARAM
- The given ID is not recognized as a type definition ID.
pTypeID: Type Definition Object.
See Also


IAAFDictionary::RegisterClass


The RegisterClass method registerClass() Add the class definition object to the dictionary.
Syntax
HRESULT RegisterClass(
  IAAFClassDef*  pClassDef
);

Parameters
  [in]  pClassDef
  Pointer to a class def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterClass() Add the class definition object to the dictionary.
Succeeds if: - The pClassDef pointer is valid. - the ID contained
in the class def is not already been registered. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pClassDef arg is NULL. AAFRESULT_BAD_PARAM - The class def ID
has already been registered.
pClassDef: Class Definition.
See Also


IAAFDictionary::RegisterCodecDefinition


The RegisterCodecDefinition method registerCodecDefinition() Add the codec definition object to the header's list of definitions.
Syntax
HRESULT RegisterCodecDefinition(
  IAAFCodecDef*  pParmDef
);

Parameters
  [in]  pParmDef
  Pointer to a parm def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterCodecDefinition() Add the codec definition object to
the header's list of definitions.
pParmDef: Codec Definition Object.
See Also


IAAFDictionary::RegisterContainerDefinition


The RegisterContainerDefinition method registerContainerDefinition() Add the container definition object to the header's list of definitions.
Syntax
HRESULT RegisterContainerDefinition(
  IAAFContainerDef*  pParmDef
);

Parameters
  [in]  pParmDef
  Pointer to a parm def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterContainerDefinition() Add the container definition object
to the header's list of definitions.
pParmDef: Container Definition Object.
See Also


IAAFDictionary::RegisterDataDefintion


The RegisterDataDefintion method registerDataDefintion() Add the data definition object to the header's list of definitions.
Syntax
HRESULT RegisterDataDefintion(
  IAAFDataDef*  pDataDef
);

Parameters
  [in]  pDataDef
  Pointer to a data def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterDataDefintion() Add the data definition object to the
header's list of definitions.
pDataDef: Data Definition Object.
See Also


IAAFDictionary::RegisterInterpolationDefinition


The RegisterInterpolationDefinition method registerInterpolationDefinition() Add the Interpolation definition object to the header's list of definitions.
Syntax
HRESULT RegisterInterpolationDefinition(
  IAAFInterpolationDef*  pInterpDef
);

Parameters
  [in]  pInterpDef
  Pointer to an interp def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterInterpolationDefinition() Add the Interpolation definition
object to the header's list of definitions.
pInterpDef: Interpolation Definition Object.
See Also


IAAFDictionary::RegisterOperationDefinition


The RegisterOperationDefinition method registerOperationDefinition() Add the operation definition object to the header's list of definitions.
Syntax
HRESULT RegisterOperationDefinition(
  IAAFOperationDef*  pOperationDef
);

Parameters
  [in]  pOperationDef
  Pointer to an operation def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterOperationDefinition() Add the operation definition object
to the header's list of definitions.
pOperationDef: Operation Definition Object.
See Also


IAAFDictionary::RegisterParameterDefinition


The RegisterParameterDefinition method registerParameterDefinition() Add the operation definition object to the header's list of definitions.
Syntax
HRESULT RegisterParameterDefinition(
  IAAFParameterDef*  pParmDef
);

Parameters
  [in]  pParmDef
  Pointer to a parm def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterParameterDefinition() Add the operation definition object
to the header's list of definitions.
pParmDef: Parameter Definition Object.
See Also


IAAFDictionary::RegisterPluginDescriptor


The RegisterPluginDescriptor method registerPluginDescriptor() Add the Interpolation definition object to the header's list of definitions.
Syntax
HRESULT RegisterPluginDescriptor(
  IAAFPluginDescriptor*  pPlugDesc
);

Parameters
  [in]  pPlugDesc
  Pointer to a plug desc object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterPluginDescriptor() Add the Interpolation definition object
to the header's list of definitions.
pPlugDesc: plugin descriptor Object.
See Also


IAAFDictionary::RegisterType


The RegisterType method registerType() Add the type definition object to the dictionary.
Syntax
HRESULT RegisterType(
  IAAFTypeDef*  pTypeDef
);

Parameters
  [in]  pTypeDef
  Pointer to a type def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterType() Add the type definition object to the dictionary.
Succeeds if: - The pTypeDef pointer is valid. - the ID is not
already been registered. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pClassDef arg is NULL. AAFRESULT_BAD_PARAM
- The given type has already been registered.
pTypeDef: Type Definition Object.
See Also


IAAFDigitalImageDescriptor Interface


In addition to the methods inherited from IUnknown, the IAAFDigitalImageDescriptor interface exposes the following methods.
GetAlphaTransparency
GetCompression
GetDisplayView
GetFrameLayout
GetGamma
GetImageAlignmentFactor
GetImageAspectRatio
GetSampledView
GetStoredView
GetVideoLineMap
GetVideoLineMapSize
SetAlphaTransparency
SetCompression
SetDisplayView
SetFrameLayout
SetGamma
SetImageAlignmentFactor
SetImageAspectRatio
SetSampledView
SetStoredView
SetVideoLineMap

The AAFDigitalImageDescriptor object implements the IAAFDigitalImageDescriptor interface and also implements the following:

Interface Method
IAAFFileDescriptor GetContainerFormat
GetIsInContainer
GetLength
GetSampleRate
SetContainerFormat
SetIsInContainer
SetLength
SetSampleRate

IAAFEssenceDescriptor AppendLocator
EnumAAFAllLocators
GetNumLocators
PrependLocator




IAAFDigitalImageDescriptor::GetAlphaTransparency


The GetAlphaTransparency method getAlphaTransparency() Gets the AlphaTransparency property.
Syntax
HRESULT GetAlphaTransparency(
  aafAlphaTransparency_t*  pAlphaTransparency
);

Parameters
  [out]  pAlphaTransparency
  If the method succeeds, specifies a pointer to an alpha transparency object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetAlphaTransparency() Gets the AlphaTransparency property.
This property is optional. Valid values: kMaxValueTransparent
- means the maximum Alpha value is transparent kMinValueTransparent
- means the minimum Alpha value is transparent Succeeds if all
of the following are true: - pAlphaTransparency is a valid pointer
If this method fails, pAlphaTransparency not be changed. This
method will return the following codes: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pAlphaTransparency is NULL.
pAlphaTransparency: Alpha Transparency value..
See Also


IAAFDigitalImageDescriptor::GetCompression


The GetCompression method getCompression() Gets the kind of compression and format of compression information of the video essence data.
Syntax
HRESULT GetCompression(
  aafUID_t*  pCompression
);

Parameters
  [out]  pCompression
  If the method succeeds, specifies a pointer to a compression object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCompression() Gets the kind of compression and format of compression
information of the video essence data. This property is optional.
If there is no compression, the null AUID is returned. Succeeds
if all of the following are true: - the pCompression pointer
is valid. If this method fails nothing will be written to *pCompression.
This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pComporession arg is NULL.
pCompression: format of compression information..
See Also


IAAFDigitalImageDescriptor::GetDisplayView


The GetDisplayView method getDisplayView() Gets the dimension of display view.
Syntax
HRESULT GetDisplayView(
  aafUInt32*  pDisplayHeight,
  aafUInt32*  pDisplayWidth,
  aafInt32*  pDisplayXOffset,
  aafInt32*  pDisplayYOffset
);

Parameters
  [out]  pDisplayHeight
  If the method succeeds, specifies a pointer to a display height object.
  [out]  pDisplayWidth
  If the method succeeds, specifies a pointer to a display width object.
  [out]  pDisplayXOffset
  If the method succeeds, specifies a pointer to a displayXOffset object.
  [out]  pDisplayYOffset
  If the method succeeds, specifies a pointer to a displayYOffset object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDisplayView() Gets the dimension of display view. Typically
this includes the active picture area, but excludes leading blank
video lines and any VITC lines. The offset is specified relative
to the rectangle specified by Set/GetStoredView(). Note that
The specified display rectangle may exist outside the SampledView
or even the StoredView. Succeeds if all of the following are
true: - pDisplayHeight, pDisplayWidth, pDisplayXOffset and pDisplayYOffset
are valid pointers. If this method fails, *pDisplayHeight, *pDisplayWidth,
*pDisplayXOffset, and *pDisplayYOffset will not be changed.
This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- any of pDisplayHeight, pDisplayWidth, pDisplayXOffset, or
pDisplayYOffset are NULL.
pDisplayHeight: Number of pixels in horizontal dimension of display
view. Optional..
pDisplayWidth: Number of pixels from the top-left corner of the
display view. Optional..
pDisplayXOffset: Number pixels from the top-left corner of the
display view. Optional..
See Also


IAAFDigitalImageDescriptor::GetFrameLayout


The GetFrameLayout method getFrameLayout() Gets the frame layout.
Syntax
HRESULT GetFrameLayout(
  aafFrameLayout_t*  pFrameLayout
);

Parameters
  [out]  pFrameLayout
  If the method succeeds, specifies a pointer to a frame layout object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetFrameLayout() Gets the frame layout. The frame layout describes
whether all data for a complete sample is in one frame or is
split into more than one field. Values are: kNoLayout - Default;
not a valid value. kFullFrame - Each frame contains a full sample
in progressive scan lines. kSeparateFields - Each sample consists
of two fields, which when interlaced produce a full sample.
kOneField - Each sample consists of two interlaced fields, but
only one field is stored in the data stream. kMixedFields - Similar
to FullFrame, except the two fields may have been sampled at
different times. Succeeds if all of the following are true: -
pFrameLayout is a valid pointer If this method fails, *pFrameLayout
will not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pFrameLayout is NULL.
pFrameLayout: layout of the frame.
See Also


IAAFDigitalImageDescriptor::GetGamma


The GetGamma method getGamma() Gets the Gamma property.
Syntax
HRESULT GetGamma(
  aafRational_t*  pGamma
);

Parameters
  [out]  pGamma
  If the method succeeds, specifies a pointer to a gamma object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetGamma() Gets the Gamma property. Specifies the expected output
gamma setting on the video display device. Succeeds if all of
the following are true: - pGamma is a valid pointer If this method
fails, pGamma will not be changed. This method will return the
following codes: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - pGamma
is NULL.
pGamma: Optional..
See Also


IAAFDigitalImageDescriptor::GetImageAlignmentFactor


The GetImageAlignmentFactor method getImageAlignmentFactor() Gets the ImageAlignmentFactor property.
Syntax
HRESULT GetImageAlignmentFactor(
  aafInt32*  pImageAlignmentFactor
);

Parameters
  [out]  pImageAlignmentFactor
  If the method succeeds, specifies a pointer to an image alignment factor object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetImageAlignmentFactor() Gets the ImageAlignmentFactor property.
Specifies the alignment when storing the digital essence. For
example, a value of 16 means that the image is stored on 16-byte
boundaries. The starting point for a field will always be a multiple
of 16 bytes. If the field does not end on a 16-byte boundary,
it is padded out to the next 16-byte boundary. Succeeds if all
of the following are true: - pImageAlignmentFactor is a valid
pointer If this method fails, pImageAlignmentFactor will not
be changed. This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pImageAlignmentFactor is NULL.
pImageAlignmentFactor: Optional..
See Also


IAAFDigitalImageDescriptor::GetImageAspectRatio


The GetImageAspectRatio method getImageAspectRatio() Gets the Image Aspect Ratio property.
Syntax
HRESULT GetImageAspectRatio(
  aafRational_t*  pImageAspectRatio
);

Parameters
  [out]  pImageAspectRatio
  If the method succeeds, specifies a pointer to an image aspect ratio object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetImageAspectRatio() Gets the Image Aspect Ratio property.
This ratio describes the ratio between the horizontal size and
the vertical size in the intended final image. Succeeds if all
of the following are true: - pImageAspectRatio is a valid pointer
If this method fails, *pImageAspectRatio will not be changed.
This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pImageAspectRatio is NULL.
pImageAspectRatio: Ratio between horizontal and vertical size.

See Also


IAAFDigitalImageDescriptor::GetSampledView


The GetSampledView method getSampledView() Gets the dimensions of sampled view.
Syntax
HRESULT GetSampledView(
  aafUInt32*  pSampledHeight,
  aafUInt32*  pSampledWidth,
  aafInt32*  pSampledXOffset,
  aafInt32*  pSampledYOffset
);

Parameters
  [out]  pSampledHeight
  If the method succeeds, specifies a pointer to a sampled height object.
  [out]  pSampledWidth
  If the method succeeds, specifies a pointer to a sampled width object.
  [out]  pSampledXOffset
  If the method succeeds, specifies a pointer to a sampledXOffset object.
  [out]  pSampledYOffset
  If the method succeeds, specifies a pointer to a sampledYOffset object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSampledView() Gets the dimensions of sampled view. Typically
this includes any VITC lines as well as the active picture area,
but excludes leading blank video lines. The offset is specified
relative to the rectangle specified by Set/GetStoredView(). Succeeds
if all of the following are true: - pSampledHeight, pSampledWidth,
pSampledXOffset and pSampledYOffset are valid pointers If any
of the input parameters are NULL, the property will not be returned.
If this method fails, *pSampledHeight, *pSampledWidth, *pSampledXOffset,
and *pSampledYOffset will not be changed. This method will return
the following codes: AAFRESULT_SUCCESS - succeeded. (This is
the only code indicating success.) AAFRESULT_NULL_PARAM - any
of pSampledHeight, pSampledWidth, pSampledXOffset, or pSampledYOffset
are NULL.
pSampledHeight: Number of pixels in horizontal dimension of sampled
view..
pSampledWidth: Number of pixels from top left corner of sampled
view. Optional..
pSampledXOffset: Number of pixels from top left corner of sampled
view. Optional..
See Also


IAAFDigitalImageDescriptor::GetStoredView


The GetStoredView method getStoredView() Gets the dimension of the stored view.
Syntax
HRESULT GetStoredView(
  aafUInt32*  pStoredHeight,
  aafUInt32*  pStoredWidth
);

Parameters
  [out]  pStoredHeight
  If the method succeeds, specifies a pointer to a stored height object.
  [out]  pStoredWidth
  If the method succeeds, specifies a pointer to a stored width object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetStoredView() Gets the dimension of the stored view. Typically
this includes leading blank video lines, any VITC lines, as well
as the active picture area. Succeeds if all of the following
are true: - pStoredHieght and pStoredWidth are valid pointers.
If this method fails, the *pStoredHieght and *pStoredWidth will
not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - either pStoredHeight or pStoredWidth
is NULL.
pStoredHeight: Number of pixels in horizontal dimension of stored
view..
See Also


IAAFDigitalImageDescriptor::GetVideoLineMap


The GetVideoLineMap method getVideoLineMap() Gets the VideoLineMap property.
Syntax
HRESULT GetVideoLineMap(
  aafUInt32  numberElements,
  aafInt32*  pVideoLineMap
);

Parameters
  [in]  numberElements
  Specifies numberelements.
  [out]  pVideoLineMap
  If the method succeeds, specifies a pointer to a video line map object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetVideoLineMap() Gets the VideoLineMap property. The video line
map specifies the scan line in the analog source that corresponds
to the beginning of each digitized field. For single-field video,
there is 1 value in the array. For interleaved video, there are
2 values in the array. The values are written to the array specified
by pVideoLineMap, which is of size numberElements. The required
size may be found by calling GetVideoLineMapSize(). Succeeds
if all of the following are true: - pVideoLineMap is a valid
pointer. - numberElements indicates the array is large enough
to hold the data. If this method fails, videoLineMap will not
be changed. This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pNumberElements is NULL. AAFRESULT_SMALLBUF - numberElements
indicates that the array is too small to hold the data.
numberElements: Array to hold the Video Line Map information.

See Also


IAAFDigitalImageDescriptor::GetVideoLineMapSize


The GetVideoLineMapSize method getVideoLineMapSize() Get the number of elements in the VideoLineMap property array.
Syntax
HRESULT GetVideoLineMapSize(
  aafUInt32*  pNumberElements
);

Parameters
  [out]  pNumberElements
  If the method succeeds, specifies a pointer to a number elements object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetVideoLineMapSize() Get the number of elements in the VideoLineMap
property array. Succeeds if all of the following are true: -
pNumberElements is a valid pointer If this method fails, *pNumberElements
will not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pNumberElements is NULL.
pNumberElements: The number of elements in the array.
See Also


IAAFDigitalImageDescriptor::SetAlphaTransparency


The SetAlphaTransparency method setAlphaTransparency() Sets the AlphaTransparency property.
Syntax
HRESULT SetAlphaTransparency(
  aafAlphaTransparency_t  AlphaTransparency
);

Parameters
  [in]  AlphaTransparency
  Specifies alpha transparency.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetAlphaTransparency() Sets the AlphaTransparency property.
This property is optional. Valid values: kMaxValueTransparent
- means the maximum Alpha value is transparent kMinValueTransparent
- means the minimum Alpha value is transparent Succeeds if all
of the following are true: - AlphaTransparency is a valid value.
If this method fails, the AlphaTransparency property will not
be changed. This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_ILLEGAL_VALUE
- AlphaTransparency is not a valid value.
AlphaTransparency: Alpha Transparency value..
See Also


IAAFDigitalImageDescriptor::SetCompression


The SetCompression method .
Syntax
HRESULT SetCompression(
  aafUID_t*  pCodecID
);

Parameters
  [in]  pCodecID
  Pointer to a codecID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFDigitalImageDescriptor
************************ The IAAFDigitalImageDescriptor interface
is implemented by objects which describe video content data formatted
either using RGBA or luminance/chrominance formatting. The geometry
properties accessed by Set/GetStoredView(), Set/GetSampledView(),
and Set/GetDisplayView() describe the dimensions and meaning
of the stored pixels in the image. The geometry describes the
pixels of an uncompressed image. Consequently, the geometry properties
are independent of the compression and subsampling. Three separate
geometries - stored, sampled, and display views - are used to
define a set of different views on uncompressed digital data.
All views are constrained to rectangular regions, which means
that storage and sampling has to be rectangular. The relationships
among the views can be shown by the following rectangles, representing
areas of a video image: ------------------ | | | Stored View
| | | -------------- ------------------ -------- | | | | Sample
| Analog Video | | Sampled View | Process | Source | | | | Information
| | -------------- | | | | | | | | | | | Display View | | |
| | | | | | | | -------------- | | | | | | | ------------------
-------- | | -------------- The stored view is the entire data
region corresponding to a single uncompressed frame or field
of the image, and is defined by its horizontal and vertical dimension
properties. The stored view may include data that is not derived
from, and would not usually be translated back to, analog data.
The sampled view is defined to be the rectangular dimensions
in view. sampled image.
See Also


IAAFDigitalImageDescriptor::SetDisplayView


The SetDisplayView method setDisplayView() Sets the dimension of display view.
Syntax
HRESULT SetDisplayView(
  aafUInt32  DisplayHeight,
  aafUInt32  DisplayWidth,
  aafInt32  DisplayXOffset,
  aafInt32  DisplayYOffset
);

Parameters
  [in]  DisplayHeight
  Specifies display height.
  [in]  DisplayWidth
  Specifies display width.
  [in]  DisplayXOffset
  Specifies displayXOffset.
  [in]  DisplayYOffset
  Specifies displayYOffset.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetDisplayView() Sets the dimension of display view. Typically
this includes the active picture area, but excludes leading blank
video lines and any VITC lines. The offset is specified relative
to the rectangle specified by Set/GetStoredView(). The following
properties are optional: DisplayHeight - The default value is
the storedHeight. Use storedHeight to select the default. DisplayWidth
- The default value is the storedWidth. Use storedWidth to select
the default. DisplayXOffset - The default value is 0. Use a value
of 0 to select the default. DisplayYOffset - The default value
is 0. Use a value of 0 to select the default. Note that The specified
display rectangle may exist outside the SampledView or even the
StoredView. If this method fails the DisplayHeight, DisplayWidth,
DisplayXOffset and DisplayYOffset properties will not be changed.
This method will return the following codes: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_ILLEGAL_VALUE
- The area specified by DisplayHeight and DisplayXOffset is
outside the StoredView, or the area specified by DisplayWidth
and DisplayYOffset is outside the StoredView.
DisplayHeight: Number of pixels in horizontal dimension of display
view. Optional..
DisplayWidth: Number of pixels from the top-left corner of the
display view. Optional..
DisplayXOffset: Number pixels from the top-left corner of the
display view. Optional..
See Also


IAAFDigitalImageDescriptor::SetFrameLayout


The SetFrameLayout method setFrameLayout() Sets the frame layout.
Syntax
HRESULT SetFrameLayout(
  aafFrameLayout_t  FrameLayout
);

Parameters
  [in]  FrameLayout
  Specifies frame layout.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetFrameLayout() Sets the frame layout. The frame layout describes
whether all data for a complete sample is in one frame or is
split into more than/ one field. Values are: kNoLayout - Default;
not a valid value. kFullFrame - Each frame contains a full sample
in progressive scan lines. kSeparateFields - Each sample consists
of two fields, which when interlaced produce a full sample.
kOneField - Each sample consists of two interlaced fields, but
only one field is stored in the data stream. kMixedFields - Similar
to FullFrame, except the two fields may have been sampled at
different times. Succeeds if all of the following are true: -
frameLayout is a valid value If this method fails, the Frame
Layout property will not be changed. This method will return
the following codes: AAFRESULT_SUCCESS - succeeded. (This is
the only code indicating success.) AAFRESULT_ILLEGAL_VALUE -
FrameLayout is not a valid value.
FrameLayout: layout of the frame.
See Also


IAAFDigitalImageDescriptor::SetGamma


The SetGamma method setGamma() Sets the Gamma property.
Syntax
HRESULT SetGamma(
  aafRational_t  Gamma
);

Parameters
  [in]  Gamma
  Specifies gamma.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetGamma() Sets the Gamma property. Specifies the expected output
gamma setting on the video display device. Succeeds if all of
the following are true: - If this method fails, the Gamma property
will not be changed. This method will return the following codes:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.)
Gamma: Optional.
See Also


IAAFDigitalImageDescriptor::SetImageAlignmentFactor


The SetImageAlignmentFactor method setImageAlignmentFactor() Sets the ImageAlignmentFactor property.
Syntax
HRESULT SetImageAlignmentFactor(
  aafInt32  ImageAlignmentFactor
);

Parameters
  [in]  ImageAlignmentFactor
  Specifies image alignment factor.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetImageAlignmentFactor() Sets the ImageAlignmentFactor property.
Specifies the alignment when storing the digital essence. For
example, a value of 16 means that the image is stored on 16-byte
boundaries. The starting point for a field will always be a multiple
of 16 bytes. If the field does not end on a 16-byte boundary,
it is padded out to the next 16-byte boundary. Succeeds if all
of the following are true: If this method fails, the ImageAlignmentFactor
property will not be changed. This method will return the following
codes: AAFRESULT_SUCCESS - succeeded. (This is the only code
indicating success.)
ImageAlignmentFactor: Optional..
See Also


IAAFDigitalImageDescriptor::SetImageAspectRatio


The SetImageAspectRatio method setImageAspectRatio() Sets the Image Aspect Ratio property.
Syntax
HRESULT SetImageAspectRatio(
  aafRational_t  ImageAspectRatio
);

Parameters
  [in]  ImageAspectRatio
  Specifies image aspect ratio.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetImageAspectRatio() Sets the Image Aspect Ratio property.
This ratio describes the ratio between the horizontal size and
the vertical size in the intended final image. Succeeds if all
of the following are true: - If this method fails, the Image
Access Ratio property will not be changed. This method will return
the following codes: AAFRESULT_SUCCESS - succeeded. (This is
the only code indicating success.)
ImageAspectRatio: Ratio between horizontal and vertical size.

See Also


IAAFDigitalImageDescriptor::SetSampledView


The SetSampledView method setSampledView() Sets the dimensions of sampled view.
Syntax
HRESULT SetSampledView(
  aafUInt32  SampledHeight,
  aafUInt32  SampledWidth,
  aafInt32  SampledXOffset,
  aafInt32  SampledYOffset
);

Parameters
  [in]  SampledHeight
  Specifies sampled height.
  [in]  SampledWidth
  Specifies sampled width.
  [in]  SampledXOffset
  Specifies sampledXOffset.
  [in]  SampledYOffset
  Specifies sampledYOffset.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSampledView() Sets the dimensions of sampled view. Typically
this includes any VITC lines as well as the active picture area,
but excludes leading blank video lines. The offset is specified
relative to the rectangle specified by Set/GetStoredView(). The
following properties are optional: SampledXOffset - The default
value is 0. Use a value of 0 to select the default. SampledYOffset
- The default value is 0. Use a value of 0 to select the default.
Succeeds if all of the following are true: - The given dimensions
exist within the StoredView. If this method fails, the SampledXOffset
and SampledYOffset properties will not be changed. This method
will return the following codes: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_ILLEGAL_VALUE
- The area specified by SampledHeight and SampledXOffset is
outside the StoredView, or the area specified by SampledWidth
and SampledYOffset is outside the StoredView.
SampledHeight: Number of pixels in horizontal dimension of sampled
view..
SampledWidth: Number of pixels from top left corner of sampled
view. Optional..
SampledXOffset: Number of pixels from top left corner of sampled
view. Optional..
See Also


IAAFDigitalImageDescriptor::SetStoredView


The SetStoredView method setStoredView() Sets the dimension of the stored view.
Syntax
HRESULT SetStoredView(
  aafUInt32  StoredHeight,
  aafUInt32  StoredWidth
);

Parameters
  [in]  StoredHeight
  Specifies stored height.
  [in]  StoredWidth
  Specifies stored width.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetStoredView() Sets the dimension of the stored view. Typically
this includes leading blank video lines, any VITC lines, as well
as the active picture area. If this method fails the Stored Height
and Stored Width properties will not be changed. This method
will return the following codes: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.)
StoredHeight: Number of pixels in horizontal dimension of stored
view..
See Also


IAAFDigitalImageDescriptor::SetVideoLineMap


The SetVideoLineMap method setVideoLineMap() Sets the VideoLineMap property.
Syntax
HRESULT SetVideoLineMap(
  aafUInt32  numberElements,
  aafInt32*  pVideoLineMap
);

Parameters
  [in]  numberElements
  Specifies numberelements.
  [in]  pVideoLineMap
  Pointer to a video line map object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetVideoLineMap() Sets the VideoLineMap property. The video line
map specifies the scan line in the analog source that corresponds
to the beginning of each digitized field. For single-field video,
there is 1 value in the array. For interleaved video, there are
2 values in the array. Succeeds if all of the following are true:
- pVideoLineMap is a valid pointer If this method fails, the
Video Line Map property will not be changed. This method will
return the following codes: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pVideoLineMap is NULL.
numberElements: Array to hold the Video Line Map information.

See Also


IAAFEdgecode Interface


In addition to the methods inherited from IUnknown, the IAAFEdgecode interface exposes the following methods.
Create
GetEdgecode

The AAFEdgecode object implements the IAAFEdgecode interface and also implements the following:
Interface Method
IAAFSegment SegmentOffsetToTC
SegmentTCToOffset

IAAFComponent GetDataDef
GetLength
SetDataDef
SetLength




IAAFEdgecode::Create


The Create method ************************ Interface IAAFEdgecode ************************ c-11d2-8411-00600832acb8 Create() This function creates a new edgecode clip with the given property values.
Syntax
HRESULT Create(
  aafLength_t  length,
  aafEdgecode_t  edgecode
);

Parameters
  [in]  length
  Specifies length.
  [in]  edgecode
  Specifies edgecode.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEdgecode ************************
c-11d2-8411-00600832acb8 Create() This function creates a new
edgecode clip with the given property values. The edgecode value
is represented with an aafEdgecode_t struct consisting of startFrame,
filmKind, and codeFormat.
length: Edgecode Value.
See Also


IAAFEdgecode::GetEdgecode


The GetEdgecode method getEdgecode() This set of functions returns the required property values for the object identified by XXX.
Syntax
HRESULT GetEdgecode(
  aafEdgecode_t*  edgecode
);

Parameters
  [out]  edgecode
  Specifies edgecode.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetEdgecode() This set of functions returns the required property
values for the object identified by XXX.
edgecode: Edgecode.
See Also


IAAFEndian Interface


In addition to the methods inherited from IUnknown, the IAAFEndian interface exposes the following methods.
GetNativeByteOrder
GetStoredByteOrder



IAAFEndian::GetNativeByteOrder


The GetNativeByteOrder method getNativeByteOrder() Returns the native "Endian-ness" of the platform on which this is running.
Syntax
HRESULT GetNativeByteOrder(
  eAAFByteOrder_t*  pOrder
);

Parameters
  [out]  pOrder
  If the method succeeds, specifies a pointer to an order object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNativeByteOrder() Returns the native "Endian-ness" of the
platform on which this is running. Succeeds if all of the following
are true: - the pOrder pointer is valid. If this method fails
nothing is written to *pOrder. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pOrder is null.
pOrder: Pointer to place where byte order is to be put.
See Also


IAAFEndian::GetStoredByteOrder


The GetStoredByteOrder method ************************ Interface IAAFEndian ************************ This interface is used to allow the user to determine the byte order of this object.
Syntax
HRESULT GetStoredByteOrder(
  eAAFByteOrder_t*  pOrder
);

Parameters
  [out]  pOrder
  If the method succeeds, specifies a pointer to an order object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEndian ************************
This interface is used to allow the user to determine the byte
order of this object. Note that the byte order of the object
stored in the AAF file may be different from the native byte
order of this machine. Note also that both pieces of information
are available here. Byte order of newly created AAF files is
set upon creation of that file. It is set to the byte order of
the creating machine. In addition to the specific error results
listed for each method, all methods in this interface may also
return one of the following values: AAFRESULT_NOMEMORY - insufficient
system memory is available to perform the operation. AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it through
this object's primary interface. Note that IAAFEndian is not
a primary interface for a concrete class, so it is not appropriate
for the Initialize() method to exist in this interface. The Initialize()
method is available through the concrete object's primary interface.
1-11D2-841B-00600832ACB8 GetStoredByteOrder() Returns the "Endian-ness"
in which the current object was or will be stored. If this is
a transient object (i.e., one which has not been persisted) then
it will return the native byte order of the platform on which
this is running. Succeeds if all of the following are true: -
the pOrder pointer is valid. If this method fails nothing is
written to *pOrder. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pOrder is null.
pOrder: Pointer to place where byte order is to be put.
See Also


IAAFEssenceAccess Interface


In addition to the methods inherited from IUnknown, the IAAFEssenceAccess interface exposes the following methods.
CompleteWrite
GetCodecID
GetCodecName
GetEmptyFileFormat
GetFileFormat
GetFileFormatParameterList
GetLargestSampleSize
GetSampleCount
GetSampleFrameSize
PutFileFormat
ReadFractionalSample
ReadSamples
Seek
SetEssenceCodecFlavour
SetTransformParameters
WriteFractionalSample
WriteSamples



IAAFEssenceAccess::CompleteWrite


The CompleteWrite method comm This will be required in order to send private data to the codec.
Syntax
HRESULT CompleteWrite();
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm This will be required in order to send private data to the
codec. comm The name will be truncated to fit within "buflen"
bytes. /****/ CompleteWrite() Handle any format related writing
at the end and adjust mob lengths. comm Must be called before
releasing a write essence access. Standard errors (see top of
file). AAFRESULT_STREAM_FULL - The essence can not be written
because of a fault such as a disk full error in the underlying
operating system.
See Also


IAAFEssenceAccess::GetCodecID


The GetCodecID method comm No other call uses this name, so it may be fully descriptive, esp.
Syntax
HRESULT GetCodecID(
  aafCodecID_t*  codecID
);

Parameters
  [out]  codecID
  Specifies codecID.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm No other call uses this name, so it may be fully descriptive,
esp. of limitations. comm The name will be truncated to fit within
"buflen" bytes. comm Possible Errors:nl Standard errors (see
top of file).nl AAFRESULT_CODEC_INVALID - The given codec ID
is not loaded. AAFRESULT_SMALLBUF - The buffer is not large enough
to hold the data /****/ GetCodecID() Returns the codec ID being
used to handle the specified essence.
codecID: Returns the current codec ID.
See Also


IAAFEssenceAccess::GetCodecName


The GetCodecName method /****/ GetCodecName() Returns the full name of the given codec expanded for human consumption.
Syntax
HRESULT GetCodecName(
  aafUInt32  namelen,
  aafCharacter*  name
);

Parameters
  [in]  namelen
  Specifies namelen.
  [out]  name
  Specifies name.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetCodecName() Returns the full name of the given codec
expanded for human consumption.
namelen: The buffer to fill.
See Also


IAAFEssenceAccess::GetEmptyFileFormat


The GetEmptyFileFormat method /****/ GetEmptyFileFormat() Returns an empty AAFEssenceFormat object.
Syntax
HRESULT GetEmptyFileFormat(
  IAAFEssenceFormat**  ops
);

Parameters
  [out]  ops
  Specifies ops.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetEmptyFileFormat() Returns an empty AAFEssenceFormat
object. This is the factory method for AAFEssenceFormat.
ops: An ampty AAFEssenceFormat object.
See Also


IAAFEssenceAccess::GetFileFormat


The GetFileFormat method comm Useful only on reading, you can't seek aound while writing essence.
Syntax
HRESULT GetFileFormat(
  IAAFEssenceFormat*  opsTemplate,
  IAAFEssenceFormat**  opsResult
);

Parameters
  [in]  opsTemplate
  Specifies opstemplate.
  [out]  opsResult
  Specifies opsresult.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm Useful only on reading, you can't seek aound while writing
essence. comm An audio frame is one sample across all channels.
AAFRESULT_BADSAMPLEOFFSET -- Hit the end of the essence (like
EOF) while reading. /****/ GetFileFormat() Given an AAFEssenceFormat,
read the essence parameters inside and set the values from the
file format.
opsTemplate: Another AAFEssenceFormat with values set.
See Also


IAAFEssenceAccess::GetFileFormatParameterList


The GetFileFormatParameterList method /****/ GetFileFormatParameterList() Returns an AAFEssenceFormat containing a list of all parameters supported by the current codec.
Syntax
HRESULT GetFileFormatParameterList(
  IAAFEssenceFormat**  ops
);

Parameters
  [out]  ops
  Specifies ops.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetFileFormatParameterList() Returns an AAFEssenceFormat
containing a list of all parameters supported by the current
codec.
ops: An ampty AAFEssenceFormat object.
See Also


IAAFEssenceAccess::GetLargestSampleSize


The GetLargestSampleSize method comm Writes fractional samples of essence to the stream.
Syntax
HRESULT GetLargestSampleSize(
  aafUID_t  dataDef,
  aafLength_t*  maxSize
);

Parameters
  [in]  dataDef
  Specifies datadef.
  [out]  maxSize
  Specifies maxsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm Writes fractional samples of essence to the stream. When
enough bytes have been written to constitute one sample, then
the number of samples will be incremented by one. This function
is useful in low-memory situations. comm Possible Errors: Standard
errors (see top of file). AAFRESULT_STREAM_FULL -- The essence
can not be written because of a fault such as a disk full error
in the underlying operating system.) /****/ GetLargestSampleSize()
Returns the size in bytes of the largest sample for a given essence
type.
dataDef: the largest sample size.
See Also


IAAFEssenceAccess::GetSampleCount


The GetSampleCount method comm This is the format expected on writes and produced on reads.
Syntax
HRESULT GetSampleCount(
  aafUID_t  dataDef,
  aafLength_t*  result
);

Parameters
  [in]  dataDef
  Specifies datadef.
  [out]  result
  Specifies result.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm This is the format expected on writes and produced on reads.
comm On writes, the data will be written in this format, except
where a software codec may be used. On reads, the data will be
translated to this format. comm The order of the parameters does
matter, as transformations will be applied in that order to get
from the on-disk format to the in-memory format. /****/ GetSampleCount()
Returns the number of samples of the given essence type on the
given essence stream.
dataDef: find out how many samples are present.
See Also


IAAFEssenceAccess::GetSampleFrameSize


The GetSampleFrameSize method comm For uncompressed data, or the output of the software codec, the sample size will propably be a constant.
Syntax
HRESULT GetSampleFrameSize(
  aafUID_t  dataDef,
  aafPosition_t  frameNum,
  aafLength_t*  frameSize
);

Parameters
  [in]  dataDef
  Specifies datadef.
  [in]  frameNum
  Specifies framenum.
  [out]  frameSize
  Specifies framesize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm For uncompressed data, or the output of the software codec,
the sample size will propably be a constant. comm The essence
type parameter exists to support codecs with multiple interleaved
essence types. Add illegal media kind error. /****/ GetSampleFrameSize()
Returns the size in bytes of the given sample for a given essence
type.
dataDef: for this [1-based] sample frame number.
frameNum: How big is the sample frame.
See Also


IAAFEssenceAccess::PutFileFormat


The PutFileFormat method /****/ PutFileFormat() Given an AAFEssenceFormat, read the essence parameters inside and change the file format.
Syntax
HRESULT PutFileFormat(
  IAAFEssenceFormat*  ops
);

Parameters
  [in]  ops
  Specifies ops.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ PutFileFormat() Given an AAFEssenceFormat, read the essence
parameters inside and change the file format.
ops: An AAFEssenceFormat with one or more parameter/value pairs.

See Also


IAAFEssenceAccess::ReadFractionalSample


The ReadFractionalSample method comm This call will only return a single channel of essence from an interleaved stream.
Syntax
HRESULT ReadFractionalSample(
  aafUInt32  nBytes,
  aafDataBuffer_t  buffer,
  aafUInt32*  bytesRead
);

Parameters
  [in]  nBytes
  Integer containing the bytes.
  [out]  buffer
  Specifies buffer.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm This call will only return a single channel of essence from
an interleaved stream. comm A video sample is a frame. Buflen
is in bytes, and should be large enough to hold the samples after
the requested transforms have been applied. comm Possible Errors:
Standard errors (see top of file). AAFRESULT_END_OF_DATA -- Hit
the end of the essence (like EOF) while reading. AAFRESULT_SMALLBUF
-- Buffer too small for samples. /****/ ReadFractionalSample()
Reads fractional samples from a file.
nBytes: transfer into this buffer.
buffer: The number of bytes actually transferred.
See Also


IAAFEssenceAccess::ReadSamples


The ReadSamples method comm A video sample is one frame.
Syntax
HRESULT ReadSamples(
  aafUInt32  nSamples,
  aafUInt32  buflen,
  aafDataBuffer_t  buffer,
  aafUInt32*  samplesRead,
  aafUInt32*  bytesRead
);

Parameters
  [in]  nSamples
  Integer containing the samples.
  [in]  buflen
  Specifies buflen.
  [out]  buffer
  Specifies buffer.
  [out]  samplesRead
  Specifies samplesread.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm A video sample is one frame. essence type /****/ ReadSamples()
Read a given number of samples from an opened essence stream.

nSamples: into a buffer of this size.
buflen: The transfer buffer.
buffer: The number of samples actually read.
samplesRead: The number of bytes actually read.
See Also


IAAFEssenceAccess::Seek


The Seek method comm This function allows reading video frames in pieces, for low-memory situations.
Syntax
HRESULT Seek(
  aafPosition_t  sampleFrameNum
);

Parameters
  [in]  sampleFrameNum
  Specifies sampleframe num.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm This function allows reading video frames in pieces, for
low-memory situations. comm The buffer must be large enough to
hold the specified number of bytes. comm Possible Errors: Standard
errors (see top of file). AAFRESULT_END_OF_ESSENCE -- Hit the
end of the essence (like EOF) while reading. AAFRESULT_SMALLBUF
-- Buffer too small for samples. /****/ Seek() The seek function
for essence.
sampleFrameNum: A 0-based offset in units of the sample rate
to seek to..
See Also


IAAFEssenceAccess::SetEssenceCodecFlavour


The SetEssenceCodecFlavour method ************************ Interface IAAFEssenceAccess ************************ AAFEssenceAccess is an interace which provides streaming access over multiple channels of essence data.
Syntax
HRESULT SetEssenceCodecFlavour(
  aafUID_t  flavour
);

Parameters
  [in]  flavour
  Specifies flavour.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEssenceAccess ************************
AAFEssenceAccess is an interace which provides streaming access
over multiple channels of essence data. This interface deals
with essence data which is in an uncompressed form, and handles
compression or decompression of the data if required. You may
need to QueryInterface for an AAFEssenceAccess interface in order
to do non-read write operations such as seek. For access to data
in raw form, call QueryInterface() on this interface which gives
access to raw I/O methods. You should call the CreateMultiEssence
or OpenMultiEssence calls on AAFMasterMob in order to get an
interface pointer to AAFEssenceAccess, as there is no public
create or open method in the interface. A number of errors can
be returned from most method calls, These are: AAFRESULT_NOMEMORY
-- The system ran out of memory processing the method AAFRESULT_NULL_PARAM
-- A NULL parameter was passed in which was required. 8-11D2-bfaa-006097116212
SetEssenceCodecFlavour() Sets which flavour of the codec ID is
to be used.
flavour: The particular flavour.
See Also


IAAFEssenceAccess::SetTransformParameters


The SetTransformParameters method comm For uncompressed data, or the output of the software codec, the sample size will propably be a constant.
Syntax
HRESULT SetTransformParameters(
  IAAFEssenceFormat*  op
);

Parameters
  [in]  op
  Specifies op.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm For uncompressed data, or the output of the software codec,
the sample size will propably be a constant. comm The essence
type parameter exists to support codecs with multiple interleaved
essence types. comm Possible Errors: Standard errors (see top
of file). AAFRESULT_NULL_PARAM -- A return parameter was NULL.
AAFRESULT_BADSAMPLEOFFSET -- The supplied sample offset is out
of range /****/ SetTransformParameters() Sets a series of format
objects which will be used to describe the in-memory format.

op: A set of transforms to apply to the essence if required.

See Also


IAAFEssenceAccess::WriteFractionalSample


The WriteFractionalSample method a single video frame is ONE sample.
Syntax
HRESULT WriteFractionalSample(
  aafUInt32  nBytes,
  aafDataBuffer_t  buffer,
  aafUInt32*  bytesWritten
);

Parameters
  [in]  nBytes
  Integer containing the bytes.
  [in]  buffer
  Specifies buffer.
  [out]  bytesWritten
  Specifies byteswritten.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
A single video frame is ONE sample. Buflen must be large enough
to hold the total sample size. comm Possible Errors: Standard
errors (see top of file). AAFRESULT_SINGLE_CHANNEL_OP -- Tried
to write to an interleaved stream. AAFRESULT_BADDATAADDRESS --
The buffer must not be a NULL pointer. /****/ WriteFractionalSample()
Writes partual samples of essence to a stream.
nBytes: from a buffer.
buffer: Returns the number of bytes actualy written.
See Also


IAAFEssenceAccess::WriteSamples


The WriteSamples method comm An example of a flavour would be a number of standard starting JPEG tables.
Syntax
HRESULT WriteSamples(
  aafUInt32  nSamples,
  aafDataBuffer_t  buffer,
  aafUInt32  buflen
);

Parameters
  [in]  nSamples
  Integer containing the samples.
  [in]  buffer
  Specifies buffer.
  [in]  buflen
  Specifies buflen.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm An example of a flavour would be a number of standard starting
JPEG tables. /****/ WriteSamples() Writes data to a single-channel
essence stream.
nSamples: from a buffer.
buffer: of this size.
See Also


IAAFEssenceData Interface


In addition to the methods inherited from IUnknown, the IAAFEssenceData interface exposes the following methods.
GetFileMob
GetFileMobID
GetPosition
GetSize
Read
SetFileMob
SetPosition
Write



IAAFEssenceData::GetFileMob


The GetFileMob method /****/ GetFileMob() Associates a weak reference to the given file mob with the essence data.
Syntax
HRESULT GetFileMob(
  IAAFSourceMob**  ppFileMob
);

Parameters
  [in]  ppFileMob
  Pointer to a variable containing a pointer to a file mob object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetFileMob() Associates a weak reference to the given
file mob with the essence data. Succeeds if all of the following
are true: - the ppFileMob pointer is valid and a weak reference
to the associated file mob can be resolved. If this method fails
no state will be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - ppFileMob is null.
ppFileMob: reference to a file mob.
See Also


IAAFEssenceData::GetFileMobID


The GetFileMobID method /****/ GetFileMobID() Return the mob id used to find the file mob associated with this essence.
Syntax
HRESULT GetFileMobID(
  aafUID_t*  pFileMobID
);

Parameters
  [out]  pFileMobID
  If the method succeeds, specifies a pointer to a file mobID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetFileMobID() Return the mob id used to find the file
mob associated with this essence. The file mob must exist in
the same file as this essence data.
pFileMobID: the file mob id associated with essence.
See Also


IAAFEssenceData::GetPosition


The GetPosition method /****/ GetPosition() Get the absolute position within the essence data.
Syntax
HRESULT GetPosition(
  aafPosition_t*  pOffset
);

Parameters
  [out]  pOffset
  If the method succeeds, specifies a pointer to an offset object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetPosition() Get the absolute position within the essence
data.
pOffset: offset from beginning of essence.
See Also


IAAFEssenceData::GetSize


The GetSize method /****/ GetSize() Return the total size of the essence data.
Syntax
HRESULT GetSize(
  aafLength_t*  pSize
);

Parameters
  [out]  pSize
  If the method succeeds, specifies a pointer to a size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetSize() Return the total size of the essence data.

pSize: size of essence data.
See Also


IAAFEssenceData::Read


The Read method /****/ Read() Read pre-interleaved data from a essence stream.
Syntax
HRESULT Read(
  aafUInt32  bytes,
  aafDataBuffer_t  buffer,
  aafUInt32*  bytesRead
);

Parameters
  [in]  bytes
  Specifies bytes.
  [out]  buffer
  Specifies buffer.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ Read() Read pre-interleaved data from a essence stream.

bytes: here is the buffer.
See Also


IAAFEssenceData::SetFileMob


The SetFileMob method /****/ SetFileMob() Associates a weak reference to the given file mob with the essence data.
Syntax
HRESULT SetFileMob(
  IAAFSourceMob*  pFileMob
);

Parameters
  [in]  pFileMob
  Pointer to a file mob object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ SetFileMob() Associates a weak reference to the given
file mob with the essence data. Succeeds if all of the following
are true: - the pFileMob pointer is valid and points to a file
mob (contains a file descriptor). If this method fails no state
will be changed. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pFileMob is null.
pFileMob: reference to a file mob.
See Also


IAAFEssenceData::SetPosition


The SetPosition method /****/ SetPosition() Seek to absolute position within the essence data.
Syntax
HRESULT SetPosition(
  aafPosition_t  offset
);

Parameters
  [in]  offset
  Specifies offset.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ SetPosition() Seek to absolute position within the essence
data.
offset: offset from beginning of essence.
See Also


IAAFEssenceData::Write


The Write method ************************ Interface IAAFEssenceData ************************ The IAAFEssenceData interface is used to modify AAFEssenceData objects, which contain the actual essence data (ex.
Syntax
HRESULT Write(
  aafUInt32  bytes,
  aafDataBuffer_t  buffer,
  aafUInt32*  bytesWritten
);

Parameters
  [in]  bytes
  Specifies bytes.
  [out]  buffer
  Specifies buffer.
  [out]  bytesWritten
  Specifies byteswritten.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEssenceData ************************
The IAAFEssenceData interface is used to modify AAFEssenceData
objects, which contain the actual essence data (ex. WAVE) when
it is contained within an AAF file. Normally the client application
would access the essence through the IAAFEssenceAccess interface,
which handles the work of finding and (de)compressing the data.
However, in rare cases direct access to the data is required,
so this interface is exposed. In addition to the specific error
results listed for each method, all methods in this interface
may also return one of the following values: AAFRESULT_NULL_PARAM
- One of the passed in pointers is NULL. AAFRESULT_NOMEMORY
- insufficient system memory is available to perform the operation.
6-11d2-bf9d-00104bc9156d /****/ Write() Write pre-interleaved
data to a essence stream.
bytes: here is the buffer.
See Also


IAAFEssenceDescriptor Interface


In addition to the methods inherited from IUnknown, the IAAFEssenceDescriptor interface exposes the following methods.
AppendLocator
EnumAAFAllLocators
GetNumLocators
PrependLocator



IAAFEssenceDescriptor::AppendLocator


The AppendLocator method appendLocator() Append another locator to this essence descriptor.
Syntax
HRESULT AppendLocator(
  IAAFLocator*  pLocator
);

Parameters
  [in]  pLocator
  Pointer to a locator object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendLocator() Append another locator to this essence descriptor.
Use this function to add a locator to be scanned last when searching
for the essence (a secondary location for the essence). Succeeds
if all of the following are true: - the pLocator pointer is valid.
If this method fails no state will be changed. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - pLocator
is null.
pLocator: Locator to append.
See Also


IAAFEssenceDescriptor::EnumAAFAllLocators


The EnumAAFAllLocators method enumAAFAllLocators() Returns an enumerator to the locators.
Syntax
HRESULT EnumAAFAllLocators(
  IEnumAAFLocators**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
EnumAAFAllLocators() Returns an enumerator to the locators.
The number of locators may be zero if the essence is in the current
file. Succeeds if all of the following are true: - the ppEnum
pointer is valid. If this method fails nothing will be written
to *ppEnum. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppEnum is null.
ppEnum: An enumerator to the locators on this essence descriptor.

See Also


IAAFEssenceDescriptor::GetNumLocators


The GetNumLocators method .
Syntax
HRESULT GetNumLocators(
  aafInt32*  pCount
);

Parameters
  [out]  pCount
  If the method succeeds, specifies a pointer to a count object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEssenceDescriptor ************************
The IAAFEssenceDescriptor interface is implemented by objects
which describe the format of the content data associated with
a File Source mob or of the media associated with a Physical
Source mob. In addition to the specific error results listed
for each method, all methods in this interface may also return
one of the following values: AAFRESULT_NOMEMORY - insufficient
system memory is available to perform the operation. AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it through
this object's primary interface. Note that IAAFEssenceDescriptor
is a primary interface for an abstract class, so it is not appropriate
for the Initialize() method to exist in this interface. The Initialize()
method is available through the concrete object's primary interface.
c-11D2-bfA4-006097116212 GetNumLocators() Return the number of
locators attached to this essence descriptor. The number of locators
may be zero if the essence is in the current file. Succeeds if
all of the following are true: - the pCount pointer is valid.
If this method fails nothing is written to *pCount. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pCount is null.
pCount: Returns the number of locators.
See Also


IAAFEssenceDescriptor::PrependLocator


The PrependLocator method prependLocator() Prepend another locator to this essence descriptor.
Syntax
HRESULT PrependLocator(
  IAAFLocator*  pLocator
);

Parameters
  [in]  pLocator
  Pointer to a locator object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
PrependLocator() Prepend another locator to this essence descriptor.
Use this function to add a locator to be scanned first when searching
for the essence (a new primary location for the essence). Succeeds
if all of the following are true: - the pLocator pointer is valid.
If this method fails no state will be changed. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - pLocator
is null.
pLocator: Locator to append.
See Also


IAAFEssenceFormat Interface


In addition to the methods inherited from IUnknown, the IAAFEssenceFormat interface exposes the following methods.
AddFormatSpecifier
GetFormatSpecifier
GetIndexedFormatSpecifier
NumFormatSpecifiers



IAAFEssenceFormat::AddFormatSpecifier


The AddFormatSpecifier method .
Syntax
HRESULT AddFormatSpecifier(
  aafUID_t  essenceFormatCode,
  aafInt32  valueSize,
  aafDataBuffer_t  value
);

Parameters
  [in]  essenceFormatCode
  Specifies essenceformat code.
  [in]  valueSize
  Specifies valuesize.
  [in]  value
  Specifies value.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEssenceFormat ************************
The AAFEssenceFormat class represents a collection of parameters
(such as image height/width, audio sample width) which describes
a piece of essence. Each parameter is specified by an AUID, and
contains a variable length piece of data. When creating a piece
of essence, you should call AddFormatSpecifier() for each required
or known parameter, and the codec will supply defaults for other
optional parameters. In addition to the specific error results
listed for each method, all methods in this interface may also
return one of the following values: AAFRESULT_NOMEMORY - insufficient
system memory is available to perform the operation. AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it through
this object's primary interface. C-11d2-8088-006008143E6F AddFormatSpecifier()
Appends a format specifier to the AAFEssenceFormat. If essenceFormatCode
has already been added, then this call the value, otherwise the
value is appended.
essenceFormatCode: Size of preallocated buffer.
valueSize: Value data.
See Also


IAAFEssenceFormat::GetFormatSpecifier


The GetFormatSpecifier method comm The value data is passed in as a void * through the "value" argument.
Syntax
HRESULT GetFormatSpecifier(
  aafUID_t  essenceFormatCode,
  aafInt32  valueSize,
  aafDataBuffer_t  value,
  aafInt32*  bytesRead
);

Parameters
  [in]  essenceFormatCode
  Specifies essenceformat code.
  [in]  valueSize
  Specifies valuesize.
  [out]  value
  Specifies value.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm The value data is passed in as a void * through the "value"
argument. The size of the value must be passed through the valueSize
argument. /****/ GetFormatSpecifier() The data value is returned
in a preallocated buffer of size valueSize.
essenceFormatCode: Size of preallocated buffer.
valueSize: Preallocated buffer to hold value.
value: Number of actual bytes read.
See Also


IAAFEssenceFormat::GetIndexedFormatSpecifier


The GetIndexedFormatSpecifier method /****/ GetIndexedFormatSpecifier() The data value is returned in a preallocated buffer of size valueSize.
Syntax
HRESULT GetIndexedFormatSpecifier(
  aafInt32  index,
  aafUID_t*  essenceFormatCode,
  aafInt32  valueSize,
  aafDataBuffer_t  value,
  aafInt32*  bytesRead
);

Parameters
  [in]  index
  Specifies index.
  [out]  essenceFormatCode
  Specifies essenceformat code.
  [in]  valueSize
  Specifies valuesize.
  [out]  value
  Specifies value.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetIndexedFormatSpecifier() The data value is returned
in a preallocated buffer of size valueSize.
index: From aaddefuids.h.
essenceFormatCode: Size of preallocated buffer.
valueSize: Preallocated buffer to hold value.
value: Number of actual bytes read.
See Also


IAAFEssenceFormat::NumFormatSpecifiers


The NumFormatSpecifiers method comm The actual number of bytes read is returned in bytesRead.
Syntax
HRESULT NumFormatSpecifiers(
  aafInt32*  numSpecifiers
);

Parameters
  [out]  numSpecifiers
  Specifies numspecifiers.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm The actual number of bytes read is returned in bytesRead.
If the buffer is not big enough to return the entire value, an
error is returned. /****/ NumFormatSpecifiers() The data value
is returned in a preallocated buffer of size valueSize.
numSpecifiers: The number of specifiers present..
See Also


IAAFEssenceGroup Interface


In addition to the methods inherited from IUnknown, the IAAFEssenceGroup interface exposes the following methods.
AppendChoice
GetIndexedChoice
GetNumChoices
GetStillFrame
SetStillFrame

The AAFEssenceGroup object implements the IAAFEssenceGroup interface and also implements the following:
Interface Method
IAAFSegment SegmentOffsetToTC
SegmentTCToOffset

IAAFComponent GetDataDef
GetLength
SetDataDef
SetLength




IAAFEssenceGroup::AppendChoice


The AppendChoice method This method will return the following codes.
Syntax
HRESULT AppendChoice(
  IAAFSourceClip*  pChoice
);

Parameters
  [in]  pChoice
  Pointer to a choice object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppStillFrame is null. AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it.) /****/ AppendChoice()
Append another choice to this AAFEssenceGroup. Succeeds if all
of the following are true: - the pChoice pointer is valid. If
this method fails no state will be changed. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - pChoice
is null.
pChoice: Source clip to add as a choice .
See Also


IAAFEssenceGroup::GetIndexedChoice


The GetIndexedChoice method /****/ GetIndexedChoice() Given an index, returns the corresponding source clip choice.
Syntax
HRESULT GetIndexedChoice(
  aafUInt32  index,
  IAAFSourceClip**  ppChoice
);

Parameters
  [in]  index
  Specifies index.
  [out]  ppChoice
  If the method succeeds, specifies a pointer to a variable containing a pointer to a choice object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetIndexedChoice() Given an index, returns the corresponding
source clip choice. Succeeds if all of the following are true:
- the ppChoice pointer is valid. If this method fails nothing
will be written to *ppChoice. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_MISSING_INDEX - The given index value is
not present. AAFRESULT_NULL_PARAM - ppChoice arg is NULL.
index: The representation at that index.
See Also


IAAFEssenceGroup::GetNumChoices


The GetNumChoices method /****/ GetNumChoices() Return the number of choices attached to this AAFEssenceGroup.
Syntax
HRESULT GetNumChoices(
  aafUInt32*  pCount
);

Parameters
  [out]  pCount
  If the method succeeds, specifies a pointer to a count object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetNumChoices() Return the number of choices attached
to this AAFEssenceGroup., excepting the still frame. Succeeds
if all of the following are true: - the pCount pointer is valid.
If this method fails nothing is written to *pCount. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pCount is null.
pCount: The number of representations contained within..
See Also


IAAFEssenceGroup::GetStillFrame


The GetStillFrame method This method will return the following codes.
Syntax
HRESULT GetStillFrame(
  IAAFSourceClip**  ppStillFrame
);

Parameters
  [out]  ppStillFrame
  If the method succeeds, specifies a pointer to a variable containing a pointer to a still frame object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pStillFrame is null. AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it.) /****/ GetStillFrame()
Gets the still frame property on a essence group.
ppStillFrame: Still Frame source clip .
See Also


IAAFEssenceGroup::SetStillFrame


The SetStillFrame method .
Syntax
HRESULT SetStillFrame(
  IAAFSourceClip*  pStillFrame
);

Parameters
  [in]  pStillFrame
  Pointer to a still frame object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEssenceGroup ************************
This interface provides access to the IAAFEssenceGroup interface,
which contains multiple representations of the same media within
a MasterMob. The IAAFEssenceAccess methods allow specifying parameters
such as "best quality", or "lowest frame rate" for and follow
the correct path through the EssenceGroup in order to find the
media which matches the criteria. In addition to the specific
error results listed for each method, all methods in this interface
may also return one of the following values: AAFRESULT_NOMEMORY
- insufficient system memory is available to perform the operation.
e-11D2-bfa4-006097116212 /****/ SetStillFrame() sets the still
frame property on a essence group to be the source clip passed
as the stillFrame argument.
pStillFrame: Still Frame source clip .
See Also


IAAFEssenceMultiAccess Interface


In addition to the methods inherited from IUnknown, the IAAFEssenceMultiAccess interface exposes the following methods.
ReadMultiSamples
WriteMultiSamples



IAAFEssenceMultiAccess::ReadMultiSamples


The ReadMultiSamples method comm arrayElemCount is the number of elementss in the array of transfer operations.
Syntax
HRESULT ReadMultiSamples(
  aafUInt16  elemCount,
  aafmMultiXfer_t*  xferArray,
  aafmMultiResult_t*  resultArray
);

Parameters
  [in]  elemCount
  Specifies elemcount.
  [in]  xferArray
  Specifies xferarray.
  [out]  resultArray
  Specifies resultarray.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm arrayElemCount is the number of elementss in the array of
transfer operations. xferArray points to an array of transfer
parameters. All fields in this array except for bytesXferred
must be set up before doing the transfer. Some of the fields
in the xferArray structure are status results like bytesXferred
and samplesXferred. /****/ ReadMultiSamples() Reads one or more
channels from an interleaved data stream.
elemCount: referencing this array.
xferArray: putting results into this array. The multiXfer_t structure
has the following fields, which specify one channel of data:
essenceDef[IN] -- The essence type definition physical[IN] -
The physical input-output channel numSamples[IN] -- The number
of samples to transfer buflen[IN] -- The size of the buffer buffer[IN]
-- The buffer for this The multiResult_t structure has the following
fields, which return result for one channel of data: bytesXfered[OUT]
-- The total number of bytes transferred samplesXfered[OUT] --
The total number of samples transferred comm arrayElemCount is
the size of the array or transfer operations. xferArray points
to an array of transfer parameters. All fields in this array
except for bytesXferred must be set up before doing the transfer.
Some of the fields in the xferArray structure are status results
like bytesXferred and samplesXferred. comm Possible Errors: Standard
errors (see top of file). AAFRESULT_END_OF_ESSENCE -- Hit the
end of the essence (like EOF) while reading.
See Also


IAAFEssenceMultiAccess::WriteMultiSamples


The WriteMultiSamples method ************************ Interface IAAFEssenceMultiAccess ************************ AAFEssenceMultiAccess is an interace which provides streaming access over essence data.
Syntax
HRESULT WriteMultiSamples(
  aafUInt16  arrayElemCount,
  aafmMultiXfer_t*  xferArray,
  aafmMultiResult_t*  resultArray
);

Parameters
  [in]  arrayElemCount
  Specifies arrayelem count.
  [in]  xferArray
  Specifies xferarray.
  [out]  resultArray
  Specifies resultarray.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEssenceMultiAccess ************************
AAFEssenceMultiAccess is an interace which provides streaming
access over essence data. This interfaces deals with essence
data which is in an uncompressed form, and handles compression
or decompression of the data if required. You should call the
CreateMultiEssence or OpenMultiEssence calls on AAFMasterMob
in order to get an interface pointer to AAFEssenceAccess, as
there is no public create or open method in the interface. Objects
implementing this interface also implement AAFEssenceAccess for
operations other than read and write. A number of errors can
be returned from most method calls, These are: AAFRESULT_NOMEMORY
-- The system ran out of memory processing the method AAFRESULT_NULL_PARAM
-- A NULL parameter was passed in which was required. 5-11d3-80AD-006008143E6F
/****/ WriteMultiSamples() Writes multiple channels worth of
sample data to an interleaved data stream in the natural order
for the CODEC. The multiXfer_t structure has the following fields,
which specify one channel of data: essenceDef[IN] -- The essence
type definition physical[IN] - The physical input-output channel
numSamples[IN] -- The number of samples to transfer buflen[IN]
-- The size of the buffer buffer[IN] -- The buffer for this The
multiResult_t structure has the following fields, which return
result for one channel of data: bytesXfered[OUT] -- The total
number of bytes transferred samplesXfered[OUT] -- The total number
of samples transferred
arrayElemCount: referencing this array.
xferArray: putting results into this array.
See Also


IAAFEssenceRawAccess Interface


In addition to the methods inherited from IUnknown, the IAAFEssenceRawAccess interface exposes the following methods.
AddSampleIndexEntry
ReadRawData
WriteRawData



IAAFEssenceRawAccess::AddSampleIndexEntry


The AddSampleIndexEntry method ************************ Interface IAAFEssenceRawAccess ************************ AAFEssenceRawAccess is an interace which provides streaming access over raw essence data.
Syntax
HRESULT AddSampleIndexEntry(
  aafPosition_t  frameOffset
);

Parameters
  [in]  frameOffset
  Specifies frameoffset.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEssenceRawAccess ************************
AAFEssenceRawAccess is an interace which provides streaming access
over raw essence data. You should call the CreateRawEssence or
OpenRawEssence calls on AAFMasterMob in order to get an interface
pointer to AAFEssenceAccess, as there is no public create or
open method in the interface. Objects implementing this interface
also implement AAFEssenceAccess for operations other than read
and write. A number of errors can be returned from most method
calls, These are: AAFRESULT_NOMEMORY -- The system ran out of
memory processing the method AAFRESULT_NULL_PARAM -- A NULL parameter
was passed in which was required. 5-11d3-80AD-006008143E6F /****/
AddSampleIndexEntry() Adds the byte offset to the end of the
sample index table (if any). For formats with fixed sample sizes
(without a sample offset table), this method will return AAFRESULT_SUCCESS.

frameOffset: add a frame offset to it's frame index.
See Also


IAAFEssenceRawAccess::ReadRawData


The ReadRawData method comm A single video frame is ONE sample.
Syntax
HRESULT ReadRawData(
  aafUInt32  nSamples,
  aafUInt32  buflen,
  aafDataBuffer_t  buffer,
  aafUInt32*  samplesRead,
  aafUInt32*  bytesRead
);

Parameters
  [in]  nSamples
  Integer containing the samples.
  [in]  buflen
  Specifies buflen.
  [out]  buffer
  Specifies buffer.
  [out]  samplesRead
  Specifies samplesread.
  [out]  bytesRead
  Specifies bytesread.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm A single video frame is ONE sample. comm Buflen must be
large enough to hold nSamples * the maximum sample size. comm
Possible Errors: Standard errors (see top of file). AAFRESULT_BADDATAADDRESS
-- The buffer must not be a NULL pointer. /****/ ReadRawData()
Read pre-interleaved data from a essence stream.
nSamples: to a buffer of this size.
buflen: here is the buffer. comm A single video frame is ONE
sample. comm Buflen must be large enough to hold nSamples * the
maximum sample size. comm Possible Errors: Standard errors (see
top of file). AAFRESULT_BADDATAADDRESS -- The buffer must not
be a NULL pointer.
See Also


IAAFEssenceRawAccess::WriteRawData


The WriteRawData method comm This function should NOT be called when essence is passed to reference implementation in an uncompressed format.
Syntax
HRESULT WriteRawData(
  aafUInt32  nSamples,
  aafDataBuffer_t  buffer,
  aafUInt32  sampleSize
);

Parameters
  [in]  nSamples
  Integer containing the samples.
  [in]  buffer
  Specifies buffer.
  [in]  sampleSize
  Specifies samplesize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm This function should NOT be called when essence is passed
to reference implementation in an uncompressed format. comm Possible
Errors:nl Standard errors (see top of file).nl AAFRESULT_INVALID_OP_CODEC
-- This kind of essence doesn't have a frame indexnl AAFRESULT_MEDIA_OPENMODE
-- The essence is open for read-only. /****/ WriteRawData() Writes
pre-interleaved data to a essence stream.
nSamples: to a buffer.
buffer: of this size.
See Also


IAAFEvent Interface


In addition to the methods inherited from IUnknown, the IAAFEvent interface exposes the following methods.
GetComment
GetCommentBufLen
GetPosition
SetComment
SetPosition

The AAFEvent object implements the IAAFEvent interface and also implements the following:
Interface Method
IAAFSegment SegmentOffsetToTC
SegmentTCToOffset

IAAFComponent GetDataDef
GetLength
SetDataDef
SetLength




IAAFEvent::GetComment


The GetComment method getComment() Gets specifies the purpose of the event.
Syntax
HRESULT GetComment(
  wchar_t*  pComment,
  aafUInt32  bufSize
);

Parameters
  [out]  pComment
  If the method succeeds, specifies a pointer to a comment object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetComment() Gets specifies the purpose of the event. Writes
the Comment property, with a trailing null character, into the
pComment buffer. The buffer is allocated by the caller. The size
of the buffer is given by bufSize. If the Comment property has
not yet been set, a zero-length string will be written (that
is, only the trailing null character). Caller may call GetCommentBufLen()
to determine the required buffer size. If this method fails nothing
will be written to *pComment. Succeeds if: - The pComment pointer
is valid. - bufSize indicates that the buffer is large enough
to hold Comment. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pComment arg is NULL. AAFRESULT_SMALL_BUF - bufSize indicates
that the allocated buffer is not large enough to hold Comment.

pComment: size of *pComment buffer in bytes.
See Also


IAAFEvent::GetCommentBufLen


The GetCommentBufLen method getCommentBufLen() Returns size of buffer (in bytes) required for GetComment().
Syntax
HRESULT GetCommentBufLen(
  aafUInt32*  pBufSize
);

Parameters
  [out]  pBufSize
  If the method succeeds, specifies a pointer to a buf size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCommentBufLen() Returns size of buffer (in bytes) required
for GetComment(). Succeeds if: - The pBufSize pointer is valid.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pBufSize arg is NULL.
pBufSize: size of required buffer, in bytes.
See Also


IAAFEvent::GetPosition


The GetPosition method .
Syntax
HRESULT GetPosition(
  aafPosition_t*  pPosition
);

Parameters
  [out]  pPosition
  If the method succeeds, specifies a pointer to a position object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEvent ************************
The IAAFEvent interface is implemented by objects which represent
a text comment, a trigger, or an area in the image that has an
associated interactive action. In addition to the specific error
results listed for each method, all methods in this interface
may also return one of the following values: AAFRESULT_NOMEMORY
- insufficient system memory is available to perform the operation.
AAFRESULT_NOT_INITIALIZED - This object has not yet had Initialize()
called on it through this object's primary interface. Note that
IAAFMobSlot is a primary interface for an abstract class, so
it is not appropriate for the Initialize() method to exist in
this interface. The Initialize() method is available through
the concrete object's primary interface. 5-11d2-bf9d-00104bc9156d
GetPosition() This method will return the Position of this event.
Succeeds if all of the following are true: - the pPosition pointer
is valid. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pPosition arg is NULL.
pPosition: Position property value.
See Also


IAAFEvent::SetComment


The SetComment method setComment() Sets specifies the purpose of the event.
Syntax
HRESULT SetComment(
  wchar_t*  pComment
);

Parameters
  [in]  pComment
  Pointer to a comment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetComment() Sets specifies the purpose of the event. Set the
Comment property to the value specified in pComment. A copy is
made of the data so the caller retains ownership of the *pComment
buffer and is responsible for de-allocating it. There is no pre-set
limit to the length of the name, other than available system
memory or disk space. Succeeds if all of the following are true:
- the pComment pointer is valid. If this method fails the Comment
property will not be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pComment arg is NULL.
pComment: buffer from which Comment is to be read.
See Also


IAAFEvent::SetPosition


The SetPosition method setPosition() This method will set the Position of this event.
Syntax
HRESULT SetPosition(
  aafPosition_t  Position
);

Parameters
  [in]  Position
  Specifies position.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPosition() This method will set the Position of this event.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.). AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
Position: Position property value.
See Also


IAAFEventMobSlot Interface


In addition to the methods inherited from IUnknown, the IAAFEventMobSlot interface exposes the following methods.
GetEditRate
SetEditRate

The AAFEventMobSlot object implements the IAAFEventMobSlot interface and also implements the following:

Interface Method
IAAFMobSlot GetDataDef
GetName
GetNameBufLen
GetPhysicalNum
GetSegment
GetSlotID
SetName
SetPhysicalNum
SetSegment
SetSlotID




IAAFEventMobSlot::GetEditRate


The GetEditRate method ************************ Interface IAAFEventMobSlot ************************ An EventMobSlot, as all MobSlots, has a concrete segment, which is a concrete Event or a Sequence of ordered Events.
Syntax
HRESULT GetEditRate(
  aafRational_t*  pEditRate
);

Parameters
  [out]  pEditRate
  If the method succeeds, specifies a pointer to an edit rate object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFEventMobSlot ************************
An EventMobSlot, as all MobSlots, has a concrete segment, which
is a concrete Event or a Sequence of ordered Events. If it has
a sequence of events, all events shall have the same concrete
Event. 5-11d2-bf9d-00104bc9156d GetEditRate() This method will
get the edit rate for this mob slot. Succeeds if all of the following
are true: - the pEditRate pointer is valid. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NOT_INITIALIZED - This
object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pEditRate arg is NULL.
pEditRate: Edit rate property value.
See Also


IAAFEventMobSlot::SetEditRate


The SetEditRate method setEditRate() This method will get set edit rate for this mob slot.
Syntax
HRESULT SetEditRate(
  aafRational_t*  pEditRate
);

Parameters
  [in]  pEditRate
  Pointer to an edit rate object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetEditRate() This method will get set edit rate for this mob
slot. Succeeds if all of the following are true: - the pEditRate
pointer is valid. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pEditRate arg is NULL.
pEditRate: Edit rate property value.
See Also


IAAFFile Interface


In addition to the methods inherited from IUnknown, the IAAFFile interface exposes the following methods.
Close
GetHeader
GetRevision
Revert
Save
SaveAs



IAAFFile::Close


The Close method ************************ Interface IAAFFile ************************ This interface is used with an object representing an AAF file.
Syntax
HRESULT Close();
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFFile ************************
This interface is used with an object representing an AAF file.
An object supporting IAAFFile may be in one of the following
states: 1) Open for Reading with AAFFileOpenExistingRead. This
file object is associated with a filesystem file from which information
is only to be read. 2) Open for Modification with AAFFileOpenExistingModify
or AAFFileOpenNewModify. This file object is associated with
a filesystem file, potentially containing data which is to be
modified. 3) Open as a Transient File with AAFFileOpenTransient.
This file object is not associated with any filesystem file,
but it may still be used to contain AAF objects. 4) Closed.
This file object is neither transient nor is it associated with
any filesystem entities. When created and Initialize()d, objects
implementing this interface are initially in the Closed state.
In general an IAAFFile-implementing object may not be transitioned
directly from one Open state to another; it must first be put
through the Closed state. The exception is a Transient file,
which may be transitioned directly from Transient to Open for
Modification via the SaveAs() method. Any filesystem file can
be opened for reading by multiple IAAFFile-supporting objects.
It is not recommended to Close an IAAFFile-implementing object
which contains objects to which outstanding references are held
in client code. Nevertheless, even if that is done, the Close()
method will succeed and all referenced objects will be put into
a Detached state in which may cause any methods on such objects
to fail with the error status of AAFRESULT_NOT_IN_FILE. The Revert
feature allows any unsaved changes to be discarded. The state
of this object and all contained objects will return to that
when it was last saved or opened, whichever is most recent.
Note that Revert will only succeed if this object was opened
as files are never considered Revertable. values:
See Also


IAAFFile::GetHeader


The GetHeader method getHeader() Returns the IAAFHeader-supporting object associated with this file.
Syntax
HRESULT GetHeader(
  IAAFHeader**  ppHeader
);

Parameters
  [out]  ppHeader
  If the method succeeds, specifies a pointer to a variable containing a pointer to a header object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetHeader() Returns the IAAFHeader-supporting object associated
with this file. If this object has never been associated with
a file, a new empty IAAFHeader-supporting object will be created
and returned. The returned header is AddRef()ed before it is
returned. Note that the header is automatically created when
the file object is created. Succeeds if: - This object has already
been Initialize()d. - the given header pointer is valid. - this
object contains a header. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it. AAFRESULT_NULL_PARAM - the header
pointer arg is NULL. AAFRESULT_NO_HEADER - this object contains
no header.
ppHeader: Set to header of the current file.
See Also


IAAFFile::GetRevision


The GetRevision method getRevision() Get the revision of the current AAF file, and returns it in pRev.
Syntax
HRESULT GetRevision(
  aafFileRev_t*  pRev
);

Parameters
  [out]  pRev
  If the method succeeds, specifies a pointer to a rev object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetRevision() Get the revision of the current AAF file, and returns
it in pRev. Succeeds if: - This object has already been Initialize()d.
- the given revision pointer is valid. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- the revision pointer arg is NULL.
pRev: Revision of the current file.
See Also


IAAFFile::Revert


The Revert method .
Syntax
HRESULT Revert();
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Revert() If this IAAFFile-supporting object is associated with
a filesystem file for reading or modification, all unsaved changes
made to the contents of this object are discarded and the contents
are brought back to reflect the state of the filesystem file.
This will only work if this file was opened as revertable and
is not a transient file. Any changes to essence are not revertable.
NOTE Stub only. Implementation not yet added. This method will
succeed only if all of the following are true: - This object
has already been Initialize()d. - This object is currently associated
with a filesystem file for reading or modification. - Any unsaved
changes do not involve unrevertable essence changes. - This object
is revertable and is not transient. This method will return the
following codes. If more than one of the listed errors is in
effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it. AAFRESULT_NOT_OPEN
- This object is not associated with an open filesystem file.
AAFRESULT_WRONG_OPENMODE - This object is not open for reading
or modification. AAFRESULT_MEDIA_NOT_REVERTABLE - This object
is revertable and changes were made to essence which do not allow
this object to be reverted. AAFRESULT_NOT_REVERTABLE - This object
is not revertable.
See Also


IAAFFile::Save


The Save method save() If this IAAFFile-supporting object is associated with a filesystem file for writing or modification, all unsaved changes made to the contents of this object are saved to that filesystem file.
Syntax
HRESULT Save();
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Save() If this IAAFFile-supporting object is associated with
a filesystem file for writing or modification, all unsaved changes
made to the contents of this object are saved to that filesystem
file. This method will succeed only if all of the following are
true: - This object has already been Initialize()d. - This object
is currently associated with a filesystem file for writing or
modification. - Sufficient space remains in the filesystem for
the data to be written. Note: This method guarantees that upon
return, the filesystem file will always be left in a consistent
and valid state. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NOT_OPEN
- This object is not associated with an open filesystem file.
AAFRESULT_WRONG_OPENMODE - This object is not open for writing
or modification. AAFRESULT_INSUFFICIENT_SPACE - There is insufficient
space in the filesystem to save the contents of this object.

See Also


IAAFFile::SaveAs


The SaveAs method saveAs() Saves this IAAFFile-supporting object into a newly-created filesystem file.
Syntax
HRESULT SaveAs(
  aafCharacter*  pFileName,
  aafUInt32  modeFlags
);

Parameters
  [in]  pFileName
  Pointer to a file name object.
  [in]  modeFlags
  Specifies modeflags.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SaveAs() Saves this IAAFFile-supporting object into a newly-created
filesystem file. This object will then be associated with the
new filesystem file. If the old file was opened as Revertable,
any unsaved changes will not be saved to old file before it is
closed. If the old file was not opened as revertable, all unsaved
changes to that old file will be saved before it is closed.
In either case, the old file will be closed, and all changes
will be saved to the new file. Note: This method guarantees that
upon return, both the old and the new filesystem files will always
be left in a consistent and valid state. Does the following:
- Creates a new file in the filesystem with the given name. -
Opens the filesystem file for reading and writing. - Associates
this object with that filesystem file. - Copies the contents
of this object into the new file. - Closes the old filesystem
file. - This AAFFile object then can be used to refer to all
AAF objects contained within the file. NOTE Stub only. Implementation
not yet added. Succeeds if: - This object has already been Initialize()d.
- This object is currently open. - The pFileName argument is
valid. - Only valid flags have been specified. - A valid combination
of flags has been specified. - The named file does not exist
in the filesystem. - The named filesystem file is readable. -
The named filesystem file is writable. - There is sufficient
space in the filesystem to create and write the file. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NOT_OPEN
- This object is not open. AAFRESULT_NULL_PARAM - pFileName pointer
argument is NULL. AAFRESULT_BAD_FLAGS - one or more illegal flags
were specified. AAFRESULT_FILE_EXISTS
See Also


IAAFFileDescriptor Interface


In addition to the methods inherited from IUnknown, the IAAFFileDescriptor interface exposes the following methods.
GetContainerFormat
GetIsInContainer
GetLength
GetSampleRate
SetContainerFormat
SetIsInContainer
SetLength
SetSampleRate

The AAFFileDescriptor object implements the IAAFFileDescriptor interface and also implements the following:

Interface Method
IAAFEssenceDescriptor AppendLocator
EnumAAFAllLocators
GetNumLocators
PrependLocator




IAAFFileDescriptor::GetContainerFormat


The GetContainerFormat method getContainerFormat() // Optional.
Syntax
HRESULT GetContainerFormat(
  aafUID_t*  pFormat
);

Parameters
  [out]  pFormat
  If the method succeeds, specifies a pointer to a format object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetContainerFormat() // Optional. Identifies the file format.
Succeeds if all of the following are true: - the pFormat pointer
is valid. If this method fails nothing will be written to *pFormat.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pFormat arg is NULL.
pFormat: Identifies the file format.
See Also


IAAFFileDescriptor::GetIsInContainer


The GetIsInContainer method getIsInContainer() // Places TRUE into *pIsAAF if this is AAF-wrapped essence.
Syntax
HRESULT GetIsInContainer(
  aafBool*  pIsAAF
);

Parameters
  [out]  pIsAAF
  If the method succeeds, specifies a pointer to an isAAF object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetIsInContainer() // Places TRUE into *pIsAAF if this is AAF-wrapped
essence. Places FALSE into *pIsAAF if the essence is in an external
non-AAF file. Succeeds if all of the following are true: - the
pIsAAF pointer is valid. If this method fails nothing will be
written to *pIsAAF. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pIsAAF arg is NULL.
pIsAAF: is this AAF or raw media.
See Also


IAAFFileDescriptor::GetLength


The GetLength method getLength() // Gets the length of the essence in samples [not edit units].
Syntax
HRESULT GetLength(
  aafLength_t*  pLength
);

Parameters
  [out]  pLength
  If the method succeeds, specifies a pointer to a length object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetLength() // Gets the length of the essence in samples [not
edit units]. Succeeds if all of the following are true: - the
pLength pointer is valid. If this method fails nothing will be
written to *pLength. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pLength arg is NULL.
pLength: returns length of the essence in samples.
See Also


IAAFFileDescriptor::GetSampleRate


The GetSampleRate method getSampleRate() Gets sample rate of the essence as opposed to the edit rate.
Syntax
HRESULT GetSampleRate(
  aafRational_t*  pRate
);

Parameters
  [out]  pRate
  If the method succeeds, specifies a pointer to a rate object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSampleRate() Gets sample rate of the essence as opposed to
the edit rate. and writes it into the *pRate argument. Succeeds
if all of the following are true: - the pRate pointer is valid.
If this method fails nothing will be written to *pRate. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pRate arg is NULL.
pRate: sample rate of the essence.
See Also


IAAFFileDescriptor::SetContainerFormat


The SetContainerFormat method setContainerFormat() Identifies the file format.
Syntax
HRESULT SetContainerFormat(
  aafUID_t*  pFormat
);

Parameters
  [in]  pFormat
  Pointer to a format object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetContainerFormat() Identifies the file format. The container
format is an optional property. Succeeds if all of the following
are true: - the pFormat pointer is valid. If this method fails
the container format property will not be changed. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pFormat arg is NULL.
pFormat: file format.
See Also


IAAFFileDescriptor::SetIsInContainer


The SetIsInContainer method setIsInContainer() // Set to TRUE if this is AAF-wrapped essence FALSE if the essence is in an external non-AAF file.
Syntax
HRESULT SetIsInContainer(
  aafBool  isAAF
);

Parameters
  [in]  isAAF
  Specifies isAAF.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetIsInContainer() // Set to TRUE if this is AAF-wrapped essence
FALSE if the essence is in an external non-AAF file. Always succeeds.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.)
isAAF: is this AAF or raw essence.
See Also


IAAFFileDescriptor::SetLength


The SetLength method .
Syntax
HRESULT SetLength(
  aafLength_t  length
);

Parameters
  [in]  length
  Specifies length.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFFileDescriptor ************************
The IAAFFileDescriptor interface is implemented by objects which
describe the format of the content data associated with a File
Source mob or the media associated with a Physical Source mob.
In addition to the specific error results listed for each method,
all methods in this interface may also return one of the following
values: AAFRESULT_NOMEMORY - insufficient system memory is available
to perform the operation. AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it through this object's
primary interface. Note that IAAFFileDescriptor is a primary
interface for an abstract class, so it is not appropriate for
the Initialize() method to exist in this interface. The Initialize()
method is available through the concrete object's primary interface.
e-11D2-bfa4-006097116212 SetLength() // Sets the length of the
essence in samples [not edit units]. Always succeeds. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.)
length: length of the essence in samples.
See Also


IAAFFileDescriptor::SetSampleRate


The SetSampleRate method setSampleRate() Sets sample rate of the essence as opposed to the edit rate.
Syntax
HRESULT SetSampleRate(
  aafRational_t*  pRate
);

Parameters
  [in]  pRate
  Pointer to a rate object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSampleRate() Sets sample rate of the essence as opposed to
the edit rate. Succeeds if all of the following are true: - the
pRate pointer is valid. If this method fails the sample rate
property will not be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pRate arg is NULL.
pRate: sample rate of the essence.
See Also


IAAFFiller Interface


In addition to the methods inherited from IUnknown, the IAAFFiller interface exposes the following methods.
Initialize

The AAFFiller object implements the IAAFFiller interface and also implements the following:
Interface Method
IAAFSegment SegmentOffsetToTC
SegmentTCToOffset

IAAFComponent GetDataDef
GetLength
SetDataDef
SetLength




IAAFFiller::Initialize


The Initialize method ************************ Interface IAAFFiller ************************ The IAAFFiller interface is supported by objects which serve as placeholders for an unknown values for the component duration.
Syntax
HRESULT Initialize(
  aafUID_t*  pDataDef,
  aafLength_t  length
);

Parameters
  [in]  pDataDef
  Pointer to a data def object.
  [in]  length
  Specifies length.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFFiller ************************
The IAAFFiller interface is supported by objects which serve
as placeholders for an unknown values for the component duration.
Typically, a Filler object is used in a Sequence to allow positioning
of a Segment whem not all of the preceding material has been
specified. If a Filler object is played, applications can choose
any appropiate blank media to play. In addition to the specific
error results listed for each method, all methods in this interface
may also return one of the following values: AAFRESULT_NOMEMORY
- insufficient system memory is available to perform the operation.
c-11d2-8411-00600832acb8 Initialize() This function will create
a new filler object with the given property values. Length is
specified in units of the edit rate of the containing timeline
mob slot. Succeeds if all of the following are true: - this object
has not yet been initialized. - the pDataDef pointer is valid.
- the length is valid. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_ALREADY_INITIALIZED - Initialize() has already
been called on this object. AAFRESULT_NULL_PARAM - pDataDef argument
is NULL.
pDataDef: Length Property Value. AAFRESULT_BAD_LENGTH - length
is negative.)
See Also


IAAFFilmDescriptor Interface


In addition to the methods inherited from IUnknown, the IAAFFilmDescriptor interface exposes the following methods.
GetFilmAspectRatio
GetFilmFormat
GetFilmManufacturer
GetFilmManufacturerBufLen
GetFilmModel
GetFilmModelBufLen
GetFrameRate
GetPerfPerFrame
SetFilmAspectRatio
SetFilmFormat
SetFilmManufacturer
SetFilmModel
SetFrameRate
SetPerfPerFrame

The AAFFilmDescriptor object implements the IAAFFilmDescriptor interface and also implements the following:

Interface Method
IAAFEssenceDescriptor AppendLocator
EnumAAFAllLocators
GetNumLocators
PrependLocator




IAAFFilmDescriptor::GetFilmAspectRatio


The GetFilmAspectRatio method /****/ GetFilmAspectRatio() Get the image aspect ratio.
Syntax
HRESULT GetFilmAspectRatio(
  aafRational_t*  pAspectRatio
);

Parameters
  [out]  pAspectRatio
  If the method succeeds, specifies a pointer to an aspect ratio object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetFilmAspectRatio() Get the image aspect ratio. This
method succeeds if all of the following are true: - the pAspectRatio
pointer is valid. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pAspectRatio arg is NULL.
pAspectRatio: Film Aspect Ratio.
See Also


IAAFFilmDescriptor::GetFilmFormat


The GetFilmFormat method /****/ GetFilmFormat() Gets the film format.
Syntax
HRESULT GetFilmFormat(
  aafFilmType_t*  pFilmFormat
);

Parameters
  [out]  pFilmFormat
  If the method succeeds, specifies a pointer to a film format object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetFilmFormat() Gets the film format. Valid values include
kFt35MM, kFt16MM, kFt8MM, and kFt65MM. This method succeeds if
all of the following are true: - the pFilmFormat pointer is valid.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pFilmFormat arg is NULL.
pFilmFormat: pointer to the filmFormat.
See Also


IAAFFilmDescriptor::GetFilmManufacturer


The GetFilmManufacturer method /****/ GetFilmManufacturer() Writes the film manufacturer name, with a trailing null character, into the pManufacturer buffer.
Syntax
HRESULT GetFilmManufacturer(
  aafCharacter*  pManufacturer,
  aafInt32  bufSize
);

Parameters
  [in]  pManufacturer
  Pointer to a manufacturer object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetFilmManufacturer() Writes the film manufacturer name,
with a trailing null character, into the pManufacturer buffer.
The buffer is allocated by the caller. The size of the buffer
is given by bufSize. If the property name has not yet been set,
a zero-length string will be written (that is, only the trailing
null character). Caller may call GetFilmManufacturerBufLen()
to determine the required buffer size. Succeeds if all of the
following are true: - the pManufacturer pointer is valid. - bufSize
indicates the buffer is large enough to hold the name. If this
method fails nothing will be written to *pname. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - pManufacturer
arg is NULL. AAFRESULT_SMALLBUF - bufSize indicates the buffer
is too small to hold the string.
pManufacturer: length of the buffer to hold manufacturer Name.

See Also


IAAFFilmDescriptor::GetFilmManufacturerBufLen


The GetFilmManufacturerBufLen method getFilmManufacturerBufLen() Returns the length of buffer required for the GetFilmManufacturer() method.
Syntax
HRESULT GetFilmManufacturerBufLen(
  aafInt32*  pLen
);

Parameters
  [out]  pLen
  If the method succeeds, specifies a pointer to a len object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetFilmManufacturerBufLen() Returns the length of buffer required
for the GetFilmManufacturer() method. The value is placed into
the location specified by pLen, and will include space required
for the trailing null character. Succeeds if all of the following
are true: - the pLen pointer is valid. If this method fails nothing
will be written to *pLen. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pLen arg is NULL.
pLen: Film manufacturer name length.
See Also


IAAFFilmDescriptor::GetFilmModel


The GetFilmModel method /****/ GetFilmModel() Writes the foptional model or brand of the film stock, with a trailing null character, into the pName buffer.
Syntax
HRESULT GetFilmModel(
  aafCharacter*  pName,
  aafInt32  bufSize
);

Parameters
  [in]  pName
  Pointer to a name object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetFilmModel() Writes the foptional model or brand of
the film stock, with a trailing null character, into the pName
buffer. The buffer is allocated by the caller. The size of the
buffer is given by bufSize. If the property name has not yet
been set, a zero-length string will be written (that is, only
the trailing null character). Caller may call GetFilmManufacturerBufLen()
to determine the required buffer size. Succeeds if all of the
following are true: - the pName pointer is valid. - bufSize indicates
the buffer is large enough to hold the name. If this method fails
nothing will be written to *pname. This method will return the
following codes. If more than one of the listed errors is in
effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - pName arg is
NULL. AAFRESULT_SMALLBUF - bufSize indicates the buffer is too
small to hold the string.
pName: length of the buffer to hold manufacturer Name.
See Also


IAAFFilmDescriptor::GetFilmModelBufLen


The GetFilmModelBufLen method getFilmModelBufLen() Returns the length of buffer required for the GetFilmModel() method.
Syntax
HRESULT GetFilmModelBufLen(
  aafInt32*  pLen
);

Parameters
  [out]  pLen
  If the method succeeds, specifies a pointer to a len object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetFilmModelBufLen() Returns the length of buffer required for
the GetFilmModel() method. The value is placed into the location
specified by pLen, and will include space required for the trailing
null character. Succeeds if all of the following are true: -
the pLen pointer is valid. If this method fails nothing will
be written to *pLen. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pLen arg is NULL.
pLen: Film manufacturer name length.
See Also


IAAFFilmDescriptor::GetFrameRate


The GetFrameRate method /****/ GetFrameRate() Get the frame rate of the film.
Syntax
HRESULT GetFrameRate(
  aafUInt32*  pRate
);

Parameters
  [out]  pRate
  If the method succeeds, specifies a pointer to a rate object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetFrameRate() Get the frame rate of the film. This method
succeeds if all of the following are true: - the pRate pointer
is valid. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pRate parameter is NULL.
pRate: Frame Rate.
See Also


IAAFFilmDescriptor::GetPerfPerFrame


The GetPerfPerFrame method /****/ GetPerfPerFrame() Get the number of perforations per frame.
Syntax
HRESULT GetPerfPerFrame(
  aafUInt8*  pPerfPerFrame
);

Parameters
  [out]  pPerfPerFrame
  If the method succeeds, specifies a pointer to a perf per frame object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ GetPerfPerFrame() Get the number of perforations per frame.
This method succeeds if all of the following are true: - the
pPerfPerFrame pointer is valid. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NOT_INITIALIZED - This object has not yet
had Initialize() called on it. AAFRESULT_NULL_PARAM - pPerfPerFrame
parameter is NULL.
pPerfPerFrame: Perforations per frame.
See Also


IAAFFilmDescriptor::SetFilmAspectRatio


The SetFilmAspectRatio method /****/ SetFilmAspectRatio() Set the image aspect ratio.
Syntax
HRESULT SetFilmAspectRatio(
  aafRational_t  aspectRatio
);

Parameters
  [in]  aspectRatio
  Specifies aspectratio.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ SetFilmAspectRatio() Set the image aspect ratio. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
aspectRatio: Film Aspect Ratio.
See Also


IAAFFilmDescriptor::SetFilmFormat


The SetFilmFormat method /****/ SetFilmFormat() Sets the film format of the film.
Syntax
HRESULT SetFilmFormat(
  aafFilmType_t  filmFormat
);

Parameters
  [in]  filmFormat
  Specifies filmformat.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ SetFilmFormat() Sets the film format of the film. Valid
values include kFt35MM, kFt16MM, kFt8MM, and kFt65MM. This method
succeeds if all of the following are true: - formFactor represents
a valid format. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_BAD_TYPE
- filmFormat is invalid.
filmFormat: Film Format.
See Also


IAAFFilmDescriptor::SetFilmManufacturer


The SetFilmManufacturer method ************************ Interface IAAFFilmDescriptor ************************ The IAAFFilmDescriptor interface is implemented by objects which describe film essence.
Syntax
HRESULT SetFilmManufacturer(
  aafCharacter*  pName
);

Parameters
  [in]  pName
  Pointer to a name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFFilmDescriptor ************************
The IAAFFilmDescriptor interface is implemented by objects which
describe film essence. A FilmDescriptor object shall be the EssenceDescription
of a physical Source Mob. In addition to the specific error results
listed for each method, all methods in this interface may also
return one of the following values: AAFRESULT_NOMEMORY - insufficient
system memory is available to perform the operation. e-11D2-bfa4-006097116212
access Public Members /****/ SetFilmManufacturer() This method
sets the manufacturer name property on a film descriptor to the
value specified in pName. A copy is made of the data so the caller
retains ownership of the *pName buffer and is responsible for
de-allocating it. Succeeds if all of the following are true:
- the pName pointer is valid. If this method fails no state will
be changed. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pName arg is NULL.
pName: Film manufacturer name.
See Also


IAAFFilmDescriptor::SetFilmModel


The SetFilmModel method /****/ SetFilmModel() This method sets the model or brand of the film stock to the value specified in pName.
Syntax
HRESULT SetFilmModel(
  aafCharacter*  pName
);

Parameters
  [in]  pName
  Pointer to a name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ SetFilmModel() This method sets the model or brand of
the film stock to the value specified in pName. A copy is made
of the data so the caller retains ownership of the *pName buffer
and is responsible for de-allocating it. Succeeds if all of the
following are true: - the pName pointer is valid. If this method
fails no state will be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pName arg is NULL.
pName: Film model name.
See Also


IAAFFilmDescriptor::SetFrameRate


The SetFrameRate method /****/ SetFrameRate() Set the frame rate of the film.
Syntax
HRESULT SetFrameRate(
  aafUInt32  rate
);

Parameters
  [in]  rate
  Specifies rate.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ SetFrameRate() Set the frame rate of the film. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
rate: Frame Rate.
See Also


IAAFFilmDescriptor::SetPerfPerFrame


The SetPerfPerFrame method /****/ SetPerfPerFrame() Set the number of perforations per frame.
Syntax
HRESULT SetPerfPerFrame(
  aafUInt8  perfPerFrame
);

Parameters
  [in]  perfPerFrame
  Specifies perfper frame.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ SetPerfPerFrame() Set the number of perforations per frame.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
perfPerFrame: Perforations per frame.
See Also


IAAFFindSourceInfo Interface


In addition to the methods inherited from IUnknown, the IAAFFindSourceInfo interface exposes the following methods.
GetEditRate
GetLength
GetMob
GetSourceReference



IAAFFindSourceInfo::GetEditRate


The GetEditRate method getEditRate() This method will get the edit rate for this result.
Syntax
HRESULT GetEditRate(
  aafRational_t*  pEditRate
);

Parameters
  [out]  pEditRate
  If the method succeeds, specifies a pointer to an edit rate object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetEditRate() This method will get the edit rate for this result.
Succeeds if all of the following are true: - the pEditRate pointer
is valid. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pEditRate arg is NULL.
pEditRate: Edit rate property value.
See Also


IAAFFindSourceInfo::GetLength


The GetLength method getLength() Gets the of this component.
Syntax
HRESULT GetLength(
  [retval][out]  aafLength_t
);

Parameters
  aafLength_t
  Specifies aaflength_t.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetLength() Gets the of this component. This function returns
the duration in edit units of the result. Succeeds if all of
the following are true: - the pLength pointer is valid. - the
optional length property is present for this object. This method
deals with an optional property, which will only be present for
time-varying media. If this method fails nothing will be written
to *pLength. This method will return the following codes. If
more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pLength arg is NULL. AAFRESULT_BAD_PROP - the optional length
property is not present for this object.
aafLength_t: Length of this component.
See Also


IAAFFindSourceInfo::GetMob


The GetMob method ************************ Interface IAAFFindSourceInfo ************************ * Stub only.
Syntax
HRESULT GetMob(
  IAAFMob**  ppMob
);

Parameters
  [out]  ppMob
  If the method succeeds, specifies a pointer to a variable containing a pointer to a mob object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFFindSourceInfo ************************
* Stub only. Implementation not yet added * 3-11d2-8035-006008143E6F
GetMob() // This function returns the mob found by the function
which generated this IAAFFindSourceInfo as a result. Succeeds
if all of the following are true: - the ppMob pointer is valid.
If this method fails nothing will be written to *ppMob. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULLOBJECT -
There is no valid mob referenced AAFRESULT_NULL_PARAM - ppMob
arg is NULL.
ppMob: The final media object referenced.
See Also


IAAFFindSourceInfo::GetSourceReference


The GetSourceReference method getSourceReference() // This function returns the source reference found by the function which generated this IAAFFindSourceInfo as a result.
Syntax
HRESULT GetSourceReference(
  aafSourceRef_t*  pSourceRef
);

Parameters
  [out]  pSourceRef
  If the method succeeds, specifies a pointer to a source ref object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSourceReference() // This function returns the source reference
found by the function which generated this IAAFFindSourceInfo
as a result. Note: the 3 properties that make up the "source
reference" are sourceID, sourceTrackID, and startTime. Succeeds
if all of the following are true: - This object has already been
Initialize()d. - the pSourceRef pointer is valid. If this method
fails nothing will be written to *pSourceRef. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NOT_INITIALIZED - This
object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pSourceRef arg is NULL.
pSourceRef: Source Reference.
See Also


IAAFGPITrigger Interface


In addition to the methods inherited from IUnknown, the IAAFGPITrigger interface exposes the following methods.
GetActiveState
SetActiveState

The AAFGPITrigger object implements the IAAFGPITrigger interface and also implements the following:
Interface Method
IAAFEvent GetComment
GetCommentBufLen
GetPosition
SetComment
SetPosition

IAAFSegment SegmentOffsetToTC
SegmentTCToOffset

IAAFComponent GetDataDef
GetLength
SetDataDef
SetLength




IAAFGPITrigger::GetActiveState


The GetActiveState method .
Syntax
HRESULT GetActiveState(
  aafBool*  pActiveState
);

Parameters
  [out]  pActiveState
  If the method succeeds, specifies a pointer to an active state object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFGPITrigger ************************
The IAAFGPITrigger interface is implemented by objects which
represent an trigger action that should be taken when its position
in time is reached. In addition to the specific error results
listed for each method, all methods in this interface may also
return one of the following values: AAFRESULT_NOMEMORY - insufficient
system memory is available to perform the operation. AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it through
this object's primary interface. Note that IAAFMobSlot is a
primary interface for an abstract class, so it is not appropriate
for the Initialize() method to exist in this interface. The Initialize()
method is available through the concrete object's primary interface.
5-11d2-bf9d-00104bc9156d GetActiveState() Sets *pActiveState
to AAFTrue it the event is on otherwise sets it to AAFFalse.
Succeeds if: - The pActiveState pointer is valid. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
The pActiveState pointer is NULL.
pActiveState: pointer to the result.
See Also


IAAFGPITrigger::SetActiveState


The SetActiveState method setActiveState() Set to AAFTrue to turn the trigger on or AAFFalse to turn the trigger off.
Syntax
HRESULT SetActiveState(
  aafBool  ActiveState
);

Parameters
  [in]  ActiveState
  Specifies active state.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetActiveState() Set to AAFTrue to turn the trigger on or AAFFalse
to turn the trigger off. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.)
ActiveState: the active state of the trigger.
See Also


IAAFHeader Interface


In addition to the methods inherited from IUnknown, the IAAFHeader interface exposes the following methods.
AppendEssenceData
AppendIdentification
AppendMob
EnumAAFAllMobs
EnumAAFIdents
EnumEssenceData
GetDictionary
GetFileRevision
GetIdentificationByGen
GetLastIdentification
GetLastModified
GetNumEssenceData
GetNumIdents
GetNumMobs
GetRefImplVersion
IsEssenceDataPresent
LookupMob



IAAFHeader::AppendEssenceData


The AppendEssenceData method appendEssenceData() Appends the given essence data object to the header.
Syntax
HRESULT AppendEssenceData(
  IAAFEssenceData*  pEssenceData
);

Parameters
  [in]  pEssenceData
  Pointer to an essence data object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendEssenceData() Appends the given essence data object to
the header. NOTE Stub only. Implementation not yet added. Succeeds
if all of the following are true: - the pEssenceData pointer
is valid. If this method fails no state will be changed. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_DUPLICATE_MOBID
- The given mob has already been added. The validation is done
by comparing mobIDs, which should be unique. AAFRESULT_NULL_PARAM
- pEssenceData is null.
pEssenceData: Essence data object to append.
See Also


IAAFHeader::AppendIdentification


The AppendIdentification method appendIdentification() Appends the given Identification class to the header.
Syntax
HRESULT AppendIdentification(
  IAAFIdentification*  pIdent
);

Parameters
  [in]  pIdent
  Pointer to an ident object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendIdentification() Appends the given Identification class
to the header. This method does not attempt to identify duplicate
identifications, so it will succeed even if an identical identification
has already been appended. Succeeds if all of the following are
true: - the pIdent pointer is valid. If this method fails no
state will be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pIdent is null.
pIdent: Identification to append.
See Also


IAAFHeader::AppendMob


The AppendMob method appendMob() Appends the given mob to the header.
Syntax
HRESULT AppendMob(
  IAAFMob*  pMob
);

Parameters
  [in]  pMob
  Pointer to a mob object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendMob() Appends the given mob to the header. If the given
mob is already contained this method will do nothing and will
return success. Succeeds if all of the following are true: -
the pMob pointer is valid. - the given mob is not already part
of this collection. If this method fails no state will be changed.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pMob is null. AAFRESULT_DUPLICATE_MOBID - the given mob is
already contained.
pMob: Mob to add header.
See Also


IAAFHeader::EnumAAFAllMobs


The EnumAAFAllMobs method enumAAFAllMobs() Places an enumerator for mobs that apply to the criteria into the *ppEnum argument.
Syntax
HRESULT EnumAAFAllMobs(
  aafSearchCrit_t*  pSearchCriteria,
  IEnumAAFMobs**  ppEnum
);

Parameters
  [in]  pSearchCriteria
  Pointer to a search criteria object.
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
EnumAAFAllMobs() Places an enumerator for mobs that apply to
the criteria into the *ppEnum argument. If pSearchCriteria is
null, all mobs are returned. The searchTag field of pSearchCriteria,
and exactly ONE of the fields in the union (tags.mobID, tags.name,
etc. ) must be set. Only one search criterion may be specified.
The returned enumerator is AddRef()ed before it is returned.
Succeeds if all of the following are true: - the ppEnum pointer
is valid. If this method fails nothing will be written to *ppEnum.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppEnum is null.
pSearchCriteria: Mob Enumeration.
See Also


IAAFHeader::EnumAAFIdents


The EnumAAFIdents method enumAAFIdents() Places an enumerator for all Identifications criteria intothe *ppEnum argument.
Syntax
HRESULT EnumAAFIdents(
  IEnumAAFIdentifications**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
EnumAAFIdents() Places an enumerator for all Identifications
criteria intothe *ppEnum argument. The returned enumerator is
AddRef()ed before it is returned. NOTE Stub only. Implementation
not yet added. Succeeds if all of the following are true: - the
ppEnum pointer is valid. If this method fails nothing will be
written to *ppEnum. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppEnum is null.
ppEnum: Indentification Enumeration.
See Also


IAAFHeader::EnumEssenceData


The EnumEssenceData method enumEssenceData() Places an enumerator for essence that applies to the criteria into the *ppEnum argument.
Syntax
HRESULT EnumEssenceData(
  IEnumAAFEssenceData**  ppEnum
);

Parameters
  [out]  ppEnum
  If the method succeeds, specifies a pointer to a variable containing a pointer to an enum object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
EnumEssenceData() Places an enumerator for essence that applies
to the criteria into the *ppEnum argument. The returned enumerator
is AddRef()ed before it is returned. Succeeds if all of the following
are true: - the pMediaCriteria pointer is valid. - the ppEnum
pointer is valid. If this method fails nothing will be written
to *ppEnum. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- either pMediaCriteria or ppEnum is null.
ppEnum: Essence Enumeration.
See Also


IAAFHeader::GetDictionary


The GetDictionary method getDictionary() Places the dictionary that contains all types of aaf definition objects into the *ppDictionary argument.
Syntax
HRESULT GetDictionary(
  IAAFDictionary**  ppDictionary
);

Parameters
  [out]  ppDictionary
  If the method succeeds, specifies a pointer to a variable containing a pointer to a dictionary object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDictionary() Places the dictionary that contains all types
of aaf definition objects into the *ppDictionary argument. The
returned dictionary is AddRef()ed before it is returned. Note
that the dictionary is automatically created when the header
object is created. NOTE Stub only. Implementation not yet added.
Succeeds if all of the following are true: - the ppDictionary
pointer is valid. If this method fails no state will be changed.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppDictionary is null.
ppDictionary: The AAF Dictionary.
See Also


IAAFHeader::GetFileRevision


The GetFileRevision method getFileRevision() Return the File Revision property.
Syntax
HRESULT GetFileRevision(
  aafVersionType_t*  pRevision
);

Parameters
  [out]  pRevision
  If the method succeeds, specifies a pointer to a revision object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetFileRevision() Return the File Revision property. NOTE Stub
only. Implementation not yet added. Succeeds if all of the following
are true: - the pRevision pointer is valid. If this method fails
nothing is written to *pRevision. This method will return the
following codes. If more than one of the listed errors is in
effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - pRevision is
null.
pRevision: The File Version.
See Also


IAAFHeader::GetIdentificationByGen


The GetIdentificationByGen method getIdentificationByGen() Places the Identification that matches the given generation into the *ppIdentification argument.
Syntax
HRESULT GetIdentificationByGen(
  aafUID_t*  pGeneration,
  IAAFIdentification**  ppIdentification
);

Parameters
  [in]  pGeneration
  Pointer to a generation object.
  [out]  ppIdentification
  If the method succeeds, specifies a pointer to a variable containing a pointer to an identification object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetIdentificationByGen() Places the Identification that matches
the given generation into the *ppIdentification argument. The
returned identification is AddRef()ed before it is returned.
NOTE Stub only. Implementation not yet added. Succeeds if all
of the following are true: - the pGeneration pointer is valid.
- the ppIdentification pointer is valid. If this method fails
no state will be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - either pGeneration or ppIdentification
is null.
pGeneration: Indentification Object.
See Also


IAAFHeader::GetLastIdentification


The GetLastIdentification method getLastIdentification() // Places the identification of the last entity that modified the file into the *ppIdentification argument.
Syntax
HRESULT GetLastIdentification(
  IAAFIdentification**  ppIdentification
);

Parameters
  [out]  ppIdentification
  If the method succeeds, specifies a pointer to a variable containing a pointer to an identification object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetLastIdentification() // Places the identification of the last
entity that modified the file into the *ppIdentification argument.
The returned identification is AddRef()ed before it is returned.
Succeeds if all of the following are true: - the ppIdentification
pointer is valid. If this method fails no state will be changed.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppIdentification is null.
ppIdentification: Indentification Object.
See Also


IAAFHeader::GetLastModified


The GetLastModified method getLastModified() Return the Last Modified property.
Syntax
HRESULT GetLastModified(
  aafTimeStamp_t*  pTimeStamp
);

Parameters
  [out]  pTimeStamp
  If the method succeeds, specifies a pointer to a time stamp object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetLastModified() Return the Last Modified property. NOTE Stub
only. Implementation not yet added. Succeeds if all of the following
are true: - the pTimeStamp pointer is valid. If this method fails
nothing is written to *pTimeStamp. This method will return the
following codes. If more than one of the listed errors is in
effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - pTimeStamp is
null.
pTimeStamp: The modification date-time stamp.
See Also


IAAFHeader::GetNumEssenceData


The GetNumEssenceData method getNumEssenceData() Writes the total number of essence data into the *pNumEssenceData argument.
Syntax
HRESULT GetNumEssenceData(
  aafUInt32*  pNumEssenceData
);

Parameters
  [out]  pNumEssenceData
  If the method succeeds, specifies a pointer to a num essence data object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumEssenceData() Writes the total number of essence data into
the *pNumEssenceData argument. Succeeds if all of the following
are true: - the pNumEssenceData pointer is valid. If this method
fails nothing will be written to *pNumEssenceData. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pNumEssenceData is null.
pNumEssenceData: Total number of essence data.
See Also


IAAFHeader::GetNumIdents


The GetNumIdents method getNumIdents() Writes the number of identification objects into the *pNumIdents argument.
Syntax
HRESULT GetNumIdents(
  aafUInt32*  pNumIdents
);

Parameters
  [out]  pNumIdents
  If the method succeeds, specifies a pointer to a num idents object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumIdents() Writes the number of identification objects into
the *pNumIdents argument. NOTE Stub only. Implementation not
yet added. Succeeds if all of the following are true: - the pNumIdents
pointer is valid. If this method fails nothing will be written
to *pNumIdents. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pNumIdents is null.
pNumIdents: Total number of identification objects.
See Also


IAAFHeader::GetNumMobs


The GetNumMobs method getNumMobs() Writes the number of matches for the given mob kind into the *pNumMobs argument.
Syntax
HRESULT GetNumMobs(
  aafMobKind_t  mobKind,
  aafNumSlots_t*  pNumMobs
);

Parameters
  [in]  mobKind
  Specifies mobkind.
  [out]  pNumMobs
  If the method succeeds, specifies a pointer to a num mobs object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumMobs() Writes the number of matches for the given mob kind
into the *pNumMobs argument. Succeeds if all of the following
are true: - the pNumMobs pointer is valid. If this method fails
nothing will be written to *pNumMobs. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - pNumMobs is
null.
mobKind: Total number of mobs of kind mobKind.
See Also


IAAFHeader::GetRefImplVersion


The GetRefImplVersion method getRefImplVersion() Return the version of the Reference Implementation currently running on this machine, which implements these interfaces.
Syntax
HRESULT GetRefImplVersion(
  aafProductVersion_t*  pVersion
);

Parameters
  [out]  pVersion
  If the method succeeds, specifies a pointer to a version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetRefImplVersion() Return the version of the Reference Implementation
currently running on this machine, which implements these interfaces.
Succeeds if all of the following are true: - the pVersion pointer
is valid. If this method fails nothing is written to *pVersion.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pVersion is null.
pVersion: The Reference Implementation Version.
See Also


IAAFHeader::IsEssenceDataPresent


The IsEssenceDataPresent method isEssenceDataPresent() // Succeeds if all of the following are true: - the pFileMobID pointer is valid.
Syntax
HRESULT IsEssenceDataPresent(
  aafUID_t*  pFileMobID,
  aafFileFormat_t  fmt,
  aafBool*  pResult
);

Parameters
  [in]  pFileMobID
  Pointer to a file mobID object.
  [in]  fmt
  Specifies fmt.
  [out]  pResult
  If the method succeeds, specifies a pointer to a result object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsEssenceDataPresent() // Succeeds if all of the following are
true: - the pFileMobID pointer is valid. - the pResult pointer
is valid. If this method fails no state will be changed. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
either pFileMobID or pResult is null.
pFileMobID: The Essence File Format.
fmt: True if the essence is found.
See Also


IAAFHeader::LookupMob


The LookupMob method ************************ Interface IAAFHeader ************************ The IAAFHeader interface provides file-wide information and indexes.
Syntax
HRESULT LookupMob(
  aafUID_t*  pMobID,
  IAAFMob**  ppMob
);

Parameters
  [in]  pMobID
  Pointer to a mobID object.
  [out]  ppMob
  If the method succeeds, specifies a pointer to a variable containing a pointer to a mob object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFHeader ************************
The IAAFHeader interface provides file-wide information and indexes.
Each AAF file has one and only one instance of an object which
supports IAAFHeader. When an IAAFHeader-supporting object is
created, the contained dictionary object is automatically created.
In addition to the specific error results listed for each method,
all methods in this interface may also return one of the following
values: AAFRESULT_NOMEMORY - insufficient system memory is available
to perform the operation. D-11D2-BF78-00104BC9156D LookupMob()
Looks up the Mob that matches the given mob id and puts it into
the ppMob argument. The returned mob interface is AddRef()ed
before it is returned. Succeeds if all of the following are true:
- the pMobID pointer is valid. - the ppMob pointer is valid.
If this method fails nothing will be written to *ppMob. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
either pMobID or ppMob is null AAFRESULT_MOB_NOT_FOUND - the
requested mob wasn't found.
pMobID: Matching Mob.
See Also


IAAFHTMLClip Interface


In addition to the methods inherited from IUnknown, the IAAFHTMLClip interface exposes the following methods.
GetBeginAnchor
GetBeginAnchorBufLen
GetEndAnchor
GetEndAnchorBufLen
SetBeginAnchor
SetEndAnchor

The AAFHTMLClip object implements the IAAFHTMLClip interface and also implements the following:
Interface Method
IAAFSourceReference GetSourceID
GetSourceMobSlotID
SetSourceID
SetSourceMobSlotID

IAAFSegment SegmentOffsetToTC
SegmentTCToOffset

IAAFComponent GetDataDef
GetLength
SetDataDef
SetLength




IAAFHTMLClip::GetBeginAnchor


The GetBeginAnchor method ************************ Interface IAAFHTMLClip ************************ An HTMLClip is a reference to HTML text essence.
Syntax
HRESULT GetBeginAnchor(
  aafCharacter*  pName,
  aafInt32  bufSize
);

Parameters
  [in]  pName
  Pointer to a name object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFHTMLClip ************************
An HTMLClip is a reference to HTML text essence. Typically an
HTMLClip is in a StaticMobSlot and defines a section of HTML
text that is associated with the essence data in a parallel TimelineMobSlot.
The duration, accessed through IAAFComponent, defines the extent
of the association with the parallel Mob Slot. 5-11d2-bf9d-00104bc9156d
GetBeginAnchor() Writes the begin anchor name, with a trailing
null character, into the pName buffer. The buffer is allocated
by the caller. The size of the buffer is given by bufSize. If
the property name has not yet been set, a zero-length string
will be written (that is, only the trailing null character).
Caller may call GetBeginAnchorBufLen() to determine the required
buffer size. Succeeds if all of the following are true: - the
pname pointer is valid. - bufSize indicates the buffer is large
enough to hold the name. If this method fails nothing will be
written to *pName. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pname arg is NULL. AAFRESULT_SMALLBUF - bufSize indicates the
buffer is too small to hold the string.
pName: length of the buffer to hold Begin Anchor Name.
See Also


IAAFHTMLClip::GetBeginAnchorBufLen


The GetBeginAnchorBufLen method getBeginAnchorBufLen() Returns the length of buffer required for the GetBeginAnchor() method.
Syntax
HRESULT GetBeginAnchorBufLen(
  aafUInt32*  pLen
);

Parameters
  [out]  pLen
  If the method succeeds, specifies a pointer to a len object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetBeginAnchorBufLen() Returns the length of buffer required
for the GetBeginAnchor() method. The value is placed into the
location specified by pLen. The value will include space required
for the trailing null character. Succeeds if all of the following
are true: - the pLen pointer is valid. If this method fails nothing
will be written to *pLen. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pLen arg is NULL.
pLen: Length in bytes.
See Also


IAAFHTMLClip::GetEndAnchor


The GetEndAnchor method getEndAnchor() Writes the End anchor name, with a trailing null character, into the pName buffer.
Syntax
HRESULT GetEndAnchor(
  aafCharacter*  pName,
  aafInt32  bufSize
);

Parameters
  [in]  pName
  Pointer to a name object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetEndAnchor() Writes the End anchor name, with a trailing null
character, into the pName buffer. The buffer is allocated by
the caller. The size of the buffer is given by bufSize. If the
property name has not yet been set, a zero-length string will
be written (that is, only the trailing null character). Caller
may call GetEndAnchorBufLen() to determine the required buffer
size. Succeeds if all of the following are true: - the pname
pointer is valid. - bufSize indicates the buffer is large enough
to hold the name. If this method fails nothing will be written
to *pName. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pname arg is NULL. AAFRESULT_SMALLBUF - bufSize indicates the
buffer is too small to hold the string.
pName: length of the buffer to hold End Anchor Name.
See Also


IAAFHTMLClip::GetEndAnchorBufLen


The GetEndAnchorBufLen method getEndAnchorBufLen() Returns the length of buffer required for the GetEndAnchor() method.
Syntax
HRESULT GetEndAnchorBufLen(
  aafUInt32*  pLen
);

Parameters
  [out]  pLen
  If the method succeeds, specifies a pointer to a len object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetEndAnchorBufLen() Returns the length of buffer required for
the GetEndAnchor() method. The value is placed into the location
specified by pLen. The value will include space required for
the trailing null character. Succeeds if all of the following
are true: - the pLen pointer is valid. If this method fails nothing
will be written to *pLen. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pLen arg is NULL.
pLen: Length in bytes.
See Also


IAAFHTMLClip::SetBeginAnchor


The SetBeginAnchor method setBeginAnchor() This method sets the Begin Anchor property on a HTML clip to the value specified in pName.
Syntax
HRESULT SetBeginAnchor(
  aafCharacter*  pName
);

Parameters
  [in]  pName
  Pointer to a name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetBeginAnchor() This method sets the Begin Anchor property on
a HTML clip to the value specified in pName. A copy is made of
the data so the caller retains ownership of the *pName buffer
and is responsible for de-allocating it. Succeeds if all of the
following are true: - the pName pointer is valid. If this method
fails no state will be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pName arg is NULL.
pName: Specifies the HTML tag that defines the start of the text.

See Also


IAAFHTMLClip::SetEndAnchor


The SetEndAnchor method setEndAnchor() This method sets the End Anchor property on a HTML clip to the value specified in pName.
Syntax
HRESULT SetEndAnchor(
  aafCharacter*  pName
);

Parameters
  [in]  pName
  Pointer to a name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetEndAnchor() This method sets the End Anchor property on a
HTML clip to the value specified in pName. A copy is made of
the data so the caller retains ownership of the *pName buffer
and is responsible for de-allocating it. Succeeds if all of the
following are true: - the pName pointer is valid. If this method
fails no state will be changed. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - pName arg is NULL.
pName: Specifies the HTML tag that defines the end of the text.

See Also


IAAFIdentification Interface


In addition to the methods inherited from IUnknown, the IAAFIdentification interface exposes the following methods.
GetCompanyName
GetCompanyNameBufLen
GetDate
GetGeneration
GetPlatform
GetPlatformBufLen
GetProductID
GetProductName
GetProductNameBufLen
GetProductVersion
GetProductVersionString
GetProductVersionStringBufLen
GetRefImplVersion
Initialize
SetCompanyName
SetProductID
SetProductName
SetProductVersion
SetProductVersionString



IAAFIdentification::GetCompanyName


The GetCompanyName method getCompanyName() Gets the Company Name string property.
Syntax
HRESULT GetCompanyName(
  wchar_t*  pCompanyName,
  aafUInt32  bufSize
);

Parameters
  [out]  pCompanyName
  If the method succeeds, specifies a pointer to a company name object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCompanyName() Gets the Company Name string property. Writes
the CompanyName property, with a trailing null character, into
the pCompanyName buffer. The buffer is allocated by the caller.
The size of the buffer is given by bufSize. If the CompanyName
property has not yet been set, a zero-length string will be written
(that is, only the trailing null character). Caller may call
GetCompanyNameBufLen() to determine the required buffer size.
If this method fails nothing will be written to *pCompanyName.
Succeeds if: - The pCompanyName pointer is valid. - bufSize indicates
that the buffer is large enough to hold CompanyName. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pCompanyName arg is NULL. AAFRESULT_SMALL_BUF - bufSize indicates
that the allocated buffer is not large enough to hold CompanyName.

pCompanyName: size of *pCompanyName buffer in bytes.
See Also


IAAFIdentification::GetCompanyNameBufLen


The GetCompanyNameBufLen method getCompanyNameBufLen() Returns size of buffer (in bytes) required for GetCompanyName().
Syntax
HRESULT GetCompanyNameBufLen(
  aafUInt32*  pBufSize
);

Parameters
  [out]  pBufSize
  If the method succeeds, specifies a pointer to a buf size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCompanyNameBufLen() Returns size of buffer (in bytes) required
for GetCompanyName(). Succeeds if: - The pBufSize pointer is
valid. This method will return the following codes. If more than
one of the listed errors is in effect, it will return the first
one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pBufSize arg is NULL.
pBufSize: size of required buffer, in bytes.
See Also


IAAFIdentification::GetDate


The GetDate method getDate() Writes the Date-time Stamp property into the caller-allocated aafTimeStamp_t specified by the pTimeStamp argument.
Syntax
HRESULT GetDate(
  aafTimeStamp_t*  pTimestamp
);

Parameters
  [out]  pTimestamp
  If the method succeeds, specifies a pointer to a timestamp object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDate() Writes the Date-time Stamp property into the caller-allocated
aafTimeStamp_t specified by the pTimeStamp argument. The date-time
stamp recorded in this object corresponds to the time that this
file was created or modified upon the occasion that this object
was added to the file. NOTE Stub only. Implementation not yet
added. Note: This is a read-only property. Succeeds if all of
the following are true: - the pTimeStamp pointer is valid. If
this method fails nothing will be written to *pTimeStamp. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pTimeStamp arg is NULL.
pTimestamp: The date-time stamp.
See Also


IAAFIdentification::GetGeneration


The GetGeneration method getGeneration() Obtains the generation of this AAF file, which was generated at the time this identification object was created.
Syntax
HRESULT GetGeneration(
  aafUID_t*  pGeneration
);

Parameters
  [out]  pGeneration
  If the method succeeds, specifies a pointer to a generation object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetGeneration() Obtains the generation of this AAF file, which
was generated at the time this identification object was created.
If a file was opened for modification by many applications in
its lifetime, then there will be multiple Identification objects.
This is written into the caller-allocated aafUID_t specified
by the pGeneration argument. NOTE Stub only. Implementation not
yet added. Note: This is a read-only property. Succeeds if all
of the following are true: - the pGeneration pointer is valid.
If this method fails nothing will be written to *pGeneration.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pGeneration arg is NULL.
pGeneration: The unique generation.
See Also


IAAFIdentification::GetPlatform


The GetPlatform method getPlatform() Gets the Platform string property.
Syntax
HRESULT GetPlatform(
  wchar_t*  pPlatform,
  aafUInt32  bufSize
);

Parameters
  [out]  pPlatform
  If the method succeeds, specifies a pointer to a platform object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPlatform() Gets the Platform string property. This information
is provided only to allow diagnostic printing of platform information
to be read by humans. The format of the strings is not guaranteed
to remain the same for a given platform. Having said that, the
possible values currently returned are: - "Win32" for Intel/Win32
platforms - "MacOS" for MacOS platforms - "Unknown" for unknown
platforms Writes the Platform property, with a trailing null
character, into the pPlatform buffer. The buffer is allocated
by the caller. The size of the buffer is given by bufSize. If
the Platform property has not yet been set, a zero-length string
will be written (that is, only the trailing null character).
Caller may call GetPlatformBufLen() to determine the required
buffer size. If this method fails nothing will be written to
*pPlatform. Succeeds if: - The pPlatform pointer is valid. -
bufSize indicates that the buffer is large enough to hold Platform.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pPlatform arg is NULL. AAFRESULT_SMALL_BUF - bufSize indicates
that the allocated buffer is not large enough to hold Platform.

pPlatform: size of *pPlatform buffer in bytes.
See Also


IAAFIdentification::GetPlatformBufLen


The GetPlatformBufLen method getPlatformBufLen() Returns size of buffer (in bytes) required for GetPlatform().
Syntax
HRESULT GetPlatformBufLen(
  aafUInt32*  pBufSize
);

Parameters
  [out]  pBufSize
  If the method succeeds, specifies a pointer to a buf size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPlatformBufLen() Returns size of buffer (in bytes) required
for GetPlatform(). Succeeds if: - The pBufSize pointer is valid.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pBufSize arg is NULL.
pBufSize: size of required buffer, in bytes.
See Also


IAAFIdentification::GetProductID


The GetProductID method getProductID() Obtains the Product ID, which is the identification number assigned to the application and vendor of the application which attached this object to the AAF file.
Syntax
HRESULT GetProductID(
  aafUID_t*  pProductID
);

Parameters
  [out]  pProductID
  If the method succeeds, specifies a pointer to a productID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetProductID() Obtains the Product ID, which is the identification
number assigned to the application and vendor of the application
which attached this object to the AAF file. This ID is written
into the caller-allocated aafUID_t specified by the pProductID
argument. NOTE Stub only. Implementation not yet added. Succeeds
if all of the following are true: - the pProductID pointer is
valid. If this method fails nothing will be written to *pProductID.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pProductID arg is NULL.
pProductID: The Product ID.
See Also


IAAFIdentification::GetProductName


The GetProductName method getProductName() Gets the Product Name string property.
Syntax
HRESULT GetProductName(
  wchar_t*  pProductName,
  aafUInt32  bufSize
);

Parameters
  [out]  pProductName
  If the method succeeds, specifies a pointer to a product name object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetProductName() Gets the Product Name string property. Writes
the ProductName property, with a trailing null character, into
the pProductName buffer. The buffer is allocated by the caller.
The size of the buffer is given by bufSize. If the ProductName
property has not yet been set, a zero-length string will be written
(that is, only the trailing null character). Caller may call
GetProductNameBufLen() to determine the required buffer size.
If this method fails nothing will be written to *pProductName.
Succeeds if: - The pProductName pointer is valid. - bufSize indicates
that the buffer is large enough to hold ProductName. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pProductName arg is NULL. AAFRESULT_SMALL_BUF - bufSize indicates
that the allocated buffer is not large enough to hold ProductName.

pProductName: size of *pProductName buffer in bytes.
See Also


IAAFIdentification::GetProductNameBufLen


The GetProductNameBufLen method getProductNameBufLen() Returns size of buffer (in bytes) required for GetProductName().
Syntax
HRESULT GetProductNameBufLen(
  aafUInt32*  pBufSize
);

Parameters
  [out]  pBufSize
  If the method succeeds, specifies a pointer to a buf size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetProductNameBufLen() Returns size of buffer (in bytes) required
for GetProductName(). Succeeds if: - The pBufSize pointer is
valid. This method will return the following codes. If more than
one of the listed errors is in effect, it will return the first
one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pBufSize arg is NULL.
pBufSize: size of required buffer, in bytes.
See Also


IAAFIdentification::GetProductVersion


The GetProductVersion method getProductVersion() Gets the Product Version property associated with this identification object and places it into *pVersion.
Syntax
HRESULT GetProductVersion(
  aafProductVersion_t*  pVersion
);

Parameters
  [out]  pVersion
  If the method succeeds, specifies a pointer to a version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetProductVersion() Gets the Product Version property associated
with this identification object and places it into *pVersion.
NOTE Stub only. Implementation not yet added. Succeeds if all
of the following are true: - the pVersion pointer is valid.
If this method fails, nothing will be written to *pVersion.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pVersion arg is NULL.
pVersion: The Product Version.
See Also


IAAFIdentification::GetProductVersionString


The GetProductVersionString method getProductVersionString() Gets the Product Version string property.
Syntax
HRESULT GetProductVersionString(
  wchar_t*  pProductVersionString,
  aafUInt32  bufSize
);

Parameters
  [out]  pProductVersionString
  If the method succeeds, specifies a pointer to a product version string object.
  [in]  bufSize
  Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetProductVersionString() Gets the Product Version string property.
Writes the ProductVersionString property, with a trailing null
character, into the pProductVersionString buffer. The buffer
is allocated by the caller. The size of the buffer is given by
bufSize. If the ProductVersionString property has not yet been
set, a zero-length string will be written (that is, only the
trailing null character). Caller may call GetProductVersionStringBufLen()
to determine the required buffer size. If this method fails nothing
will be written to *pProductVersionString. Succeeds if: - The
pProductVersionString pointer is valid. - bufSize indicates that
the buffer is large enough to hold ProductVersionString. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pProductVersionString arg is NULL. AAFRESULT_SMALL_BUF - bufSize
indicates that the allocated buffer is not large enough to hold
ProductVersionString.
pProductVersionString: size of *pProductVersionString buffer
in bytes.
See Also


IAAFIdentification::GetProductVersionStringBufLen


The GetProductVersionStringBufLen method getProductVersionStringBufLen() Returns size of buffer (in bytes) required for GetProductVersionString().
Syntax
HRESULT GetProductVersionStringBufLen(
  aafUInt32*  pBufSize
);

Parameters
  [out]  pBufSize
  If the method succeeds, specifies a pointer to a buf size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetProductVersionStringBufLen() Returns size of buffer (in bytes)
required for GetProductVersionString(). Succeeds if: - The pBufSize
pointer is valid. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pBufSize arg is NULL.
pBufSize: size of required buffer, in bytes.
See Also


IAAFIdentification::GetRefImplVersion


The GetRefImplVersion method .
Syntax
HRESULT GetRefImplVersion(
  aafProductVersion_t*  pVersion
);

Parameters
  [out]  pVersion
  If the method succeeds, specifies a pointer to a version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetRefImplVersion() Obtains the version of the Reference Implementation
which created this identification object and writes it into the
caller-allocated aafProductVersion_t specified by the pVersion
argument. NOTE Stub only. Implementation not yet added. Note:
This is a read-only property. Succeeds if all of the following
are true: - the pVersion pointer is valid. If this method fails
nothing will be written to *pVersion. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NOT_INITIALIZED - This object
has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pVersion arg is NULL.
pVersion: The Reference Implementation Version.
See Also


IAAFIdentification::Initialize


The Initialize method ************************ Interface IAAFIdentification ************************ The IAAFIdentification interface provides information about an applications that either created or modified the AAF file.
Syntax
HRESULT Initialize();
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFIdentification ************************
The IAAFIdentification interface provides information about an
applications that either created or modified the AAF file. If
a file was opened for modification by many applications in its
lifetime, then there will be multiple Identification objects.
These are kept in an ordered array, with the first entry being
the file creator, and the last entry being the last application
to modify the file. The identification object is useful for technical
support when diagnosing problem AAF files, as it tells which
applications (and versions) have touched the file. If a file
has been modified by multiple applications, then the date and
productID fields can be used to tell which changes to the file
were made by a particular application. In addition to the specific
error results listed for each method, all methods in this interface
may also return one of the following values: AAFRESULT_NOMEMORY
- insufficient system memory is available to perform the operation.
D-11D2-BF78-00104BC9156D Initialize() Initializes a newly allocated,
empty IAAFIdentification-supporting object. This method must
be called after allocation, and before any other method can be
called. Succeeds if: - Initialize() has not yet been called on
this object. This method will return the following codes. If
more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_ALREADY_INITIALIZED
- Initialize() has already been called on this object.
See Also


IAAFIdentification::SetCompanyName


The SetCompanyName method setCompanyName() Sets the Company Name string property.
Syntax
HRESULT SetCompanyName(
  wchar_t*  pCompanyName
);

Parameters
  [in]  pCompanyName
  Pointer to a company name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetCompanyName() Sets the Company Name string property. Set the
CompanyName property to the value specified in pCompanyName.
A copy is made of the data so the caller retains ownership of
the *pCompanyName buffer and is responsible for de-allocating
it. There is no pre-set limit to the length of the name, other
than available system memory or disk space. Succeeds if all of
the following are true: - the pCompanyName pointer is valid.
If this method fails the CompanyName property will not be changed.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pCompanyName arg is NULL.
pCompanyName: buffer from which CompanyName is to be read.
See Also


IAAFIdentification::SetProductID


The SetProductID method setProductID() Set the Product ID property to the value specified in pProductID.
Syntax
HRESULT SetProductID(
  aafUID_t*  pProductID
);

Parameters
  [in]  pProductID
  Pointer to a productID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetProductID() Set the Product ID property to the value specified
in pProductID. A copy is made of the data so the caller retains
ownership of the *pProductID aafUID_t and is responsible for
de-allocating it. NOTE Stub only. Implementation not yet added.
Succeeds if all of the following are true: - the pProductID pointer
is valid. If this method fails the Product ID property will not
be changed. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pProductID arg is NULL.
pProductID: The Product ID.
See Also


IAAFIdentification::SetProductName


The SetProductName method setProductName() Sets the Product Name string property.
Syntax
HRESULT SetProductName(
  wchar_t*  pProductName
);

Parameters
  [in]  pProductName
  Pointer to a product name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetProductName() Sets the Product Name string property. Set the
ProductName property to the value specified in pProductName.
A copy is made of the data so the caller retains ownership of
the *pProductName buffer and is responsible for de-allocating
it. There is no pre-set limit to the length of the name, other
than available system memory or disk space. Succeeds if all of
the following are true: - the pProductName pointer is valid.
If this method fails the ProductName property will not be changed.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pProductName arg is NULL.
pProductName: buffer from which ProductName is to be read.
See Also


IAAFIdentification::SetProductVersion


The SetProductVersion method setProductVersion() Set the Product Version property to the value specified in pVersion.
Syntax
HRESULT SetProductVersion(
  aafProductVersion_t*  pVersion
);

Parameters
  [in]  pVersion
  Pointer to a version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetProductVersion() Set the Product Version property to the value
specified in pVersion. A copy is made of the data so the caller
retains ownership of the *pVersion struct and is responsible
for de-allocating it. NOTE Stub only. Implementation not yet
added. Succeeds if all of the following are true: - the pVersion
pointer is valid. If this method fails the Product Version property
will not be changed. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pVersion arg is NULL.
pVersion: The Product Version.
See Also


IAAFIdentification::SetProductVersionString


The SetProductVersionString method setProductVersionString() Sets the Product Version string property.
Syntax
HRESULT SetProductVersionString(
  wchar_t*  pProductVersionString
);

Parameters
  [in]  pProductVersionString
  Pointer to a product version string object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetProductVersionString() Sets the Product Version string property.
Set the ProductVersionString property to the value specified
in pProductVersionString. A copy is made of the data so the caller
retains ownership of the *pProductVersionString buffer and is
responsible for de-allocating it. There is no pre-set limit to
the length of the name, other than available system memory or
disk space. Succeeds if all of the following are true: - the
pProductVersionString pointer is valid. If this method fails
the ProductVersionString property will not be changed. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
pProductVersionString arg is NULL.
pProductVersionString: buffer from which ProductVersionString
is to be read.
See Also


IAAFIntraFrameMarker Interface


In addition to the methods inherited from IUnknown, the IAAFIntraFrameMarker interface exposes the following methods.
GetHotSpotMatte
GetHotSpotRect
SetHotSpotMatte
SetHotSpotRect

The AAFIntraFrameMarker object implements the IAAFIntraFrameMarker interface and also implements the following:
Interface Method
IAAFEvent GetComment
GetCommentBufLen
GetPosition
SetComment
SetPosition

IAAFSegment SegmentOffsetToTC
SegmentTCToOffset

IAAFComponent GetDataDef
GetLength
SetDataDef
SetLength




IAAFIntraFrameMarker::GetHotSpotMatte


The GetHotSpotMatte method getHotSpotMatte() This method will get the HotSpotMatte for this comment marker and place an interface for it into the **ppResult argument.
Syntax
HRESULT GetHotSpotMatte(
  IAAFSourceClip**  ppResult
);

Parameters
  [out]  ppResult
  If the method succeeds, specifies a pointer to a variable containing a pointer to a result object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetHotSpotMatte() This method will get the HotSpotMatte for this
comment marker and place an interface for it into the **ppResult
argument. Succeeds if all of the following are true: - the pResult
pointer is valid. If this method fails nothing will be written
to *pResult. This method will return the following codes. If
more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pResult arg is NULL.
ppResult: HotSpotMatte property value.
See Also


IAAFIntraFrameMarker::GetHotSpotRect


The GetHotSpotRect method .
Syntax
HRESULT GetHotSpotRect(
  aafRect_t*  pHotSpotRect
);

Parameters
  [out]  pHotSpotRect
  If the method succeeds, specifies a pointer to a hot spot rect object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFIntraFrameMarker ************************
The IAAFIntraFrameMarker interface is implemented by objects
which represent an area in an image that can cause an action
if a user specifies it during composition playback (typically
by clicking in the specified area). In addition to the specific
error results listed for each method, all methods in this interface
may also return one of the following values: AAFRESULT_NOMEMORY
- insufficient system memory is available to perform the operation.
AAFRESULT_NOT_INITIALIZED - This object has not yet had Initialize()
called on it through this object's primary interface. Note that
IAAFMobSlot is a primary interface for an abstract class, so
it is not appropriate for the Initialize() method to exist in
this interface. The Initialize() method is available through
the concrete object's primary interface. 5-11d2-bf9d-00104bc9156d
GetHotSpotRect() This method will get the hot spot rect property.
Succeeds if all of the following are true: - the pHotSpotRect
pointer is valid. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pHotSpotRect arg is NULL.
pHotSpotRect: HotSpotRect property value.
See Also


IAAFIntraFrameMarker::SetHotSpotMatte


The SetHotSpotMatte method setHotSpotMatte() This method will set the HotSpotMatte for this comment marker.
Syntax
HRESULT SetHotSpotMatte(
  IAAFSourceClip*  pHotSpotMatte
);

Parameters
  [in]  pHotSpotMatte
  Pointer to a hot spot matte object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetHotSpotMatte() This method will set the HotSpotMatte for this
comment marker. If this method fails no state will be changed.
This metho