
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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 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.)
pHotSpotMatte: HotSpotMatte property value.
See Also
IAAFIntraFrameMarker::SetHotSpotRect
The SetHotSpotRect method setHotSpotRect() This method will get set hot spot rect property.
Syntax
HRESULT SetHotSpotRect(
aafRect_t* pHotSpotRect
);
Parameters
[in] pHotSpotRect
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
SetHotSpotRect() This method will get set 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
IAAFLocator Interface
In addition to the methods inherited from IUnknown, the IAAFLocator interface exposes the following methods.
GetPath
GetPathBufLen
SetPath
IAAFLocator::GetPath
The GetPath method ************************ Interface IAAFLocator ************************ The IAAFLocator interface is implemented by objects that provide information to help find a file that contains the essence.
Syntax
HRESULT GetPath(
aafCharacter* pPathBuf,
aafInt32 bufSize
);
Parameters
[out] pPathBuf
If the method succeeds, specifies a pointer to a path buf 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 IAAFLocator ************************
The IAAFLocator interface is implemented by objects that provide
information to help find a file that contains the essence. 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 IAAFLocator 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. 6-11d2-841b-00600832acb8
GetPath() Writes the path, with a trailing null character, into
the pPathBuf 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). Note: the form of the
path string will be the same as was given to SetPath(). It should
be of the same form as required by StgOpenStorage() for this
platform. Note also that each IAAFLocator-supporting object may
also support a platform-specific interfaces which may have further
restrictions on path specification. Caller may call GetPathBufLen()
to determine the required buffer size. Succeeds if all of the
following are true: - the pPathBuf pointer is valid. - bufSize
indicates the buffer is large enough to hold the name. If this
method fails nothing will be written to *pPathBuf. 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
See Also
IAAFLocator::GetPathBufLen
The GetPathBufLen method getPathBufLen() Returns the length of buffer required for the GetPath() method.
Syntax
HRESULT GetPathBufLen(
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
GetPathBufLen() Returns the length of buffer required for the
GetPath() 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: required buffer length.
See Also
IAAFLocator::SetPath
The SetPath method setPath() Set the Path property to the value specified in pPathBuf.
Syntax
HRESULT SetPath(
aafCharacter* pPathBuf
);
Parameters
[in] pPathBuf
Pointer to a path buf object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPath() Set the Path property to the value specified in pPathBuf.
A copy is made of the data so the caller retains ownership of
the *pPathBuf buffer and is responsible for de-allocating it.
Note: the form of the path string should be of the same form
as required by StgOpenStorage() for this platform. Note also
that each IAAFLocator-supporting object may also support a platform-specific
interfaces which may have further restrictions on path specification.
Succeeds if all of the following are true: - the pPathBuf pointer
is valid. If this method fails the Path 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
- pPathBuf arg is NULL.
pPathBuf: the new path.
See Also
IAAFMasterMob Interface
In addition to the methods inherited from IUnknown, the IAAFMasterMob interface exposes the following methods.
AddMasterSlot
AppendPhysSourceRef
CreateEssence
CreateMultiEssence
GetCriteriaSourceClip
GetNumChannels
GetNumRepresentations
GetRepresentationSourceClip
GetTapeName
GetTapeNameBufLen
Initialize
NewPhysSourceRef
OpenEssence
OpenMultiEssence
The AAFMasterMob object implements the IAAFMasterMob interface and also implements the following:
IAAFMasterMob::AddMasterSlot
The AddMasterSlot method addMasterSlot() This function adds a slot to the specified Master Mob that references the specified a slot in the specified Source Mob.
Syntax
HRESULT AddMasterSlot(
aafUID_t* pDataDef,
aafSlotID_t sourceSlotID,
IAAFSourceMob* pSourceMob,
aafSlotID_t masterSlotID,
aafCharacter* pSlotName
);
Parameters
[in] pDataDef
Pointer to a data def object.
[in] sourceSlotID
Specifies sourceslotID.
[in] pSourceMob
Pointer to a source mob object.
[in] masterSlotID
Specifies masterslotID.
[in] pSlotName
Pointer to a slot name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AddMasterSlot() This function adds a slot to the specified Master
Mob that references the specified a slot in the specified Source
Mob. The new slot in the Master Mob contains a Source Clip that
specifies the Source Mob in its source reference properties.
Typically this is done automatically by passing the Master Mob
handle to AAFMedia::Create, but this function allows you to add
it later. Note: If pSlotName is passed in with zero length, then
the slot is not assigned a name. Slot names are not used by the
SDK, and exist only so the user can name slots. Succeeds if all
of the following are true: (more conditions here) If this method
fails no state is 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 - One or
more of the following parameters are NULL pSourceMob, pDataDef,
and pSlotName. AAFRESULT_INVALID_DATADEF - The data kind of the
source MOB slot to be added to the Master Mob does not match
what is specfied in pDataDef. AAFRESULT_SLOT_NOTFOUND - The specified
Source Mob slot was not found. AAFRESULT_SLOT_EXISTS - The specified
Master slot ID already exists.
pDataDef: Slot ID of the Source Mob slot to be added to the Master
Mob.
sourceSlotID: Source Mob containing the slot to be added to the
Master Mob.
pSourceMob: SlotID assigned to the new Master Mob slot.
masterSlotID: Name to assign to new slot in Master Mob.
See Also
IAAFMasterMob::AppendPhysSourceRef
The AppendPhysSourceRef method appendPhysSourceRef() Connects this Source Mob with the physical Source Mob that describes the previous generation of essence, appending it to existing Mob data.
Syntax
HRESULT AppendPhysSourceRef(
aafRational_t editrate,
aafSlotID_t aMobSlot,
aafUID_t* pEssenceKind,
aafSourceRef_t ref,
aafLength_t srcRefLength
);
Parameters
[in] editrate
Specifies editrate.
[in] aMobSlot
Specifies amob slot.
[in] pEssenceKind
Pointer to an essence kind object.
[in] ref
Specifies ref.
[in] srcRefLength
Specifies srcref length.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendPhysSourceRef() Connects this Source Mob with the physical
Source Mob that describes the previous generation of essence,
appending it to existing Mob data. If a physical Source Mob,
such as a File Source Mob or tape Source Mob, references another
physical Source Mob as its ancestor, with no pulldown, then this
function makes the connection between the two. Functionally,
this is a helper function to create a slot with an AAFSourceClip
referencing a particular piece of media. This function takes
many parameters because the components of an aafSourceRef_t have
been broken out as separate parameters. The ancestor of an AAFSourceMob
with an AAFFileDescriptor is often an AAFTapeDescriptor or NIL.
Succeeds if all of the following are true: - the pEssenceKind
pointer is valid. - the pSourceRefObj pointer is valid. (other
conditions here) 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
- either pEssenceKind or pSourceRefObj is null. (other codes
here.)
editrate: SlotID of slot to contain reference.
aMobSlot: - Sound.
pEssenceKind: Reference to a Physical Source Mob.
ref: Length of the Source Clip.
See Also
IAAFMasterMob::CreateEssence
The CreateEssence method /****/ CreateEssence() Creates a single channel stream of essence.
Syntax
HRESULT CreateEssence(
aafSlotID_t masterSlotID,
aafUID_t mediaKind,
aafUID_t codecID,
aafRational_t editRate,
aafRational_t samplerate,
aafCompressEnable_t Enable,
IAAFLocator* destination,
aafUID_t fileFormat,
IAAFEssenceAccess** access
);
Parameters
[in] masterSlotID
Specifies masterslotID.
[in] mediaKind
Specifies mediakind.
[in] codecID
Specifies codecID.
[in] editRate
Specifies editrate.
[in] samplerate
Specifies samplerate.
[in] Enable
Specifies enable.
[in] destination
Specifies destination.
[in] fileFormat
Specifies fileformat.
[out] access
Specifies access.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
/****/ CreateEssence() Creates a single channel stream of essence.
masterSlotID: create essence of this type.
mediaKind: using this codec.
codecID: with this edit rate.
editRate: with this sample rate.
samplerate: optionally compressing it.
Enable: Optionally create the file HERE..
destination: with this format.
fileFormat: Return an essence access on the essence..
See Also
IAAFMasterMob::CreateMultiEssence
The CreateMultiEssence method comm Creates a single channel stream of essence.
Syntax
HRESULT CreateMultiEssence(
aafUID_t codecID,
aafInt16 arrayElemCount,
aafmMultiCreate_t* mediaArray,
aafCompressEnable_t Enable,
IAAFLocator* destination,
aafUID_t fileFormat,
IAAFEssenceMultiAccess** access
);
Parameters
[in] codecID
Specifies codecID.
[in] arrayElemCount
Specifies arrayelem count.
[in] mediaArray
Specifies mediaarray.
[in] Enable
Specifies enable.
[in] destination
Specifies destination.
[in] fileFormat
Specifies fileformat.
[out] access
Specifies access.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm Creates a single channel stream of essence. Convenience
functions exist to create audio or video essence, and a separate
call (MultiCreate) exists to create interleaved audio and video
data. comm The essence handle from this call can be used with
WriteDataSamples and possibly WriteDataLines, but NOT with WriteMultiSamples.
comm If you are creating the essence, and then attaching it to
a master mob, then the "masterMob" field may be left NULL. For
video, the sampleRate should be the edit rate of the file mob.
For audio, the sample rate should be the actual samples per second.
/****/ CreateMultiEssence() Creates a multi-channel interleaved
stream of essence.
codecID: this many channels.
arrayElemCount: using these definitions.
mediaArray: optionally compressing it.
Enable: Optionally create the file HERE..
destination: with this format.
fileFormat: Return an essence access on the essence..
See Also
IAAFMasterMob::GetCriteriaSourceClip
The GetCriteriaSourceClip method getCriteriaSourceClip() // Returns the Source Clip on the specified slot of a Master Mob that references the Source Mob that best meets the specified criteria.
Syntax
HRESULT GetCriteriaSourceClip(
aafSlotID_t slotID,
aafMediaCriteria_t* pCriteria,
IAAFSourceClip** ppSourceClip
);
Parameters
[in] slotID
Specifies slotID.
[in] pCriteria
Pointer to a criteria object.
[out] ppSourceClip
If the method succeeds, specifies a pointer to a variable containing a pointer to a source clip object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCriteriaSourceClip() // Returns the Source Clip on the specified
slot of a Master Mob that references the Source Mob that best
meets the specified criteria. This function will work whether
multiple media representations exist or not. The returned source
clip is AddRef()ed before it is returned. NOTE Stub only. Implementation
not yet added. Succeeds if all of the following are true: - the
ppSourceClip pointer is valid. If this method fails nothing will
be written to *ppSourceClip. 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 - ppSourceClip
arg is NULL. AAFRESULT_SLOT_NOTFOUND - The specified Master Slot
was not found.
slotID: } aafCriteriaType_t;.
pCriteria: Requested Source Clip.
See Also
IAAFMasterMob::GetNumChannels
The GetNumChannels method comm This routine follows the locator, and may call the locator failure callback if the essence can not be found.
Syntax
HRESULT GetNumChannels(
aafSlotID_t slotID,
aafMediaCriteria_t* mediaCrit,
aafUID_t mediaKind,
aafInt16* numCh
);
Parameters
[in] slotID
Specifies slotID.
[in] mediaCrit
Specifies mediacrit.
[in] mediaKind
Specifies mediakind.
[out] numCh
Specifies numch.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm This routine follows the locator, and may call the locator
failure callback if the essence can not be found. If the failure
callback finds the essence, then this routine will return normally.
comm The essence handle from this call can be used with WriteMultiSamples
but NOT with WriteDataSamples. comm Possible Errors: Standard
errors (see top of file). OM_ERR_NOMEMORY -- couldn't allocate
memory for the essence handle /****/ GetNumChannels() Takes an
opaque handle a master mob reference and a slot ID so that it
may be called before the essence is opened.
slotID: using this essence criteria.
mediaCrit: for this essence type.
mediaKind: How many channels. comm Returns the number of interleaved
essence channels of a given type in the essence stream referenced
by the given file mob comm If the data format is not interleaved,
then the answer will always be zero or one. This function correctly
returns zero for essence types not handled by a given codec,
and handles codecs which work with multiple essence types.
See Also
IAAFMasterMob::GetNumRepresentations
The GetNumRepresentations method getNumRepresentations() This function returns the number of media representations available for the specified SlotID on a specified Master Mob.
Syntax
HRESULT GetNumRepresentations(
aafSlotID_t slotID,
aafNumSlots_t* pNumReps
);
Parameters
[in] slotID
Specifies slotID.
[out] pNumReps
If the method succeeds, specifies a pointer to a num reps object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumRepresentations() This function returns the number of media
representations available for the specified SlotID on a specified
Master Mob. This function is meant to work with GetRepresentationSourceClip,
so that you can iterate through all of the choices yourself.
In most cases, you can use GetCriteriaSourceClip to handle multiple
representations. This function and GetRepresentationSourceClip
are lower-level functions. Succeeds if all of the following are
true: - the pNumReps pointer is valid. If this method fails nothing
will be written to *pNumReps. 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 - pNumReps
arg is NULL. AAFRESULT_SLOT_NOTFOUND - The Master Slot specified
by slotID was not found.
slotID: number of representations.
See Also
IAAFMasterMob::GetRepresentationSourceClip
The GetRepresentationSourceClip method getRepresentationSourceClip() This method returns the indexed media representation for the specified Master Mob, SlotID, and index.
Syntax
HRESULT GetRepresentationSourceClip(
aafSlotID_t slotID,
aafInt32 index,
IAAFSourceClip** ppSourceClip
);
Parameters
[in] slotID
Specifies slotID.
[in] index
Specifies index.
[out] ppSourceClip
If the method succeeds, specifies a pointer to a variable containing a pointer to a source clip object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetRepresentationSourceClip() This method returns the indexed
media representation for the specified Master Mob, SlotID, and
index. This call is meant to work with GetNumRepresentations,
so that you can iterate through all of the choices yourself.
This method uses an integer index, not an iterator. The function
GetRepresentationSourceClip takes an index between 1 and the
number of representations [inclusive], and returns the indexed
Source Mob. You can make calls to functions such as AAFMedia::GetVideoInfo
and AAFMedia::IsMediaContiguous to determine which media is the
best fit. The returned source clip is AddRef()ed before it is
returned. NOTE Stub only. Implementation not yet added. Succeeds
if all of the following are true: - the ppSourceClip pointer
is valid. If this method fails nothing will be written to *ppSourceClip.
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
- ppSourceClip arg is NULL. AAFRESULT_SLOT_NOTFOUND - The specified
Master Slot was not found. AAFRESULT_BADINDEX - No Source Mob
at specified index.
slotID: Index of requested representation.
index: Requested Source Clip.
See Also
IAAFMasterMob::GetTapeName
The GetTapeName method getTapeName() Finds the tape Source Mob associated with a Master Mob slot and writes the name of the tape, which is stored in the Mobs Name property, into the pTapeName buffer.
Syntax
HRESULT GetTapeName(
aafInt32 masterSlotID,
aafCharacter* pTapeName,
aafInt32 bufSize
);
Parameters
[in] masterSlotID
Specifies masterslotID.
[out] pTapeName
If the method succeeds, specifies a pointer to a tape 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
GetTapeName() Finds the tape Source Mob associated with a Master
Mob slot and writes the name of the tape, which is stored in
the Mobs Name property, into the pTapeName 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 GetTapeNameBufLen() to determine the required
buffer size. NOTE Stub only. Implementation not yet added. Succeeds
if all of the following are true: - the pTapeName pointer is
valid. - the specified master slot was found. - the specified
master slot contains a tape mob. - bufSize indicates the buffer
is large enough to hold the name. If this method fails nothing
will be written to *pTapeName. 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 - pTapeName
arg is NULL. AAFRESULT_SLOT_NOTFOUND - The specified Master Slot
was not found. AAFRESULT_NOT_TAPEMOB - The specified Master Slot
does not contain a Tape MOB. AAFRESULT_SMALLBUF - bufSize indicates
the buffer is too small to hold the string.
masterSlotID: The returned name.
pTapeName: the size of the pTapeName buffer.
See Also
IAAFMasterMob::GetTapeNameBufLen
The GetTapeNameBufLen method getTapeNameBufLen() Returns the length of buffer required for the GetTapeName() method.
Syntax
HRESULT GetTapeNameBufLen(
aafInt32 masterSlotID,
aafInt32* pLen
);
Parameters
[in] masterSlotID
Specifies masterslotID.
[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
GetTapeNameBufLen() Returns the length of buffer required for
the GetTapeName() method. The value is placed into the location
specified by pLen. The value will include space required for
the trailing null character. NOTE Stub only. Implementation not
yet added. 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_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pLen arg is NULL. AAFRESULT_SLOT_NOTFOUND - The specified Master
Slot was not found. AAFRESULT_NOT_TAPEMOB - The specified Master
Slot does not contain a Tape MOB.
masterSlotID: required buffer length.
See Also
IAAFMasterMob::Initialize
The Initialize method ************************ Interface IAAFMasterMob ************************ The IAAFMasterMob interface is implemented by objects which provide access to the File Source Mobs and EssenceData objects.
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 IAAFMasterMob ************************
The IAAFMasterMob interface is implemented by objects which provide
access to the File Source Mobs and EssenceData objects. The Master
Mob object is used to provide a level of indirection for accessing
Source Mobs from Composition Mobs. 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 IAAFMasterMob-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
IAAFMasterMob::NewPhysSourceRef
The NewPhysSourceRef method newPhysSourceRef() Connects this Source Mob with the physical Source Mob that describes the previous generation of essence, replacing any existing Mob data.
Syntax
HRESULT NewPhysSourceRef(
aafRational_t editrate,
aafSlotID_t aMobSlot,
aafUID_t* pEssenceKind,
aafSourceRef_t ref,
aafLength_t srcRefLength
);
Parameters
[in] editrate
Specifies editrate.
[in] aMobSlot
Specifies amob slot.
[in] pEssenceKind
Pointer to an essence kind object.
[in] ref
Specifies ref.
[in] srcRefLength
Specifies srcref length.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
NewPhysSourceRef() Connects this Source Mob with the physical
Source Mob that describes the previous generation of essence,
replacing any existing Mob data. If a physical Source Mob, such
as a File Source Mob or tape Source Mob, references another physical
Source Mob as its ancestor, with no pulldown, then this function
makes the connection between the two. Functionally, this is a
helper function to create a slot with an AAFSourceClip referencing
a particular piece of media. This function takes many parameters
because the components of an aafSourceRef_t have been broken
out as separate parameters. The ancestor of an AAFSourceMob with
an AAFFileDescriptor is often an AAFTapeDescriptor or NIL. Succeeds
if all of the following are true: - the pEssenceKind pointer
is valid. - the pSourceRefObj pointer is valid. (other conditions
here) 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
- either pEssenceKind or pSourceRefObj is null. (other codes
here.)
editrate: SlotID of slot to contain reference.
aMobSlot: - Sound.
pEssenceKind: Reference to a Physical Source Mob.
ref: Length of the Source Clip.
See Also
IAAFMasterMob::OpenEssence
The OpenEssence method comm The essence handle from this call can be used with WriteDataSamples or WriteMultiSamples but NOT with or WriteDataLines.
Syntax
HRESULT OpenEssence(
aafSlotID_t slotID,
aafMediaCriteria_t* mediaCrit,
aafMediaOpenMode_t openMode,
aafCompressEnable_t compEnable,
IAAFEssenceAccess** access
);
Parameters
[in] slotID
Specifies slotID.
[in] mediaCrit
Specifies mediacrit.
[in] openMode
Specifies openmode.
[in] compEnable
Specifies compenable.
[out] access
Specifies access.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm The essence handle from this call can be used with WriteDataSamples
or WriteMultiSamples but NOT with or WriteDataLines. comm If
you are creating the essence, and then attaching it to a master
mob, then the "masterMob" field may be left NULL. /****/ OpenEssence()
Opens a single channel of a file mob.
slotID: using this essence criteria.
mediaCrit: ReadOnly or Append.
openMode: optionally decompressing.
compEnable: Return an essence access on the essence..
See Also
IAAFMasterMob::OpenMultiEssence
The OpenMultiEssence method comm If the essence is interleaved, then it will be di-interleaved when samples are read.
Syntax
HRESULT OpenMultiEssence(
aafSlotID_t slotID,
aafMediaCriteria_t* mediaCrit,
aafMediaOpenMode_t openMode,
aafCompressEnable_t compEnable,
IAAFEssenceMultiAccess** access
);
Parameters
[in] slotID
Specifies slotID.
[in] mediaCrit
Specifies mediacrit.
[in] openMode
Specifies openmode.
[in] compEnable
Specifies compenable.
[out] access
Specifies access.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
comm If the essence is interleaved, then it will be di-interleaved
when samples are read. This routine follows the locator, and
may call the locator failure callback if the essence can not
be found. If the failure callback finds the essence, then this
routine will return normally. comm The essence handle from this
call can be used with ReadDataSamples and possibly ReadDataLines,
but NOT with ReadMultiSamples. comm Possible Errors: Standard
errors (see top of file). OM_ERR_NOMEMORY -- couldn't allocate
memory for the essence handle comm NOTE: If a locator is followed,
then essencePtr may reference ANOTHER file object, which must
be closed on file close. /****/ OpenMultiEssence() Opens a all
channels associated with a file mob.
slotID: using this essence criteria.
mediaCrit: ReadOnly or Append.
openMode: optionally decompressing.
compEnable: Return an essence access on the essence..
See Also
IAAFMob Interface
In addition to the methods inherited from IUnknown, the IAAFMob interface exposes the following methods.
AppendComment
AppendNewSlot
AppendNewTimelineSlot
AppendSlot
ChangeRef
CloneExternal
Copy
EnumAAFAllMobComments
EnumAAFAllMobSlots
FindSlotBySlotID
GetCreateTime
GetMobID
GetMobInfo
GetModTime
GetName
GetNameBufLen
GetNumComments
GetNumSlots
OffsetToMobTimecode
SetMobID
SetModTime
SetName
IAAFMob::AppendComment
The AppendComment method appendComment() Creates a user-defined comment and appends it to the specified Mob.
Syntax
HRESULT AppendComment(
aafCharacter* pCategory,
aafCharacter* pComment
);
Parameters
[in] pCategory
Pointer to a category object.
[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
AppendComment() Creates a user-defined comment and appends it
to the specified Mob. A Mob comment is implemented as a AAFTaggedValue
object of type WCharString. Succeeds if all of the following
are true: - the pCategory pointer is valid. - the pComment 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 pCategory or pComment args is NULL.
pCategory: Comment value.
See Also
IAAFMob::AppendNewSlot
The AppendNewSlot method appendNewSlot() This method creates a new mob slot with the given property values and appends it to the input mob.
Syntax
HRESULT AppendNewSlot(
IAAFSegment* pSegment,
aafSlotID_t slotID,
aafCharacter* pSlotName,
IAAFMobSlot** ppNewSlot
);
Parameters
[in] pSegment
Pointer to a segment object.
[in] slotID
Specifies slotID.
[in] pSlotName
Pointer to a slot name object.
[out] ppNewSlot
If the method succeeds, specifies a pointer to a variable containing a pointer to a new slot object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendNewSlot() This method creates a new mob slot with the given
property values and appends it to the input mob. The returned
mob slot is AddRef()ed before it is returned. Succeeds if all
of the following are true: - the pSegment pointer is valid. -
the pSlotName pointer is valid. - the ppNewSlot 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 - any of
pSegment, pSlotName, or ppNewSlot arguments is null.
pSegment: new slot ID.
slotID: new slot name.
pSlotName: Newly created slot.
See Also
IAAFMob::AppendNewTimelineSlot
The AppendNewTimelineSlot method appendNewTimelineSlot() This method creates a new timeline mob slot with the given property values and appends it to the input mob.
Syntax
HRESULT AppendNewTimelineSlot(
aafRational_t editRate,
IAAFSegment* pSegment,
aafSlotID_t slotID,
aafCharacter* pSlotName,
aafPosition_t origin,
IAAFTimelineMobSlot** ppNewSlot
);
Parameters
[in] editRate
Specifies editrate.
[in] pSegment
Pointer to a segment object.
[in] slotID
Specifies slotID.
[in] pSlotName
Pointer to a slot name object.
[in] origin
Specifies origin.
[out] ppNewSlot
If the method succeeds, specifies a pointer to a variable containing a pointer to a new slot object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendNewTimelineSlot() This method creates a new timeline mob
slot with the given property values and appends it to the input
mob. The returned mob slot is AddRef()ed before it is returned.
Succeeds if all of the following are true: - the pSegment pointer
is valid. - the pSlotName pointer is valid. - the ppNewSlot 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 -
any of pSegment, pSlotName, or ppNewSlot arguments is null.
editRate: Segment to append as slot component.
pSegment: new slot ID.
slotID: new slot name.
pSlotName: The slot origin.
origin: Newly created slot.
See Also
IAAFMob::AppendSlot
The AppendSlot method appendSlot() Appends the given mob slot to the mob.
Syntax
HRESULT AppendSlot(
IAAFMobSlot* pSlot
);
Parameters
[in] pSlot
Pointer to a slot object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendSlot() Appends the given mob slot to the mob. NOTE Stub
only. Implementation not yet added. Succeeds if all of the following
are true: - the pSlot 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 - pSlot is null.
pSlot: Newly created slot.
See Also
IAAFMob::ChangeRef
The ChangeRef method changeRef() Finds all Source Clips in the specified Mob that refer to the specified old Mob, and changes the references to point to the new Mob.
Syntax
HRESULT ChangeRef(
aafUID_t* pOldMobID,
aafUID_t* pNewMobID
);
Parameters
[in] pOldMobID
Pointer to an old mobID object.
[in] pNewMobID
Pointer to a new mobID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
ChangeRef() Finds all Source Clips in the specified Mob that
refer to the specified old Mob, and changes the references to
point to the new Mob. This function traverses through the entire
structure of the input Mob looking for Source Clips, and changes
the sourceID property on all Source Clips with oldMobID to newMobID.
NOTE Stub only. Implementation not yet added. Succeeds if all
of the following are true: - the pOldMobID pointer is valid.
- the pNewMobID 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 pOldMobID or pNewMobID args is NULL.
pOldMobID: New Mob ID reference in source clip.
See Also
IAAFMob::CloneExternal
The CloneExternal method cloneExternal() Clones the specified Source Mob, and optionally all dependent Mobs, to an external file, keeping the same MobID.
Syntax
HRESULT CloneExternal(
aafDepend_t resolveDependencies,
aafIncMedia_t includeMedia,
IAAFFile* pDestFile,
IAAFMob** ppDestMob
);
Parameters
[in] resolveDependencies
Specifies resolvedependencies.
[in] includeMedia
Specifies includemedia.
[in] pDestFile
Pointer to a dest file object.
[out] ppDestMob
If the method succeeds, specifies a pointer to a variable containing a pointer to a dest mob object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CloneExternal() Clones the specified Source Mob, and optionally
all dependent Mobs, to an external file, keeping the same MobID.
A pointer to the newly created destination mob is returned in
*ppDestMob. This function clones the specified Source Mob in
the source file into a destination Mob, with the same MobID,
in the destination file. If resolveDependencies is kFollowDepend,
the function also clones all Mobs referenced by the specified
Source Mob. If includeMedia is kIncludeMedia, the function also
copies the media data associated with the Source Mob, returns
the destination Mob, and clones all private data. If the media
data is not in the file, the function does not attempt to find
it in another file and clone it. Both AAF files must be open
before you call this function and both must have the same AAF
Version number. The returned mob is AddRef()ed before it is returned.
NOTE Stub only. Implementation not yet added. Succeeds if all
of the following are true: - the pDestFile pointer is valid.
- the ppDestMob 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 pDestFile or ppDestMob arguments is NULL.
resolveDependencies: Whether to include media data.
includeMedia: Destination AAF File.
pDestFile: Destination Mob.
See Also
IAAFMob::Copy
The Copy method copy() This function copies the specified Mob into a destination Mob in the same AAF file.
Syntax
HRESULT Copy(
aafCharacter* pDestMobName,
IAAFMob** ppDestMob
);
Parameters
[in] pDestMobName
Pointer to a dest mob name object.
[out] ppDestMob
If the method succeeds, specifies a pointer to a variable containing a pointer to a dest mob object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Copy() This function copies the specified Mob into a destination
Mob in the same AAF file. The new Mob is returned through the
destMob parameter. The function gives the destination Mob a new
MobID and the name specified in the destMobName parameter. The
function also copies all private data. The returned mob is AddRef()ed
before it is returned. NOTE Stub only. Implementation not yet
added. Succeeds if all of the following are true: - the pDestMobName
pointer is valid. - the ppDestMob 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 pDestMobName or pDestMob
arguments is NULL.
pDestMobName: Destination Mob.
See Also
IAAFMob::EnumAAFAllMobComments
The EnumAAFAllMobComments method enumAAFAllMobComments() return the enumeration for all mob comments.
Syntax
HRESULT EnumAAFAllMobComments(
IEnumAAFTaggedValues** 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
EnumAAFAllMobComments() return the enumeration for all mob comments.
The returned enumerator is AddRef()ed before it is returned.
Mob comments are implemented as AAFTaggedValue of type WCharString.
The enumerator is implemented as a EnumAAAFTaggedValues. 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: Mob Comments.
See Also
IAAFMob::EnumAAFAllMobSlots
The EnumAAFAllMobSlots method enumAAFAllMobSlots() return an enumeration for all mob slots.
Syntax
HRESULT EnumAAFAllMobSlots(
IEnumAAFMobSlots** 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
EnumAAFAllMobSlots() return an enumeration for all mob slots.
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.
ppEnum: Mob Slot Enumeration.
See Also
IAAFMob::FindSlotBySlotID
The FindSlotBySlotID method findSlotBySlotID() The method will find the mob slot for the given slot id.
Syntax
HRESULT FindSlotBySlotID(
aafSlotID_t slotID,
IAAFMobSlot** ppDestSlot
);
Parameters
[in] slotID
Specifies slotID.
[out] ppDestSlot
If the method succeeds, specifies a pointer to a variable containing a pointer to a dest slot object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
FindSlotBySlotID() The method will find the mob slot for the
given slot id. The returned mob slot is AddRef()ed before it
is returned. Succeeds if all of the following are true: - the
ppDestSlot pointer is valid. - the given slot ID is found. If
this method fails nothing will be written to *ppDestSlot. 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 -
ppDestSlot arg is NULL.
slotID: The requested slot.
See Also
IAAFMob::GetCreateTime
The GetCreateTime method getCreateTime() This method will return the creation time for this mob.
Syntax
HRESULT GetCreateTime(
aafTimeStamp_t* pCreationTime
);
Parameters
[out] pCreationTime
If the method succeeds, specifies a pointer to a creation time object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCreateTime() This method will return the creation time for
this mob. Succeeds if all of the following are true: - the pCreationTime
pointer is valid. If this method fails nothing will be written
to *pCreationTime. 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
- pCreationTime arg is NULL.
pCreationTime: Creation Time.
See Also
IAAFMob::GetMobID
The GetMobID method .
Syntax
HRESULT GetMobID(
aafUID_t* pMobID
);
Parameters
[out] pMobID
If the method succeeds, specifies a pointer to a mobID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFMob ************************
The IAAFMob interface is implemented by objects that specify
a Metadata Object, which can describe a composition, essence,
or physical media. 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 IAAFMob 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.
D-11d2-BF78-00104BC9156D GetMobID() This method returns the unique
Mob ID associated with this mob. Succeeds if all of the following
are true: - the pMobID pointer is valid. If this method fails
nothing will be written to *pMobID. 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 - pMobID arg is
NULL.
pMobID: The unique media object id.
See Also
IAAFMob::GetMobInfo
The GetMobInfo method getMobInfo() This method will get all mob property information is a single call.
Syntax
HRESULT GetMobInfo(
aafTimeStamp_t* pLastModified,
aafTimeStamp_t* pCreationTime,
aafCharacter* pName,
aafInt32 bufSize
);
Parameters
[out] pLastModified
If the method succeeds, specifies a pointer to a last modified object.
[out] pCreationTime
If the method succeeds, specifies a pointer to a creation time object.
[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
GetMobInfo() This method will get all mob property information
is a single call. Caller may call GetNameBufLen() to determine
the required pName buffer size. NOTE Stub only. Implementation
not yet added. Succeeds if all of the following are true: - the
pLastModified pointer is valid. - the pCreationTime pointer is
valid. - the pName pointer is valid. If this method fails nothing
will be written to *pLastModified, *pCreationTime, or *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
- any of pLastModified, pCreationTime, or pName arguments is
NULL. AAFRESULT_SMALLBUF - bufSize indicates the buffer is too
small to hold the string.
pLastModified: Creation Time.
pCreationTime: Mob Name.
pName: size of the supplied buffer..
See Also
IAAFMob::GetModTime
The GetModTime method getModTime() This method will return the modification time for this mob.
Syntax
HRESULT GetModTime(
aafTimeStamp_t* pLastModified
);
Parameters
[out] pLastModified
If the method succeeds, specifies a pointer to a last modified object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetModTime() This method will return the modification time for
this mob. Succeeds if all of the following are true: - the pLastModified
pointer is valid. If this method fails nothing will be written
to *pLastModified. 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
- pLastModified arg is NULL.
pLastModified: Modified Time.
See Also
IAAFMob::GetName
The GetName method getName() Writes the mob name, with a trailing null character, into the pName buffer.
Syntax
HRESULT GetName(
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
GetName() Writes the mob 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 GetNameBufLen()
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 Mob Name.
See Also
IAAFMob::GetNameBufLen
The GetNameBufLen method getNameBufLen() Returns the length of buffer required for the GetName() and GetMobInfo() methods.
Syntax
HRESULT GetNameBufLen(
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
GetNameBufLen() Returns the length of buffer required for the
GetName() and GetMobInfo() methods. 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: Mob Name.
See Also
IAAFMob::GetNumComments
The GetNumComments method getNumComments() return total number of comments attached to this mob.
Syntax
HRESULT GetNumComments(
aafUInt32* pNumComments
);
Parameters
[out] pNumComments
If the method succeeds, specifies a pointer to a num comments object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumComments() return total number of comments attached to
this mob. Succeeds if all of the following are true: - the pNumComments
pointer is valid. If this method fails nothing will be written
to *pNumComments. 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
- pNumComments arg is NULL.
pNumComments: Number of Mob Comments.
See Also
IAAFMob::GetNumSlots
The GetNumSlots method getNumSlots() This method returns the number of slots contained by this mob.
Syntax
HRESULT GetNumSlots(
aafNumSlots_t* pNumSlots
);
Parameters
[out] pNumSlots
If the method succeeds, specifies a pointer to a num slots object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumSlots() This method returns the number of slots contained
by this mob. Succeeds if all of the following are true: - the
pNumSlots pointer is valid. If this method fails nothing will
be written to *pNumSlots. 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 - pNumSlots arg is NULL.
pNumSlots: Number of slots.
See Also
IAAFMob::OffsetToMobTimecode
The OffsetToMobTimecode method offsetToMobTimecode() This method will determine the timecode at the given offset into the given timecode segment, and will return it in *pResult.
Syntax
HRESULT OffsetToMobTimecode(
IAAFSegment* pTcSeg,
aafPosition_t* pOffset,
aafTimecode_t* pResult
);
Parameters
[in] pTcSeg
Pointer to a tc seg object.
[in] pOffset
Pointer to an offset object.
[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
OffsetToMobTimecode() This method will determine the timecode
at the given offset into the given timecode segment, and will
return it in *pResult. If pTcSeg is NULL, will search for the
slot containing a timecode segment and will use that instead.
NOTE Stub only. Implementation not yet added. Succeeds if all
of the following are true: - the pTcSeg pointer is valid. - the
pOffset pointer is valid. - the pResult pointer is valid. - Timecode
track exists. 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
- either pOffset or pResult argument is NULL. AAFRESULT_TIMECODE_NOT_FOUND
- timecode track wasn't found.
pTcSeg: Offset into segment in edit units for that segment's
mob slot.
pOffset: The resulting timecode.
See Also
IAAFMob::SetMobID
The SetMobID method setMobID() // When a mob is initially created, the Reference Implementation internally creates a mobID for the new mob.
Syntax
HRESULT SetMobID(
aafUID_t* pMobID
);
Parameters
[in] pMobID
Pointer to a mobID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetMobID() // When a mob is initially created, the Reference
Implementation internally creates a mobID for the new mob. This
method should be used to change the mob's identity to an explicit
mobID. Succeeds if all of the following are true: - the pMobID
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
- pMobID arg is NULL.
pMobID: New Mob ID.
See Also
IAAFMob::SetModTime
The SetModTime method setModTime() This method sets the modification time on a mob.
Syntax
HRESULT SetModTime(
aafTimeStamp_t* pModTime
);
Parameters
[in] pModTime
Pointer to a mod time object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetModTime() This method sets the modification time on a mob.
The modification time is initially set to the time that the mob
was created. The Reference Implementation does not maintain the
modification time every time that a mob has been updated. Therefore,
this method should be called explicitly to change the modification
time. Succeeds if all of the following are true: - the pLastModified
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
- pLastModified arg is NULL.
pModTime: New Modification Time.
See Also
IAAFMob::SetName
The SetName method setName() This method sets the name property on a mob to the value specified in pName.
Syntax
HRESULT SetName(
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
SetName() This method sets the name property on a mob 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: Mob Name.
See Also
IAAFMobSlot Interface
In addition to the methods inherited from IUnknown, the IAAFMobSlot interface exposes the following methods.
GetDataDef
GetName
GetNameBufLen
GetPhysicalNum
GetSegment
GetSlotID
SetName
SetPhysicalNum
SetSegment
SetSlotID
IAAFMobSlot::GetDataDef
The GetDataDef method getDataDef() This method will return the AUID of the Data Definition object associated with the segment in this Mob Slot.
Syntax
HRESULT GetDataDef(
aafUID_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
GetDataDef() This method will return the AUID of the Data Definition
object associated with the segment in this Mob Slot. Common DataDefinition
UIDs are DDEF_Picture, DDEF_Sound, DDEF_Timecode, and DDEF_Edgecode.
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.
pResult: Data Definition AUID.
See Also
IAAFMobSlot::GetName
The GetName method getName() Writes the mob slot name property, with a trailing null character, into the pName buffer.
Syntax
HRESULT GetName(
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
GetName() Writes the mob slot 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 property name 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. 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 provided to hold the name.
See Also
IAAFMobSlot::GetNameBufLen
The GetNameBufLen method getNameBufLen() Returns the length of buffer required for the GetName() method.
Syntax
HRESULT GetNameBufLen(
aafInt32* pLen
);
Parameters
[in] pLen
Pointer to a len object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNameBufLen() Returns the length of buffer required for the
GetName() 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 of the buffer provided to hold the name.
See Also
IAAFMobSlot::GetPhysicalNum
The GetPhysicalNum method getPhysicalNum() Returns information about the physical output channel associated with the Slot.
Syntax
HRESULT GetPhysicalNum(
aafUInt32* 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
GetPhysicalNum() Returns information about the physical output
channel associated with the Slot. This function returns the physical
slot number of the specified slot. The physical slot number identifies
the physical slot associated with the media. For File Source
Mobs that describe stereo audio media, the left channel should
have a PhysicalSlot of 1 and the right channel should have a
Physical-Slot of 2. The function returns an error if the object
specified in the slot parameter is not a slot. Succeeds if all
of the following are true: - the pDatadef pointer is valid. -
the object in the slot parameter is a slot. 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 - pDatadef arg
is NULL. AAFRESULT_SLOT_NOT_FOUND - object specified is not a
slot.
pResult: The physical slot number property value.
See Also
IAAFMobSlot::GetSegment
The GetSegment method ************************ Interface IAAFMobSlot ************************ The IAAFMobSlot interface is implemented by objects which represent a Segment of essence in a Mob.
Syntax
HRESULT GetSegment(
IAAFSegment** 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 IAAFMobSlot ************************
The IAAFMobSlot interface is implemented by objects which represent
a Segment of essence in a Mob. IAAFMobSlot-implementing objects
contan a Segment, which can be a timeline, static, or event Segment.
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. Types
required by this module: aafBool aafRational_t AAFSegment aafPosition_t
aafSlotID_t aafUInt32 AAFDataDef D-11D2-BF78-00104BC9156D GetSegment()
This method will get the segment for this mob slot and place
an interface for it into the **ppResult argument. If a segment
exists, the result will be AddRef()ed. If not, the result will
be NULL. 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: Segment property value.
See Also
IAAFMobSlot::GetSlotID
The GetSlotID method getSlotID() This method will return the slot id of this mob slot.
Syntax
HRESULT GetSlotID(
aafSlotID_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
GetSlotID() This method will return the slot id of this mob slot.
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.
pResult: Slot id of the Mob Slot.
See Also
IAAFMobSlot::SetName
The SetName method setName() Set the mob slot name property to the value specified in pName.
Syntax
HRESULT SetName(
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
SetName() Set the mob slot 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.
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: Mob Slot Name.
See Also
IAAFMobSlot::SetPhysicalNum
The SetPhysicalNum method setPhysicalNum() // This function sets the physical slot number of the specified slot.
Syntax
HRESULT SetPhysicalNum(
aafUInt32 number
);
Parameters
[in] number
Specifies number.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPhysicalNum() // This function sets the physical slot number
of the specified slot. The physical slot number identifies the
physical slot associated with the media. For File Source Mobs
that describe stereo audio media, the left channel should have
a PhysicalSlot of 1 and the right channel should have a Physical-Slot
of 2. The function returns an error if the Mob Slot passed in
is not a slot. Succeeds if all of the following are true: - the
Mob Slot passed in is a slot. 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_SLOT_NOT_FOUND
- object specified is not a slot.
number: The physical slot number property value.
See Also
IAAFMobSlot::SetSegment
The SetSegment method setSegment() This method will set the segment for this mob slot.
Syntax
HRESULT SetSegment(
IAAFSegment* pSegment
);
Parameters
[in] pSegment
Pointer to a segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSegment() This method will set the segment for this mob slot.
If a segment already exists for this mob slot, it will be discarded.
Always succeeds. 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.)
pSegment: Segment property value.
See Also
IAAFMobSlot::SetSlotID
The SetSlotID method setSlotID() This method will set the slot id of this mob slot.
Syntax
HRESULT SetSlotID(
aafSlotID_t value
);
Parameters
[in] value
Specifies value.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSlotID() This method will set the slot id of this mob slot.
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.)
value: Slot id of the Mob Slot.
See Also
IAAFNestedScope Interface
In addition to the methods inherited from IUnknown, the IAAFNestedScope interface exposes the following methods.
AppendSegment
GetSlots
RemoveSegment
The AAFNestedScope object implements the IAAFNestedScope interface and also implements the following:
IAAFNestedScope::AppendSegment
The AppendSegment method .
Syntax
HRESULT AppendSegment(
IAAFSegment* pSegment
);
Parameters
[in] pSegment
Pointer to a segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFNestedScope ************************
This interface is used with an object which contains an ordered
set of AAFSegments and produces the value specified by the last
AAFSegement in the ordered seta reference to a segment. AAFNestedScopes
are used to encapsulate intermediate results which may be referenced
from more than one place, in a manner much like common subexpressions
in mathmatical expressions. 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.
9-11d2-bf98-006097116212 AppendSegment() Append another input
segment to the list of source segments. The last segment added
will be used as the output of the nested scope, and usually contains
operations whose inputs are scope references. Succeeds if all
of the following are true: - the pSegment 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 - pSegment
is null.
pSegment: Pointer to segment to be added.
See Also
IAAFNestedScope::GetSlots
The GetSlots method aAFRESULT_NULL_PARAM - pSegment is null.
Syntax
HRESULT GetSlots(
[retval][out] IEnumAAFSegments
);
Parameters
IEnumAAFSegments
Specifies IEnumAAFSegments.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AAFRESULT_NULL_PARAM - pSegment is null.) GetSlots() Return an
enumerator for the ordered list of AAFSegments which make up
the nested scope. 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.
IEnumAAFSegments: Slots - segment list enumeration.
See Also
IAAFNestedScope::RemoveSegment
The RemoveSegment method removeSegment() Remove the Segment from the Slots list.
Syntax
HRESULT RemoveSegment(
IAAFSegment* pSegment
);
Parameters
[in] pSegment
Pointer to a segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RemoveSegment() Remove the Segment from the Slots list. Succeeds
if all of the following are true: - the pSegment 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.
pSegment: Pointer to segment to be added.
See Also
IAAFNetworkLocator Interface
In addition to the methods inherited from IUnknown, the IAAFNetworkLocator interface exposes the following methods.
Initialize
The AAFNetworkLocator object implements the IAAFNetworkLocator interface and also implements the following:
IAAFNetworkLocator::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 IAAFNetworkLocator ************************
The IAAFNetworkLocator interface is implemented by objects which
provide information to help find a file containing essence data.
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. 6-11d2-841b-00600832acb8 Initialize() Initializes
a newly allocated, empty IAAFNetworkLocator-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
IAAFObject Interface
In addition to the methods inherited from IUnknown, the IAAFObject interface exposes the following methods.
CountProperties
GetDefinition
GetGeneration
GetObjectClass
GetProperties
GetPropertyValue
IsPropertyPresent
SetGeneration
SetPropertyValue
IAAFObject::CountProperties
The CountProperties method countProperties() Returns the number of properties currently present in this object.
Syntax
HRESULT CountProperties(
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
CountProperties() Returns the number of properties currently
present in this object. This is the same number as will be accessed
through GetProperties(). Note This is a low-level method which
allows direct access to properties. If such access is done, any
semantic checking (such as that which is performed in all other
named property Get/Set methods) is not done here. Users must
use this method at their own risk. 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: count of properties present in this object.
See Also
IAAFObject::GetDefinition
The GetDefinition method getDefinition() Returns the class definition which describes this object instance.
Syntax
HRESULT GetDefinition(
IAAFClassDef** ppClassDef
);
Parameters
[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
GetDefinition() Returns the class definition which describes
this object instance. Succeeds if all of the following are true:
- the given ppClassDef pointer is valid. Note Use care when dealing
with the object class. Among the pitfalls to be avoided is that
tests for equality will not reflect inheritance. This becomes
important if an unknown non-builtin (that is, user defined) object
class ID is obtained. 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
- ppClassDef arg is NULL.
ppClassDef: class definition of which this object is an instance..
See Also
IAAFObject::GetGeneration
The GetGeneration method getGeneration() Gets the generation of this object, which is a unique identifier that is used to detect when an object has been modified.
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() Gets the generation of this object, which is
a unique identifier that is used to detect when an object has
been modified. The generation is placed into the caller-allocated
aafUID_t pointed to by pGeneration. NOTE Stub only. Implementation
not yet added. Succeeds if all of the following are true: - the
given pGeneration 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 - pGeneration
arg is NULL.
pGeneration: Generation ID into which this object's generation
is to be written.
See Also
IAAFObject::GetObjectClass
The GetObjectClass method getObjectClass() Gets the object class of which this object is an instance and places it into the caller-allocated aafUID_t pointed to by pClass.
Syntax
HRESULT GetObjectClass(
aafUID_t* pClass
);
Parameters
[out] pClass
If the method succeeds, specifies 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
GetObjectClass() Gets the object class of which this object is
an instance and places it into the caller-allocated aafUID_t
pointed to by pClass. Succeeds if all of the following are true:
- the given pClass pointer is valid. Note Use care when dealing
with the object class. Among the pitfalls to be avoided is that
tests for equality will not reflect inheritance. This becomes
important if an unknown non-builtin (that is, user defined) object
class ID is obtained. 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
- pClass arg is NULL.
pClass: ID of object class of which this object is an instance..
See Also
IAAFObject::GetProperties
The GetProperties method getProperties() Returns an enumerator across all properties actually contained in this object.
Syntax
HRESULT GetProperties(
IEnumAAFProperties** 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
GetProperties() Returns an enumerator across all properties actually
contained in this object. Each property is represented by an
IAAFProperty interface. *ppEnum 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. Note This
is a low-level method which allows direct access to properties.
If such access is done, any semantic checking (such as that which
is performed in all other named property Get/Set methods) is
not done here. Users must use this method at their own risk.
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 Enumeration.
See Also
IAAFObject::GetPropertyValue
The GetPropertyValue method getPropertyValue() Returns the requested Property Value.
Syntax
HRESULT GetPropertyValue(
IAAFPropertyDef* pPropDef,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pPropDef
Pointer to a prop def object.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPropertyValue() Returns the requested Property Value. The
desired property data is identified by the given property definition.
Note This is a low-level method which allows direct access to
properties. If such access is done, any semantic checking (such
as that which is performed in all other named property Get/Set
methods) is not done here. Users must use this method at their
own risk. 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
- pPropDef or ppPropVal arg is NULL. AAFRESULT_ILLEGAL_PROPERTY
- named property illegal for this object's class. AAFRESULT_PROPERTY_NOT_PRESENT
- named property is optional, but not present in this class.
pPropDef: returned AAFPropertyValue.
See Also
IAAFObject::IsPropertyPresent
The IsPropertyPresent method isPropertyPresent() Sets *pResultReturns true in if named property is legal and is present; sets it to false if it is legal and is absent.
Syntax
HRESULT IsPropertyPresent(
IAAFPropertyDef* pPropDef,
aafBool* pResult
);
Parameters
[in] pPropDef
Pointer to a prop def object.
[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
IsPropertyPresent() Sets *pResultReturns true in if named property
is legal and is present; sets it to false if it is legal and
is absent. Note This is a low-level method which allows direct
access to properties. If such access is done, any semantic checking
(such as that which is performed in all other named property
Get/Set methods) is not done here. Users must use this method
at their own risk. 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. AAFRESULT_ILLEGAL_PROPERTY - named property
illegal for this object's class.
pPropDef: true if present; false if not present.
See Also
IAAFObject::SetGeneration
The SetGeneration method ************************ Interface IAAFObject ************************ This interface is implemented for all AAF persistent classes.
Syntax
HRESULT SetGeneration(
aafUID_t* pGeneration
);
Parameters
[in] pGeneration
Pointer to a generation object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFObject ************************
This interface is implemented for all AAF persistent classes.
In addition to methods which all clients can use, it provides
methods for direct property access which should not be used unless
the client programmer is aware of the liabilities. 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. D-11D2-BF78-00104BC9156D
SetGeneration() Sets the generation of this object to the given
value. NOTE Stub only. Implementation not yet added. Succeeds
if all of the following are true: - the given pGeneration 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
- pGeneration arg is NULL.
pGeneration: Generation ID to which this object is to be set.
See Also
IAAFObject::SetPropertyValue
The SetPropertyValue method setPropertyValue() Sets the value of the given property to the given value.
Syntax
HRESULT SetPropertyValue(
IAAFPropertyDef* pPropDef,
IAAFPropertyValue* pPropVal
);
Parameters
[in] pPropDef
Pointer to a prop def object.
[in] pPropVal
Pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPropertyValue() Sets the value of the given property to the
given value. If the selected property is optional but not yet
present, will make the property present before setting its value.
Note This is a low-level method which allows direct access to
properties. If such access is done, any semantic checking (such
as that which is performed in all other named property Get/Set
methods) is not done here. Users must use this method at their
own risk. 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
- pPropDef or ppPropVal arg is NULL. AAFRESULT_ILLEGAL_PROPERTY
- named property illegal for this object's class. AAFRESULT_PROPERTY_NOT_PRESENT
- named property is optional, but not present in this class.
pPropDef: value to set..
See Also
IAAFOperationDef Interface
In addition to the methods inherited from IUnknown, the IAAFOperationDef interface exposes the following methods.
AddParameterDefs
AppendDegradeToOperations
GetBypass
GetCategory
GetCategoryBufLen
GetDataDefinitionID
GetDegradeToOperations
GetNumberInputs
GetParameterDefinitions
IsTimeWarp
PrependDegradeToOperations
SetBypass
SetCategory
SetDataDefinitionID
SetIsTimeWarp
SetNumberInputs
The AAFOperationDef object implements the IAAFOperationDef interface and also implements the following:
IAAFOperationDef::AddParameterDefs
The AddParameterDefs method addParameterDefs() Add the Parameter Definition object to the unordered list of parameter definitions.
Syntax
HRESULT AddParameterDefs(
IAAFParameterDef* pAAFParameterDef
);
Parameters
[in] pAAFParameterDef
Pointer to an AAFParameterDef object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AddParameterDefs() Add the Parameter Definition object to the
unordered list of parameter definitions. Succeeds if all of the
following are true: - the pAAFParameterDef pointer is valid.
- the given Parameter Definition does not exists in this Operation
Definition already 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
- pAAFParameterDef is null. AAFRESULT_OBJECT_ALREADY_ATTACHED
- pAAFParameterDef is already in this OperationDef
pAAFParameterDef: Parameter definition Object.
See Also
IAAFOperationDef::AppendDegradeToOperations
The AppendDegradeToOperations method appendDegradeToOperations() Append another operation definition to the DegradeTo list of definitions.
Syntax
HRESULT AppendDegradeToOperations(
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
AppendDegradeToOperations() Append another operation definition
to the DegradeTo list of definitions. Use this function to add
an operation definition to be scanned last when searching for
the a replacement (a less desirable alternate operation). Succeeds
if all of the following are true: - the pOperationDef 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 -
pOperationDef is null.
pOperationDef: Degrade To operation Definition Object.
See Also
IAAFOperationDef::GetBypass
The GetBypass method getBypass() Gets the Bypass media segment index, which is a value from 0 to one less than that returned by GetNumberInputs().
Syntax
HRESULT GetBypass(
aafUInt32* pBypass
);
Parameters
[out] pBypass
If the method succeeds, specifies a pointer to a bypass object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetBypass() Gets the Bypass media segment index, which is a value
from 0 to one less than that returned by GetNumberInputs().
This value allows the client application to pick one of the inputs
(foreground, background, etc.) to stand in for the effect if
it is not available, and none of the degrade to effects are available.
Succeeds if all of the following are true: - the pBypass pointer
is valid. If this method fails nothing will be written to *pBypass.
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
- pBypass arg is NULL.
pBypass: Pointer to a Bypass media segment index .
See Also
IAAFOperationDef::GetCategory
The GetCategory method getCategory() Writes the category name, with a trailing null character, into the pCategory buffer.
Syntax
HRESULT GetCategory(
aafCharacter* pCategory,
aafInt32 bufSize
);
Parameters
[in] pCategory
Pointer to a category object.
[in] bufSize
Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCategory() Writes the category name, with a trailing null
character, into the pCategory 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).
Standard categories may be found in the file AAFOperationCategories.h.
Caller may call GetCategoryBufLen() to determine the required
buffer size. Succeeds if all of the following are true: - the
pCategory pointer is valid. - bufSize indicates the buffer is
large enough to hold the name. If this method fails nothing will
be written to *pCategory. 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 - pCategory arg is NULL. AAFRESULT_SMALLBUF
- bufSize indicates the buffer is too small to hold the string.
pCategory: length of the buffer to hold Category Name.
See Also
IAAFOperationDef::GetCategoryBufLen
The GetCategoryBufLen method getCategoryBufLen() Returns the length of buffer required for the GetCategory() method.
Syntax
HRESULT GetCategoryBufLen(
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
GetCategoryBufLen() Returns the length of buffer required for
the GetCategory() 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: Category Name.
See Also
IAAFOperationDef::GetDataDefinitionID
The GetDataDefinitionID method ************************ Interface IAAFOperationDef ************************ The IAAFOperationDef interface is implemented by objects that specify an operation definition.
Syntax
HRESULT GetDataDefinitionID(
aafUID_t* ppDataDefID
);
Parameters
[out] ppDataDefID
If the method succeeds, specifies a pointer to a variable containing a pointer to a data defID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFOperationDef ************************
The IAAFOperationDef interface is implemented by objects that
specify an operation definition. Operation definitions specify
which parameters are possible on an operation, while an AAFOperationGroup
specifies specific parameters and input segments for a particular
operation invocation. 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-bf97-006097116212
GetDataDefinitionID() Places the ID of the DataDefinition object
attached to this IAAFOperationDef into the *ppDataDef argument.
The data definition ID will be one of the AUIDs in the file AAFDataDefs.h,
(which includes DDEF_PICTURE, and DDEF_SOUND), and indicates
what type of data the operation will be performed upon. For example,
a video dissolve will have the data def DEF_VIDEO. If a data
definition is used which is not from AAFDataDefs.h, then the
client is responsible for making sure that a data definition
object with that ID exists in the dictionary. The SDK will take
care of creating the standard data definitions. Succeeds if all
of the following are true: - the ppDataDefID pointer is valid.
- A valid DataDefinition 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
- ppDataDef is null. AAFRESULT_INVALID_DATA_DEF - There is no
IAAFDataDefinition. There has to be one of some kind for this
to be a valid operation definition.
ppDataDefID: Returned DataDefinition object.
See Also
IAAFOperationDef::GetDegradeToOperations
The GetDegradeToOperations method getDegradeToOperations() Return an enumerator for aaf operation definitions, ordered from the most desirable to the least desirable alternative.
Syntax
HRESULT GetDegradeToOperations(
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
GetDegradeToOperations() Return an enumerator for aaf operation
definitions, ordered from the most desirable to the least desirable
alternative. 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: Operation Definition Enumeration.
See Also
IAAFOperationDef::GetNumberInputs
The GetNumberInputs method getNumberInputs() Gets the Number of input media segments.
Syntax
HRESULT GetNumberInputs(
aafInt32* pNumberInputs
);
Parameters
[out] pNumberInputs
If the method succeeds, specifies a pointer to a number inputs object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumberInputs() Gets the Number of input media segments. Succeeds
if all of the following are true: - the pNumberInputs pointer
is valid. If this method fails nothing will be written to *pNumberInputs.
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
- pNumberInputs arg is NULL.
pNumberInputs: Pointer to Number of Inputs.
See Also
IAAFOperationDef::GetParameterDefinitions
The GetParameterDefinitions method getParameterDefinitions() Return an enumerator for the unordered list of AAF 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 the unordered
list of AAF Parameter definitions. 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: Parameter definition enumeration.
See Also
IAAFOperationDef::IsTimeWarp
The IsTimeWarp method isTimeWarp() Returns the value of isTimeWarp.
Syntax
HRESULT IsTimeWarp(
aafBool* bIsTimeWarp
);
Parameters
[out] bIsTimeWarp
If the method succeeds, specifies a byte containing the is time warp.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsTimeWarp() Returns the value of isTimeWarp. IsTimeWarp is true
if the length of an IAAFOperationGroup is different from the
lengths of the input segments. For example, a slow motion effect.
Succeeds if all of the following are true: - the bIsTimeWarp
pointer is valid. If this method fails nothing will be written
to *bIsTimeWarp. 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
- bIsTimeWarp arg is NULL.
bIsTimeWarp: pointer to the return value.
See Also
IAAFOperationDef::PrependDegradeToOperations
The PrependDegradeToOperations method prependDegradeToOperations() Prepend another operation definition to the DegradeTo list of definitions.
Syntax
HRESULT PrependDegradeToOperations(
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
PrependDegradeToOperations() Prepend another operation definition
to the DegradeTo list of definitions. Use this function to add
an operation definition to be scanned first when searching for
the a replacement (a more desirable alternate operation). Succeeds
if all of the following are true: - the pOperationDef 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 -
pOperationDef is null.
pOperationDef: Degrade To Operation Definition Object.
See Also
IAAFOperationDef::SetBypass
The SetBypass method setBypass() Sets the media segment index, which is a value from 0 to one less than that returned by GetNumberInputs().
Syntax
HRESULT SetBypass(
aafUInt32 bypass
);
Parameters
[in] bypass
Specifies bypass.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetBypass() Sets the media segment index, which is a value from
0 to one less than that returned by GetNumberInputs(). This value
allows the client application to pick one of the inputs (foreground,
background, etc.) to stand in for the effect if it is not available,
and none of the degrade to effects are available. 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.
bypass: Bypass media segment index.
See Also
IAAFOperationDef::SetCategory
The SetCategory method setCategory() Sets the category of the operation definition.
Syntax
HRESULT SetCategory(
aafCharacter* pCategory
);
Parameters
[in] pCategory
Pointer to a category object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetCategory() Sets the category of the operation definition.
Category is a name that describes a group of operations. A copy
is made of the data so the caller retains ownership of the *pCategory
buffer and is responsible for de-allocating it. Standard categories
may be found in the file AAFOperationCategories.h. Succeeds if
all of the following are true: - the pCategory 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 - pCategory
arg is NULL.
pCategory: Category Name.
See Also
IAAFOperationDef::SetDataDefinitionID
The SetDataDefinitionID method setDataDefinitionID() Sets the IAAFDataDefinition of this IAAFOperationDef to be the given one, by looking up the given AUID in the dictionary.
Syntax
HRESULT SetDataDefinitionID(
aafUID_t* 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
SetDataDefinitionID() Sets the IAAFDataDefinition of this IAAFOperationDef
to be the given one, by looking up the given AUID in the dictionary.
The data definition ID will be one of the AUIDs in the file AAFDataDefs.h,
(which includes DDEF_PICTURE, and DDEF_SOUND), and indicates
what type of data the operation will be performed upon. For example,
a video dissolve will have the data def DEF_VIDEO. If a data
definition is used which is not from AAFDataDefs.h, then the
client is responsible for making sure that a data definition
object with that ID exists in the dictionary. The SDK will take
care of creating the standard data definitions.. Succeeds if
all of the following are true: - the pDataDef 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
- pDataDef is null.
pDataDef: Essence Descriptor object.
See Also
IAAFOperationDef::SetIsTimeWarp
The SetIsTimeWarp method setIsTimeWarp() Sets the IsTimeWarp boolean.
Syntax
HRESULT SetIsTimeWarp(
aafBool IsTimeWarp
);
Parameters
[in] IsTimeWarp
Specifies is time warp.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetIsTimeWarp() Sets the IsTimeWarp boolean. IsTimeWarp is true
if the length of an IAAFOperationGroup is different from the
lengths of the input segments. For example, a slow motion effect.
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.) .
IsTimeWarp: is timewarp value.
See Also
IAAFOperationDef::SetNumberInputs
The SetNumberInputs method setNumberInputs() Sets the Number of input media segments.
Syntax
HRESULT SetNumberInputs(
aafInt32 NumberInputs
);
Parameters
[in] NumberInputs
Specifies number inputs.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetNumberInputs() Sets the Number of input media segments. 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.
NumberInputs: Number of Inputs.
See Also
IAAFOperationGroup Interface
In addition to the methods inherited from IUnknown, the IAAFOperationGroup interface exposes the following methods.
AddNewParameter
AppendNewInputSegment
GetBypassOverride
GetIndexedInputSegment
GetNumParameters
GetNumSourceSegments
GetOperationDefinition
GetParameterByArgID
GetRender
Initialize
IsATimeWarp
IsValidTranOperation
SetBypassOverride
SetRender
The AAFOperationGroup object implements the IAAFOperationGroup interface and also implements the following:
IAAFOperationGroup::AddNewParameter
The AddNewParameter method addNewParameter() Adds a new parameter object.
Syntax
HRESULT AddNewParameter(
IAAFParameter* pValue
);
Parameters
[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
AddNewParameter() Adds a new parameter object. 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_DUPLICATE_PARAMETER
- The given argID is already present. AAFRESULT_NULL_PARAM -
pValue arg is NULL.
pValue: Parameter to place in operation group slot.
See Also
IAAFOperationGroup::AppendNewInputSegment
The AppendNewInputSegment method appendNewInputSegment() Appends another input segment to an operation group.
Syntax
HRESULT AppendNewInputSegment(
IAAFSegment* pSegment
);
Parameters
[in] pSegment
Pointer to a segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendNewInputSegment() Appends another input segment to an operation
group. Succeeds if all of the following are true: - the pSegment
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_DUPLICATE_INDEX
- The given index value is already present. AAFRESULT_NULL_PARAM
- pSegment arg is NULL.
pSegment: Segment to place in operation group.
See Also
IAAFOperationGroup::GetBypassOverride
The GetBypassOverride method getBypassOverride() Returns the optional bypass override propertyvalue from the input operation def object.
Syntax
HRESULT GetBypassOverride(
aafUInt32* pBypassOverride
);
Parameters
[out] pBypassOverride
If the method succeeds, specifies a pointer to a bypass override object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetBypassOverride() Returns the optional bypass override propertyvalue
from the input operation def object. Succeeds if all of the following
are true: - the pBypassOverride pointer is valid. If this method
fails nothing will be written to *pBypassOverride. 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
- pBypassOverride arg is NULL.
pBypassOverride: Bypass override property value.
See Also
IAAFOperationGroup::GetIndexedInputSegment
The GetIndexedInputSegment method getIndexedInputSegment() Given an index, returns the corresponding input segment.
Syntax
HRESULT GetIndexedInputSegment(
aafInt32 index,
IAAFSegment** ppInputSegment
);
Parameters
[in] index
Specifies index.
[out] ppInputSegment
If the method succeeds, specifies a pointer to a variable containing a pointer to an input segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetIndexedInputSegment() Given an index, returns the corresponding
input segment. Working and final renderings are handled by using
an IAAFEssenceGroup as the segment. Succeeds if all of the following
are true: - the ppInputSegment pointer is valid. If this method
fails nothing will be written to *ppInputSegment. 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
- ppInputSegment arg is NULL.
index: Input segment.
See Also
IAAFOperationGroup::GetNumParameters
The GetNumParameters method getNumParameters() Returns the number of parameters in the operation group.
Syntax
HRESULT GetNumParameters(
aafInt32* pNumParameters
);
Parameters
[out] pNumParameters
If the method succeeds, specifies a pointer to a num parameters object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumParameters() Returns the number of parameters in the operation
group. Succeeds if all of the following are true: - the pNumParameters
pointer is valid. If this method fails nothing will be written
to *pNumParameters. 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
- pNumParameters arg is NULL.
pNumParameters: Number of parameter slots in the operation group.
See Also
IAAFOperationGroup::GetNumSourceSegments
The GetNumSourceSegments method getNumSourceSegments() Returns the number of media sources to the operation group.
Syntax
HRESULT GetNumSourceSegments(
aafInt32* pNumSources
);
Parameters
[out] pNumSources
If the method succeeds, specifies a pointer to a num sources object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumSourceSegments() Returns the number of media sources to
the operation group. Succeeds if all of the following are true:
- the pNumSources pointer is valid. If this method fails nothing
will be written to *pNumSources. 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 - pNumSources
arg is NULL.
pNumSources: Number of source media segments in the operation
group.
See Also
IAAFOperationGroup::GetOperationDefinition
The GetOperationDefinition method comm This function takes an already created operation definition object as an argument.
Syntax
HRESULT GetOperationDefinition(
IAAFOperationDef** ppOperationDef
);
Parameters
[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
comm This function takes an already created operation definition
object as an argument. comm To add slots to the operation group,
call AddNewSlot. comm To add renderings, call SetRender. GetOperationDefinition()
Returns the operation definition for this invocation.
ppOperationDef: Operation definition object.
See Also
IAAFOperationGroup::GetParameterByArgID
The GetParameterByArgID method getParameterByArgID() Given an argID, returns the corresponding parameter slot and parameter slot value.
Syntax
HRESULT GetParameterByArgID(
aafArgIDType_t argID,
IAAFParameter** ppParameter
);
Parameters
[in] argID
Specifies argID.
[out] ppParameter
If the method succeeds, specifies a pointer to a variable containing a pointer to a parameter object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetParameterByArgID() Given an argID, returns the corresponding
parameter slot and parameter slot value. Succeeds if all of the
following are true: - the ppParameter pointer is valid. If this
method fails nothing will be written to *ppParameter. 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_PARAMETER
- The given argID is not present. AAFRESULT_NULL_PARAM - ppParameter
arg is NULL.
argID: Parameter object.
See Also
IAAFOperationGroup::GetRender
The GetRender method Succeeds if all of the following are true: - the ppOperationDef pointer is valid.
Syntax
HRESULT GetRender(
IAAFSourceReference** ppSourceRef
);
Parameters
[out] ppSourceRef
If the method succeeds, specifies a pointer to a variable containing 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
Succeeds if all of the following are true: - the ppOperationDef
pointer is valid. If this method fails nothing will be written
to *ppOperationDef. 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
- ppOperationDef arg is NULL.) GetRender() Returns the segment
that represents the optional rendering on an operation group
object. Working and final renderings are handled by using an
IAAFEssenceGroup as the segment. Succeeds if all of the following
are true: - the ppSourceRef pointer is valid. If this method
fails nothing will be written to *ppSourceRef. 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
- ppSourceRef arg is NULL.
ppSourceRef: Final rendering segment.
See Also
IAAFOperationGroup::Initialize
The Initialize method .
Syntax
HRESULT Initialize(
aafUID_t* pDatadef,
aafLength_t length,
IAAFOperationDef* operationDef
);
Parameters
[in] pDatadef
Pointer to a datadef object.
[in] length
Specifies length.
[in] operationDef
Specifies operationdef.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFOperationGroup ************************
The IAAFOperationGroup interface is implemented by objects describe
an operation (such as an effect) affecting the interpretation
of zero or more input segments. OperationGroup objects may include
any object implementing the IAAFSegment interface as source material,
including another nested OperationGroup object. 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 IAAFMob 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. 8-11d2-8042-006008143E6F
Initialize() Initializes an operation group object with the given
property values.
pDatadef: Length property value.
length: Operation Definition object.
See Also
IAAFOperationGroup::IsATimeWarp
The IsATimeWarp method isATimeWarp() This boolean function returns whether or not an operation group is a timewarp effect.
Syntax
HRESULT IsATimeWarp(
aafBool* pIsTimeWarp
);
Parameters
[out] pIsTimeWarp
If the method succeeds, specifies a pointer to an is time warp object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsATimeWarp() This boolean function returns whether or not an
operation group is a timewarp effect. Succeeds if all of the
following are true: - the pIsTimeWarp pointer is valid. If this
method fails nothing will be written to *pIsTimeWarp. 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
- pIsTimeWarp arg is NULL.
pIsTimeWarp: Returned boolean value.
See Also
IAAFOperationGroup::IsValidTranOperation
The IsValidTranOperation method isValidTranOperation() Verifies that the input operation group object can be used in a transition.
Syntax
HRESULT IsValidTranOperation(
aafBool* pValidTransition
);
Parameters
[out] pValidTransition
If the method succeeds, specifies a pointer to a valid transition object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsValidTranOperation() Verifies that the input operation group
object can be used in a transition. Succeeds if all of the following
are true: - the pValidTransition pointer is valid. If this method
fails nothing will be written to *pValidTransition. 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
- pValidTransition arg is NULL.
pValidTransition: TRUE if the operation group is valid in a transition.
See Also
IAAFOperationGroup::SetBypassOverride
The SetBypassOverride method Succeeds if all of the following are true: - the ppSourceRef pointer is valid.
Syntax
HRESULT SetBypassOverride(
aafUInt32 bypassOverride
);
Parameters
[in] bypassOverride
Specifies bypassoverride.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Succeeds if all of the following are true: - the ppSourceRef
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
- ppSourceRef arg is NULL.) SetBypassOverride() This function
sets the optional bypass override property on the given operation
group 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_NOT_INITIALIZED
- This object has not yet had Initialize() called on it.
bypassOverride: Bypass override.
See Also
IAAFOperationGroup::SetRender
The SetRender method setRender() This function sets the final rendering for the given operation group to the input source clip.
Syntax
HRESULT SetRender(
IAAFSourceReference* ppSourceRef
);
Parameters
[in] ppSourceRef
Pointer to a variable containing 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
SetRender() This function sets the final rendering for the given
operation group to the input source clip. Multiple renderings
may exist if the source clip refers to a master mob that contains
a Essence group.
ppSourceRef: A segment containing a representation of the rendering.
See Also
IAAFParameter Interface
In addition to the methods inherited from IUnknown, the IAAFParameter interface exposes the following methods.
GetParameterDefinition
GetTypeDefinition
SetParameterDefinition
SetTypeDefinition
IAAFParameter::GetParameterDefinition
The GetParameterDefinition method getParameterDefinition() Places the parameter definition of the operation parameter into the *ppParmDef argument.
Syntax
HRESULT GetParameterDefinition(
IAAFParameterDef** ppParmDef
);
Parameters
[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
GetParameterDefinition() Places the parameter definition of the
operation parameter into the *ppParmDef argument. The length
of an operation parameter is in the same edit units and has the
same value as the IAAFOperationGroup enclosing this parameter.
Succeeds if all of the following are true: - the ppParmDef 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
- ppParmDef is null.
ppParmDef: New parameter definition.
See Also
IAAFParameter::GetTypeDefinition
The GetTypeDefinition method getTypeDefinition() Places the IAAFTypeDefinition of the data value 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 data
value inside this parameter into the *ppTypeDef argument. The
data value is the value of the parameter. It is often an integer
or rational, and may change over time. An example of a value
would be the "level" parameter of a video dissolve, which has
control points with a value of zero (0 percent B material) at
the start, to one (100 percent B material) at the end. The data
value will actually be stored in either AAFConstantValue or one
of the AAFControlPoints inside of an AAFVaryingValue. The definition
is stored in the base class because it should be constant for
all control points inside of a varying value. 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 data value inside of this object.
See Also
IAAFParameter::SetParameterDefinition
The SetParameterDefinition method ************************ Interface IAAFParameter ************************ The IAAFParameter interface is implemented by objects that specify an Instantiation of an operation parameter.
Syntax
HRESULT SetParameterDefinition(
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
************************ Interface IAAFParameter ************************
The IAAFParameter interface is implemented by objects that specify
an Instantiation of an operation parameter. It is an abstract
class, so you should use AAFConstantValue or AAFVaryingValue.
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. 6-11d2-bf98-006097116212 SetParameterDefinition()
Sets the parameter definition property value on the input component
object. The length of an operation parameter is in the same edit
units and has the same value as the IAAFOperationGroup enclosing
this parameter. 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.)
pParmDef: New parameter definition.
See Also
IAAFParameter::SetTypeDefinition
The SetTypeDefinition method setTypeDefinition() Sets the IAAFTypeDefinition of the data value 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 data value
inside this parameter to be the given one. The data value is
the value of the parameter. It is often an integer or rational,
and may change over time. An example of a value would be the
"level" parameter of a video dissolve, which has control points
with a value of zero (0 percent B material) at the start, to
one (100 percent B material) at the end. The data value will
actually be stored in either AAFConstantValue or one of the AAFControlPoints
inside of an AAFVaryingValue. 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 data value inside of this object.
See Also
IAAFParameterDef Interface
In addition to the methods inherited from IUnknown, the IAAFParameterDef interface exposes the following methods.
GetDisplayUnits
GetDisplayUnitsBufLen
GetTypeDef
SetDisplayUnits
SetTypeDef
The AAFParameterDef object implements the IAAFParameterDef interface and also implements the following:
IAAFParameterDef::GetDisplayUnits
The GetDisplayUnits method getDisplayUnits() Writes the DisplayUnits, with a trailing null character, into the pDisplayUnits buffer.
Syntax
HRESULT GetDisplayUnits(
aafCharacter* pDisplayUnits,
aafInt32 bufSize
);
Parameters
[in] pDisplayUnits
Pointer to a display units object.
[in] bufSize
Specifies bufsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDisplayUnits() Writes the DisplayUnits, with a trailing null
character, into the pDisplayUnits 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).
The display units string is intended for display to the user,
and so should be concise. No other formatting for machine readability
is implied. Caller may call GetDisplayUnitsBufLen() to determine
the required buffer size. Succeeds if all of the following are
true: - the pDisplayUnits pointer is valid. - bufSize indicates
the buffer is large enough to hold the name. If this method fails
nothing will be written to *pDisplayUnits. 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 - pDisplayUnits
arg is NULL. AAFRESULT_SMALLBUF - bufSize indicates the buffer
is too small to hold the string.
pDisplayUnits: length of the buffer to hold DisplayUnits.
See Also
IAAFParameterDef::GetDisplayUnitsBufLen
The GetDisplayUnitsBufLen method getDisplayUnitsBufLen() Returns the length of buffer required for the GetDisplayUnits() method.
Syntax
HRESULT GetDisplayUnitsBufLen(
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
GetDisplayUnitsBufLen() Returns the length of buffer required
for the GetDisplayUnits() 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: DisplayUnits.
See Also
IAAFParameterDef::GetTypeDef
The GetTypeDef method ************************ Interface IAAFParameterDef ************************ The IAAFParameterDef interface is implemented by objects that specify a definition of an operation group parameter.
Syntax
HRESULT GetTypeDef(
[retval,out] IAAFTypeDef
);
Parameters
IAAFTypeDef
Specifies IAAFTypeDef.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFParameterDef ************************
The IAAFParameterDef interface is implemented by objects that
specify a definition of an operation group parameter. The parameterDef
object is separate from the operation definition to allow some
parameters, for example level, to be specified once for multiple
operation definitions. Parmeter definitions define the possible
values and display units of a single operation parameter. 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. 7-11d2-bf96-006097116212 GetTypeDef()
Places the AAFTypeDef object attached to this IAAFParameterDef
into the *ppTypeDef argument. If none exists yet, NULL is placed
into the *ppTypeDef argument. The returned AAFTypeDef object,
if it exists, is AddRef()ed before it is returned. Succeeds if
all of the following are true: - the ppTypeDef pointer is valid.
- A valid AAFTypeDef 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 - ppTypeDef
is null. AAFRESULT_NO_ESSENCE_DESC - There is no AAFTypeDef.
There has to be one of some kind for this to be a valid operation
definition.
IAAFTypeDef: Pointer to a type definition.
See Also
IAAFParameterDef::SetDisplayUnits
The SetDisplayUnits method setDisplayUnits() Sets the DisplayUnits of the operation definition.
Syntax
HRESULT SetDisplayUnits(
aafCharacter* pDisplayUnits
);
Parameters
[in] pDisplayUnits
Pointer to a display units object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetDisplayUnits() Sets the DisplayUnits of the operation definition.
DisplayUnits is a name that describes a group of operation groups.
A copy is made of the data so the caller retains ownership of
the *pDisplayUnits buffer and is responsible for de-allocating
it. The display units string is intended for display to the user,
and so should be concise. No other formatting for machine readability
is implied. Succeeds if all of the following are true: - the
pDisplayUnits 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
- pDisplayUnits arg is NULL.
pDisplayUnits: DisplayUnits.
See Also
IAAFParameterDef::SetTypeDef
The SetTypeDef method setTypeDef() Sets the AAFTypeDef of this IAAFOperationDef to be the given one.
Syntax
HRESULT SetTypeDef(
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
SetTypeDef() Sets the AAFTypeDef of this IAAFOperationDef 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: Pointer to a type definition.
See Also
IAAFPluggableCode Interface
In addition to the methods inherited from IUnknown, the IAAFPluggableCode interface exposes the following methods.
GetDescriptorID
GetObjectCode
GetPluginDescriptor
SetDescriptorID
IAAFPluggableCode::GetDescriptorID
The GetDescriptorID method getDescriptorID() Gets the ID of the descriptor which matches this AAFPluggableCode object Returns one of the following: AAFRESULT_SUCCESS - succeeded.
Syntax
HRESULT GetDescriptorID(
aafUID_t* pDescriptorID
);
Parameters
[out] pDescriptorID
If the method succeeds, specifies a pointer to a descriptorID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDescriptorID() Gets the ID of the descriptor which matches
this AAFPluggableCode object Returns one of the following: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.)
pDescriptorID: The descriptor ID.
See Also
IAAFPluggableCode::GetObjectCode
The GetObjectCode method ************************ Interface IAAFPluggableCode ************************ This interface is describes an object which holds executable object code inside of an AAF file.
Syntax
HRESULT GetObjectCode(
aafDataBuffer_t* pObjectCode
);
Parameters
[out] pObjectCode
If the method succeeds, specifies a pointer to an object code object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFPluggableCode ************************
This interface is describes an object which holds executable
object code inside of an AAF file. This may be useful for specific
cases, but in has problems with cross platform uses of the files,
and with copy protection issues. The interface and properties
of the object code are defined by an AAFPluginDescriptor, which
has a descriptorID which matches the ID stored here. 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 * 2-11d2-809C-006008143E6F GetObjectCode() Returns a pointer
to the executable code, which must be cast before using. Returns
one of the following: AAFRESULT_SUCCESS - succeeded. (This is
the only code indicating success.)
pObjectCode: Pointer to executable code.
See Also
IAAFPluggableCode::GetPluginDescriptor
The GetPluginDescriptor method getPluginDescriptor() Gets the descriptor object which matches this AAFPluggableCode object.
Syntax
HRESULT GetPluginDescriptor(
IAAFPluginDescriptor** pDescriptor
);
Parameters
[out] pDescriptor
If the method succeeds, specifies a pointer to a descriptor object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPluginDescriptor() Gets the descriptor object which matches
this AAFPluggableCode object. Returns one of the following: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.)
pDescriptor: The ID of the descriptor which matches this AAFPluggableCode
object.
See Also
IAAFPluggableCode::SetDescriptorID
The SetDescriptorID method setDescriptorID() Sets the ID of the descriptor which matches this AAFPluggableCode object Returns one of the following: AAFRESULT_SUCCESS - succeeded.
Syntax
HRESULT SetDescriptorID(
aafUID_t pDescriptorID
);
Parameters
[in] pDescriptorID
Pointer to a descriptorID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetDescriptorID() Sets the ID of the descriptor which matches
this AAFPluggableCode object Returns one of the following: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.)
pDescriptorID: The descriptor which matches this AAFPluggableCode
object.
See Also
IAAFPluginDescriptor Interface
In addition to the methods inherited from IUnknown, the IAAFPluginDescriptor interface exposes the following methods.
AppendLocator
EnumPluginLocators
GetAUID
GetCategoryClass
GetDescription
GetDescriptionBufLen
GetEngine
GetEngineVersionRange
GetHardwarePlatform
GetManufacturerID
GetManufacturerInfo
GetName
GetNameBufLen
GetNumLocators
GetPlatformVersionRange
GetPluggableCode
GetPluginAPI
GetPluginAPIVersionRange
GetPluginManufacturerName
GetPluginVersion
GetPluginVersionString
GetProductManufacturerNameLen
GetProductVersionStringLen
Init
IsAccelerated
IsPluginLocal
IsSoftwareOnly
PrependLocator
SetCategoryClass
SetDescription
SetEngine
SetEngineMaximumVersion
SetEngineMinimumVersion
SetHardwarePlatform
SetIsAccelerated
SetIsSoftwareOnly
SetManufacturerID
SetManufacturerInfo
SetName
SetPlatformMaximumVersion
SetPlatformMinimumVersion
SetPluginAPI
SetPluginAPIMaximumVersion
SetPluginAPIMinimumVersion
SetPluginManufacturerName
SetPluginVersion
SetPluginVersionString
SetSupportsAuthentication
SupportsAuthentication
IAAFPluginDescriptor::AppendLocator
The AppendLocator method appendLocator() Append another locator to this plugin 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 plugin descriptor.
Use this function to add a locator to be scanned last when searching
for the plugin (a secondary location for the plugin). 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
IAAFPluginDescriptor::EnumPluginLocators
The EnumPluginLocators method enumPluginLocators() Places an IEnumAAFPluginLocators enumerator for the plugin locators contained in the AAFPluginDescriptor into the *ppEnum argument.
Syntax
HRESULT EnumPluginLocators(
IEnumAAFPluginLocators** 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
EnumPluginLocators() Places an IEnumAAFPluginLocators enumerator
for the plugin locators contained in the AAFPluginDescriptor
into 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: Plugin Locator Enumeration.
See Also
IAAFPluginDescriptor::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
IAAFPluginDescriptor::GetCategoryClass
The GetCategoryClass method getCategoryClass() Obtains the Category Class, which is identifies the stored classID of the subclass of AAFPluggableDefinition which references this plugin descriptor.
Syntax
HRESULT GetCategoryClass(
aafUID_t* pCategoryClass
);
Parameters
[out] pCategoryClass
If the method succeeds, specifies a pointer to a category class object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCategoryClass() Obtains the Category Class, which is identifies
the stored classID of the subclass of AAFPluggableDefinition
which references this plugin descriptor. This ID is written into
the caller-allocated aafUID_t specified by the pCategoryClass
argument. Succeeds if all of the following are true: - the pCategoryClass
pointer is valid. If this method fails nothing will be written
to *pCategoryClass. 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
- pCategoryClass arg is NULL.
pCategoryClass: The CategoryClass.
See Also
IAAFPluginDescriptor::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
IAAFPluginDescriptor::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
IAAFPluginDescriptor::GetEngine
The GetEngine method getEngine() Obtains the software engine ID, which identifies the software subsystem used for essence management and playback used by the plugin.
Syntax
HRESULT GetEngine(
aafEngine_t* pEngine
);
Parameters
[out] pEngine
If the method succeeds, specifies a pointer to an engine object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetEngine() Obtains the software engine ID, which identifies
the software subsystem used for essence management and playback
used by the plugin. This ID is written into the caller-allocated
variable specified by the pHardwarePlatform argument. The type
aafEngine_t is an extensible, enumerated type, and the value
given must be either standard or in the type dictionary. Succeeds
if all of the following are true: - the pHardwarePlatform pointer
is valid. If this method fails nothing will be written to *pHardwarePlatform.
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
- pHardwarePlatform arg is NULL.
pEngine: The software engine.
See Also
IAAFPluginDescriptor::GetEngineVersionRange
The GetEngineVersionRange method getEngineVersionRange() Gets the minimum and maximum engine Version properties of the engine which is associated with this plugin and places it into *pMinVersion, and *pMaxVersion.
Syntax
HRESULT GetEngineVersionRange(
aafVersionType_t* pMinVersion,
aafVersionType_t* pMaxVersion
);
Parameters
[out] pMinVersion
If the method succeeds, specifies a pointer to a min version object.
[out] pMaxVersion
If the method succeeds, specifies a pointer to a max version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetEngineVersionRange() Gets the minimum and maximum engine Version
properties of the engine which is associated with this plugin
and places it into *pMinVersion, and *pMaxVersion. These are
the minimum and maximum versions of the engine for which this
plugin will function. Succeeds if all of the following are true:
- both pMinVersion and pMaxVersion pointers are valid. If this
method fails, nothing will be written to *pMinVersion or *pMaxVersion.
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
- pMinVersion or pMaxVersion arg is NULL.
pMinVersion: The Maximum Engine Version.
See Also
IAAFPluginDescriptor::GetHardwarePlatform
The GetHardwarePlatform method getHardwarePlatform() Obtains the hardware platform ID, which identifies the hardware platform which is required to use this plugin.
Syntax
HRESULT GetHardwarePlatform(
aafHardwarePlatform_t* pHardwarePlatform
);
Parameters
[out] pHardwarePlatform
If the method succeeds, specifies a pointer to a hardware platform object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetHardwarePlatform() Obtains the hardware platform ID, which
identifies the hardware platform which is required to use this
plugin. This ID is written into the caller-allocated variable
specified by the pHardwarePlatform argument. The type aafHardwarePlatform_t
is an extensible enumerated type, and the value given must be
either standard or in the type dictionary. Succeeds if all of
the following are true: - the pHardwarePlatform pointer is valid.
If this method fails nothing will be written to *pHardwarePlatform.
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
- pHardwarePlatform arg is NULL.
pHardwarePlatform: The HardwarePlatform.
See Also
IAAFPluginDescriptor::GetManufacturerID
The GetManufacturerID method getManufacturerID() Obtains the manufacturer ID, which is identifies the manfacturer of this plugin.
Syntax
HRESULT GetManufacturerID(
aafUID_t* pManufacturerID
);
Parameters
[out] pManufacturerID
If the method succeeds, specifies a pointer to a manufacturerID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetManufacturerID() Obtains the manufacturer ID, which is identifies
the manfacturer of this plugin. This ID is written into the caller-allocated
aafUID_t specified by the pManufacturerID argument. Succeeds
if all of the following are true: - the pManufacturerID pointer
is valid. If this method fails nothing will be written to *pManufacturerID.
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
- pManufacturerID arg is NULL.
pManufacturerID: The ManufacturerID.
See Also
IAAFPluginDescriptor::GetManufacturerInfo
The GetManufacturerInfo method getManufacturerInfo() This method will get an AAFNetworkLocator pointing to ManufacturerInfo for this plugin and place an interface for the locator into the **ppResult argument.
Syntax
HRESULT GetManufacturerInfo(
IAAFNetworkLocator** 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
GetManufacturerInfo() This method will get an AAFNetworkLocator
pointing to ManufacturerInfo for this plugin and place an interface
for the locator into the **ppResult argument. If a ManufacturerInfo
locator exists, the result will be AddRef()ed. If not, the result
will be NULL. Succeeds if all of the following are true: - the
ppResult pointer is valid. If this method fails nothing will
be written to *ppResult. 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 - ppResult arg is NULL.
ppResult: ManufacturerInfo property value.
See Also
IAAFPluginDescriptor::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
IAAFPluginDescriptor::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
IAAFPluginDescriptor::GetNumLocators
The GetNumLocators method getNumLocators() Return the number of locators attached to this plugin descriptor.
Syntax
HRESULT GetNumLocators(
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
GetNumLocators() Return the number of locators attached to this
plugin descriptor. The number of locators may be zero if the
plugin 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
IAAFPluginDescriptor::GetPlatformVersionRange
The GetPlatformVersionRange method getPlatformVersionRange() Gets the minimum and maximum platform Version properties associated with this plugin descriptor and places it into *pMinVersion, and *pMaxVersion.
Syntax
HRESULT GetPlatformVersionRange(
aafVersionType_t* pMinVersion,
aafVersionType_t* pMaxVersion
);
Parameters
[out] pMinVersion
If the method succeeds, specifies a pointer to a min version object.
[out] pMaxVersion
If the method succeeds, specifies a pointer to a max version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPlatformVersionRange() Gets the minimum and maximum platform
Version properties associated with this plugin descriptor and
places it into *pMinVersion, and *pMaxVersion. These are the
minimum and maximum versions of the platform for which this plugin
will function. Succeeds if all of the following are true: - both
pMinVersion and pMaxVersion pointers are valid. If this method
fails, nothing will be written to *pMinVersion or *pMaxVersion.
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
- pMinVersion or pMaxVersion arg is NULL.
pMinVersion: The Maximum Platform Version.
See Also
IAAFPluginDescriptor::GetPluggableCode
The GetPluggableCode method getPluggableCode() Returns the pluggableCode objects (if any) associated with this plugin descriptor.
Syntax
HRESULT GetPluggableCode(
IAAFPluggableCode** pCode
);
Parameters
[out] pCode
If the method succeeds, specifies a pointer to a code object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPluggableCode() Returns the pluggableCode objects (if any)
associated with this plugin descriptor. Succeeds if all of the
following are true: - the pCode pointer is valid. If this method
fails nothing will be written to *pCode. 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_CODE_NOT_PRESENT - There
is no pluggable code associated with this file. AAFRESULT_NULL_PARAM
- pCode arg is NULL.
pCode: An interface pointer to the pluggable code object.
See Also
IAAFPluginDescriptor::GetPluginAPI
The GetPluginAPI method getPluginAPI() Obtains the manufacturer ID Class, which identifies the plugin interface supported by the plugin.
Syntax
HRESULT GetPluginAPI(
aafPluginAPI_t* pPluginAPI
);
Parameters
[out] pPluginAPI
If the method succeeds, specifies a pointer to a pluginAPI object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPluginAPI() Obtains the manufacturer ID Class, which identifies
the plugin interface supported by the plugin. This ID is written
into the caller-allocated variable specified by the pPluginAPI
argument. The type aafPluginAPI_t is an extensible enumerated
type, and the value given must be either standard or in the type
dictionary. Succeeds if all of the following are true: - the
pPluginAPI pointer is valid. If this method fails nothing will
be written to *pPluginAPI. 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 - pPluginAPI
arg is NULL.
pPluginAPI: The PluginAPI.
See Also
IAAFPluginDescriptor::GetPluginAPIVersionRange
The GetPluginAPIVersionRange method .
Syntax
HRESULT GetPluginAPIVersionRange(
aafVersionType_t* pMinVersion,
aafVersionType_t* pMaxVersion
);
Parameters
[out] pMinVersion
If the method succeeds, specifies a pointer to a min version object.
[out] pMaxVersion
If the method succeeds, specifies a pointer to a max version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPluginAPIVersionRange() Gets the minimum and maximum plugin
API Version properties of the plugin API which is associated
with this plugin descriptor and places it into *pMinVersion,
and *pMaxVersion. These are the minimum and maximum versions
of the PluginAPI for which this plugin will function. Succeeds
if all of the following are true: - both pMinVersion and pMaxVersion
pointers are valid. If this method fails, nothing will be written
to *pMinVersion or *pMaxVersion. 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
- pMinVersion or pMaxVersion arg is NULL.
pMinVersion: The Maximum Plugin API Version.
See Also
IAAFPluginDescriptor::GetPluginManufacturerName
The GetPluginManufacturerName method getPluginManufacturerName() Transfers the plugin Manufacturer Name, with a trailing null character, into the pManufacturerName buffer.
Syntax
HRESULT GetPluginManufacturerName(
aafCharacter* pManufacturerName,
aafInt32 bufSize
);
Parameters
[in] pManufacturerName
Pointer to a manufacturer 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
GetPluginManufacturerName() Transfers the plugin Manufacturer
Name, with a trailing null character, into the pManufacturerName
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 Name will be returned (that is, only
the trailing null character). The caller may call GetProductManufacturerNameLen()
to determine the required buffer size. Succeeds if all of the
following are true: - the pManufacturerName pointer is valid.
- bufSize indicates the buffer is large enough to hold the name.
If this method fails nothing will be written to *pManufacturerName.
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
- pManufacturerName arg is NULL. AAFRESULT_SMALLBUF - bufSize
indicates the buffer is too small to hold the Name.
pManufacturerName: length of the buffer to hold plugin Manufacturer
Name.
See Also
IAAFPluginDescriptor::GetPluginVersion
The GetPluginVersion method getPluginVersion() Gets the Plugin Version property associated with this plugin descriptor and places it into *pVersion.
Syntax
HRESULT GetPluginVersion(
aafVersionType_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
GetPluginVersion() Gets the Plugin Version property associated
with this plugin descriptor and places it into *pVersion. 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 Plugin Version.
See Also
IAAFPluginDescriptor::GetPluginVersionString
The GetPluginVersionString method getPluginVersionString() Transfers the plugin version string, with a trailing null character, into the pVersionString buffer.
Syntax
HRESULT GetPluginVersionString(
aafCharacter* pVersionString,
aafInt32 bufSize
);
Parameters
[in] pVersionString
Pointer to a 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
GetPluginVersionString() Transfers the plugin version string,
with a trailing null character, into the pVersionString 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 returned (that is, only the trailing
null character). The caller may call GetProductVersionStringLen()
to determine the required buffer size. Succeeds if all of the
following are true: - the pVersionString pointer is valid. -
bufSize indicates the buffer is large enough to hold the name.
If this method fails nothing will be written to *pVersionString.
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
- pVersionString arg is NULL. AAFRESULT_SMALLBUF - bufSize indicates
the buffer is too small to hold the string.
pVersionString: length of the buffer to hold plugin version string.
See Also
IAAFPluginDescriptor::GetProductManufacturerNameLen
The GetProductManufacturerNameLen method getProductManufacturerNameLen() Returns the length of buffer required for the GetPluginManufacturerName() method.
Syntax
HRESULT GetProductManufacturerNameLen(
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
GetProductManufacturerNameLen() Returns the length of buffer
required for the GetPluginManufacturerName() 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: Manufacturer Name.
See Also
IAAFPluginDescriptor::GetProductVersionStringLen
The GetProductVersionStringLen method getProductVersionStringLen() Returns the length of buffer required for the GetPluginVersionString() method.
Syntax
HRESULT GetProductVersionStringLen(
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
GetProductVersionStringLen() Returns the length of buffer required
for the GetPluginVersionString() 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: Mob Name.
See Also
IAAFPluginDescriptor::Init
The Init method .
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 IAAFPluginDescriptor ************************
An object which describes a particular implementation of a plug-in
interface 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
Init() Init all fields of a definition object.
pAuid: Name for new DefObject.
pName: Description for new DefObject.
See Also
IAAFPluginDescriptor::IsAccelerated
The IsAccelerated method isAccelerated() Tells whether the given plugin is capable of running with a hardware accelerator.
Syntax
HRESULT IsAccelerated(
aafBool* pIsAccelerated
);
Parameters
[out] pIsAccelerated
If the method succeeds, specifies a pointer to an is accelerated object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsAccelerated() Tells whether the given plugin is capable of
running with a hardware accelerator. If the result is AAFTrue,
then this plugin may also support software decompression. Succeeds
if all of the following are true: - the pIsAccelerated pointer
is valid. If this method fails nothing will be written to *pIsAccelerated.
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
- pIsAccelerated arg is NULL.
pIsAccelerated: The IsAccelerated.
See Also
IAAFPluginDescriptor::IsPluginLocal
The IsPluginLocal method isPluginLocal() Tells if the plugin is local, ie: inside of an AAFPluggableCode.
Syntax
HRESULT IsPluginLocal(
aafBool* pIsLocal
);
Parameters
[out] pIsLocal
If the method succeeds, specifies a pointer to an is local object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsPluginLocal() Tells if the plugin is local, ie: inside of an
AAFPluggableCode. Succeeds if all of the following are true:
- the pIsLocal pointer is valid. If this method fails, nothing
will be written to *pIsLocal. 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 - pIsLocal arg is NULL.
pIsLocal: Returns AAFTrue if the plugin is local.
See Also
IAAFPluginDescriptor::IsSoftwareOnly
The IsSoftwareOnly method isSoftwareOnly() Tells whether the given plugin is capable of running in a software-only environment.
Syntax
HRESULT IsSoftwareOnly(
aafBool* pIsSoftwareOnly
);
Parameters
[out] pIsSoftwareOnly
If the method succeeds, specifies a pointer to an is software only object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsSoftwareOnly() Tells whether the given plugin is capable of
running in a software-only environment. A value of AAFTrue indicates
that no additional hardware is required. If the result is AAFTrue,
then this plugin may also support hardware acceleration, as long
as it also contains a software method of processing the data.
Succeeds if all of the following are true: - the pIsSoftwareOnly
pointer is valid. If this method fails nothing will be written
to *pIsSoftwareOnly. 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
- pIsSoftwareOnly arg is NULL.
pIsSoftwareOnly: The IsSoftwareOnly.
See Also
IAAFPluginDescriptor::PrependLocator
The PrependLocator method prependLocator() Append another locator to this plugin 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() Append another locator to this plugin descriptor.
Use this function to add a locator 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 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
IAAFPluginDescriptor::SetCategoryClass
The SetCategoryClass method setCategoryClass() Sets the Category Class, which is identifies the stored classID of the subclass of AAFPluggableDefinition which references this plugin descriptor.
Syntax
HRESULT SetCategoryClass(
aafUID_t* pCategoryClass
);
Parameters
[in] pCategoryClass
Pointer to a category class object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetCategoryClass() Sets the Category Class, which is identifies
the stored classID of the subclass of AAFPluggableDefinition
which references this plugin descriptor. A copy is made of the
data so the caller retains ownership of the *pCategoryClass aafUID_t
and is responsible for de-allocating it. Succeeds if all of the
following are true: - the pCategoryClass pointer is valid. If
this method fails the Category Class 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
- pCategoryClass arg is NULL.
pCategoryClass: The Category Class.
See Also
IAAFPluginDescriptor::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
IAAFPluginDescriptor::SetEngine
The SetEngine method setEngine() Sets the software engine ID, which identifies the software subsystem used for essence management and playback used by the plugin.
Syntax
HRESULT SetEngine(
aafEngine_t engine
);
Parameters
[in] engine
Specifies engine.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetEngine() Sets the software engine ID, which identifies the
software subsystem used for essence management and playback used
by the plugin. The type aafEngine_t is an extensible enumerated
type, and the value given must be either standard or in the type
dictionary. If this method fails the engine 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.
engine: The software engine.
See Also
IAAFPluginDescriptor::SetEngineMaximumVersion
The SetEngineMaximumVersion method setEngineMaximumVersion() Sets the minimum engine Version property to the maximum useful version of the engine which is associated with this plugin.
Syntax
HRESULT SetEngineMaximumVersion(
aafVersionType_t* pMaxVersion
);
Parameters
[in] pMaxVersion
Pointer to a max version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetEngineMaximumVersion() Sets the minimum engine Version property
to the maximum useful version of the engine which is associated
with this plugin. This is the maximum version of the engine for
which this plugin will function. Succeeds if all of the following
are true: - pMaxVersion pointer are 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
- pMaxVersion arg is NULL.
pMaxVersion: The Minimum Engine Version.
See Also
IAAFPluginDescriptor::SetEngineMinimumVersion
The SetEngineMinimumVersion method setEngineMinimumVersion() Sets the minimum engine Version property to the minimum useful version of the engine which is associated with this plugin.
Syntax
HRESULT SetEngineMinimumVersion(
aafVersionType_t* pMinVersion
);
Parameters
[in] pMinVersion
Pointer to a min version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetEngineMinimumVersion() Sets the minimum engine Version property
to the minimum useful version of the engine which is associated
with this plugin. This is the minimum version of the engine for
which this plugin will function. Succeeds if all of the following
are true: - both pMinVersion and pMaxVersion pointers are 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
- pMinVersion arg is NULL.
pMinVersion: The Minimum Engine Version.
See Also
IAAFPluginDescriptor::SetHardwarePlatform
The SetHardwarePlatform method setHardwarePlatform() Sets the hardware platform ID, which identifies the hardware platform which is required to use this plugin.
Syntax
HRESULT SetHardwarePlatform(
aafHardwarePlatform_t hardwarePlatform
);
Parameters
[in] hardwarePlatform
Specifies hardwareplatform.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetHardwarePlatform() Sets the hardware platform ID, which identifies
the hardware platform which is required to use this plugin.
The type aafHardwarePlatform_t is an extensible enumerated type,
and the value given must be either standard or in the type dictionary.
If this method fails the HardwarePlatform 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.
hardwarePlatform: The Category Class.
See Also
IAAFPluginDescriptor::SetIsAccelerated
The SetIsAccelerated method setIsAccelerated() Tells whether the given plugin is capable of running with a hardware accelerator.
Syntax
HRESULT SetIsAccelerated(
aafBool isAccelerated
);
Parameters
[in] isAccelerated
Specifies isaccelerated.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetIsAccelerated() Tells whether the given plugin is capable
of running with a hardware accelerator. If the result is AAFTrue,
then this plugin may also support software decompression. If
this method fails the IsAccelerated 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.
isAccelerated: The isAccelerated flag.
See Also
IAAFPluginDescriptor::SetIsSoftwareOnly
The SetIsSoftwareOnly method setIsSoftwareOnly() Sets whether the given plugin is capable of running in a software-only environment, and returns AAFFalse if any hardware is required.
Syntax
HRESULT SetIsSoftwareOnly(
aafBool isSoftwareOnly
);
Parameters
[in] isSoftwareOnly
Specifies issoftware only.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetIsSoftwareOnly() Sets whether the given plugin is capable
of running in a software-only environment, and returns AAFFalse
if any hardware is required. If isSoftwareOnly is AAFTrue, then
this plugin may also support hardware acceleration, as long as
it also contains a software method of processing the data. If
this method fails the isSoftwareOnly 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.
isSoftwareOnly: The isSoftwareOnly flag.
See Also
IAAFPluginDescriptor::SetManufacturerID
The SetManufacturerID method setManufacturerID() Sets the manufacturer ID, which is identifies the manufacturer of this plugin.
Syntax
HRESULT SetManufacturerID(
aafUID_t* pManufacturerID
);
Parameters
[in] pManufacturerID
Pointer to a manufacturerID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetManufacturerID() Sets the manufacturer ID, which is identifies
the manufacturer of this plugin. A copy is made of the data so
the caller retains ownership of the *pManufacturerID aafUID_t
and is responsible for de-allocating it. Succeeds if all of the
following are true: - the pManufacturerID pointer is valid.
If this method fails the ManufacturerID 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
- pManufacturerID arg is NULL.
pManufacturerID: The Category Class.
See Also
IAAFPluginDescriptor::SetManufacturerInfo
The SetManufacturerInfo method setManufacturerInfo() This method will set a locator pointing to the location of ManufacturerInfo for this plugin.
Syntax
HRESULT SetManufacturerInfo(
IAAFNetworkLocator* pManufacturerInfo
);
Parameters
[in] pManufacturerInfo
Pointer to a manufacturer info object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetManufacturerInfo() This method will set a locator pointing
to the location of ManufacturerInfo for this plugin. If a ManufacturerInfo
already exists for this mob slot, it will be discarded. 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.)
pManufacturerInfo: ManufacturerInfo property value.
See Also
IAAFPluginDescriptor::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
IAAFPluginDescriptor::SetPlatformMaximumVersion
The SetPlatformMaximumVersion method setPlatformMaximumVersion() Sets the maximum platform Version properties associated with this plugin descriptor.
Syntax
HRESULT SetPlatformMaximumVersion(
aafVersionType_t* pMaxVersion
);
Parameters
[in] pMaxVersion
Pointer to a max version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPlatformMaximumVersion() Sets the maximum platform Version
properties associated with this plugin descriptor. This is the
maximum version of the platform for which this plugin will function.
Succeeds if all of the following are true: - both pMinVersion
and pMaxVersion pointers are 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
- pMaxVersion arg is NULL.
pMaxVersion: The Maximum Platform Version.
See Also
IAAFPluginDescriptor::SetPlatformMinimumVersion
The SetPlatformMinimumVersion method setPlatformMinimumVersion() Sets the maximum platform Version property of this plugin descriptor.
Syntax
HRESULT SetPlatformMinimumVersion(
aafVersionType_t* pMinVersion
);
Parameters
[in] pMinVersion
Pointer to a min version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPlatformMinimumVersion() Sets the maximum platform Version
property of this plugin descriptor. This is the minimum version
of the platform for which this plugin will function. Succeeds
if all of the following are true: - pMinVersion 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
- pMinVersion arg is NULL.
pMinVersion: The Minimum Platform Version.
See Also
IAAFPluginDescriptor::SetPluginAPI
The SetPluginAPI method setPluginAPI() Obtains the manufacturer ID, which identifies the plugin interface supported by the plugin.
Syntax
HRESULT SetPluginAPI(
aafPluginAPI_t pluginAPI
);
Parameters
[in] pluginAPI
Specifies pluginAPI.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPluginAPI() Obtains the manufacturer ID, which identifies
the plugin interface supported by the plugin.. The type aafPluginAPI_t
is an extensible enumerated type, and the value given must be
either standard or in the type dictionary. If this method fails
the PluginAPI 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.
pluginAPI: The Category Class.
See Also
IAAFPluginDescriptor::SetPluginAPIMaximumVersion
The SetPluginAPIMaximumVersion method setPluginAPIMaximumVersion() Sets the maximum engine Version property to the maximum useful version of the plugin API which is associated with this plugin.
Syntax
HRESULT SetPluginAPIMaximumVersion(
aafVersionType_t* pMaxVersion
);
Parameters
[in] pMaxVersion
Pointer to a max version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPluginAPIMaximumVersion() Sets the maximum engine Version
property to the maximum useful version of the plugin API which
is associated with this plugin. Succeeds if all of the following
are true: - both pMinVersion and pMaxVersion pointers are 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
- pMaxVersion arg is NULL.
pMaxVersion: The Maximum Plugin API Version.
See Also
IAAFPluginDescriptor::SetPluginAPIMinimumVersion
The SetPluginAPIMinimumVersion method setPluginAPIMinimumVersion() Sets the minimum plugin API Version property to the minimum useful version of the plugin API which is associated with this plugin.
Syntax
HRESULT SetPluginAPIMinimumVersion(
aafVersionType_t* pMinVersion
);
Parameters
[out] pMinVersion
If the method succeeds, specifies a pointer to a min version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPluginAPIMinimumVersion() Sets the minimum plugin API Version
property to the minimum useful version of the plugin API which
is associated with this plugin. Succeeds if all of the following
are true: - both pMinVersion and pMaxVersion pointers are 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
- pMinVersion arg is NULL.
pMinVersion: The Minimum Plugin API Version.
See Also
IAAFPluginDescriptor::SetPluginManufacturerName
The SetPluginManufacturerName method setPluginManufacturerName() This method sets the plugin Manufacturer Name property on a plugin descriptor to the value specified in pManufacturerName.
Syntax
HRESULT SetPluginManufacturerName(
aafCharacter* pManufacturerName
);
Parameters
[in] pManufacturerName
Pointer to a manufacturer name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPluginManufacturerName() This method sets the plugin Manufacturer
Name property on a plugin descriptor to the value specified in
pManufacturerName. A copy is made of the data so the caller retains
ownership of the *pManufacturerName buffer and is responsible
for de-allocating it. Succeeds if all of the following are true:
- the pManufacturerName 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 - pManufacturerName arg is NULL.
pManufacturerName: Plugin Manufacturer.
See Also
IAAFPluginDescriptor::SetPluginVersion
The SetPluginVersion method setPluginVersion() Sets the plugin version property of this plugin descriptor.
Syntax
HRESULT SetPluginVersion(
aafVersionType_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
SetPluginVersion() Sets the plugin version property of this plugin
descriptor. Succeeds if all of the following are true: - pVersion
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
- pVersion arg is NULL.
pVersion: The plugin Version.
See Also
IAAFPluginDescriptor::SetPluginVersionString
The SetPluginVersionString method setPluginVersionString() This method sets the plugin version string property on a plugin descriptor to the value specified in pVersionString.
Syntax
HRESULT SetPluginVersionString(
aafCharacter* pVersionString
);
Parameters
[in] pVersionString
Pointer to a version string object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPluginVersionString() This method sets the plugin version
string property on a plugin descriptor to the value specified
in pVersionString. A copy is made of the data so the caller retains
ownership of the *pVersionString buffer and is responsible for
de-allocating it. Succeeds if all of the following are true:
- the pVersionString 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 - pVersionString arg is NULL.
pVersionString: Plugin version.
See Also
IAAFPluginDescriptor::SetSupportsAuthentication
The SetSupportsAuthentication method setSupportsAuthentication() Tells whether the given plugin is capable of supporting authentication.
Syntax
HRESULT SetSupportsAuthentication(
aafBool SupportsAuthentication
);
Parameters
[in] SupportsAuthentication
Specifies supports authentication.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSupportsAuthentication() 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.
SupportsAuthentication: The SupportsAuthentication flag.
See Also
IAAFPluginDescriptor::SupportsAuthentication
The SupportsAuthentication method supportsAuthentication() Tells whether the given plugin is capable of supporting authentication.
Syntax
HRESULT SupportsAuthentication(
aafBool* pSupportsAuthentication
);
Parameters
[out] pSupportsAuthentication
If the method succeeds, specifies a pointer to a supports authentication object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SupportsAuthentication() 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 pSupportsAuthentication pointer is valid. If this
method fails nothing will be written to *pSupportsAuthentication.
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
- pSupportsAuthentication arg is NULL.
pSupportsAuthentication: The SupportsAuthentication.
See Also
IAAFPluginManager Interface
In addition to the methods inherited from IUnknown, the IAAFPluginManager interface exposes the following methods.
CreatePluginDefinition
EnumLoadedPlugins
IAAFPluginManager::CreatePluginDefinition
The CreatePluginDefinition method .
Syntax
HRESULT CreatePluginDefinition(
aafUID_t pluginDefID,
IAAFDictionary* pDictionary,
IAAFDefObject** ppPluginDef
);
Parameters
[in] pluginDefID
Specifies plugindefID.
[in] pDictionary
Pointer to a dictionary object.
[out] ppPluginDef
If the method succeeds, specifies a pointer to a variable containing a pointer to a plugin def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreatePluginDefinition() Given a plugin definition ID, find a
plugin and manufactures a plugin descriptor of the correct class
for this plugin, filling in the values, and returning the definition
through the *pPluginDesc argument. The returned definition is
AddRef()ed before it is returned. You must call QueryInterface
on the result in order to find the correct interface, and are
responsible for adding the definition to the correct place in
the dictionary, as well as preventing duplicates. The resulting
definiton has the plugin descriptor already attached. Succeeds
if all of the following are true: - the pPluginDesc 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 pPluginDesc is null.
pluginDefID: The dictionary of the file where the descriptor
is to be created.
pDictionary: The interface of the returned definition.
See Also
IAAFPluginManager::EnumLoadedPlugins
The EnumLoadedPlugins method ************************ Interface IAAFPluginManager ************************ This interface is used with an object representing an AAF class definition.
Syntax
HRESULT EnumLoadedPlugins(
aafUID_t categoryID,
IEnumAAFLoadedPlugins** ppEnum
);
Parameters
[in] categoryID
Specifies categoryID.
[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
************************ Interface IAAFPluginManager ************************
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. 2-11d2-809C-006008143E6F EnumLoadedPlugins()
Returns an enumerator which enumerates over all of the loaded
pluigin choices through the *ppEnum argument. 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 - if ppEnum is
null.
categoryID: Loaded Plugin Enumeration.
See Also
IAAFProperty Interface
In addition to the methods inherited from IUnknown, the IAAFProperty interface exposes the following methods.
GetDefinition
GetValue
IAAFProperty::GetDefinition
The GetDefinition method ************************ Interface IAAFProperty ************************ This interface is used to access instances of properties contained in AAF persistent objects.
Syntax
HRESULT GetDefinition(
IAAFPropertyDef** ppPropDef
);
Parameters
[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
************************ Interface IAAFProperty ************************
This interface is used to access instances of properties contained
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.
* Stub only. Implementation not yet added * 1-11d2-aa7f-80e6aa000000
GetDefinition() Returns the definition of this property. Succeeds
if: - This object has already been Initialize()d. - The ppPropDef
pointer is valid. - The associated property definition can be
found in the dictionary. 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 - ppPropDef
arg is NULL. AAFRESULT_BAD_PROP - The definition for this property
could not be found in the dictionary.
ppPropDef: This property's definition.
See Also
IAAFProperty::GetValue
The GetValue method getValue() Returns the Property Value object associated with this property.
Syntax
HRESULT GetValue(
IAAFPropertyValue** ppValue
);
Parameters
[out] ppValue
If the method succeeds, specifies a pointer to a variable containing a pointer to a value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetValue() Returns the Property Value object associated with
this property. Succeeds if: - This object has already been Initialize()d.
- The ppPval 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 - ppValue
arg is NULL. AAFRESULT_PROP_NOT_PRESENT - The given property
is optional and not present.
ppValue: The Property Value object associated with this property..
See Also
IAAFPropertyDef Interface
In addition to the methods inherited from IUnknown, the IAAFPropertyDef interface exposes the following methods.
GetDefaultValue
GetDescription
GetDescriptionBufLen
GetIsOptional
GetIsSearchable
GetName
GetNameBufLen
GetTypeDef
SetDefaultValue
SetDescription
SetIsSearchable
The AAFPropertyDef object implements the IAAFPropertyDef interface and also implements the following:
IAAFPropertyDef::GetDefaultValue
The GetDefaultValue method getDefaultValue() Gets the default data value of this property definition.
Syntax
HRESULT GetDefaultValue(
IAAFPropertyValue** ppDataValue
);
Parameters
[out] ppDataValue
If the method succeeds, specifies a pointer to a variable containing a pointer to a data value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetDefaultValue() Gets the default data value of this property
definition. Succeeds if all of the following are true: - the
ppDataValue pointer is valid. If this method fails *ppDataValue
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: NOTE Stub
only. Implementation not yet added. AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppDataValue arg is NULL.
ppDataValue: Pointer to default data value.
See Also
IAAFPropertyDef::GetDescription
The GetDescription method getDescription() Gets the description of the property 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 the property 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
IAAFPropertyDef::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
IAAFPropertyDef::GetIsOptional
The GetIsOptional method getIsOptional() Sets *pIsOptional to AAFTrue for properties that are optional.
Syntax
HRESULT GetIsOptional(
aafBool* pIsOptional
);
Parameters
[out] pIsOptional
If the method succeeds, specifies a pointer to an is optional object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetIsOptional() Sets *pIsOptional to AAFTrue for properties that
are optional. Sets it to AAFFalse for properties that are mandatory.
Succeeds if: - The pIsOptional 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: NOTE Stub only. Implementation not
yet added. AAFRESULT_SUCCESS - succeeded. (This is the only code
indicating success.) AAFRESULT_NULL_PARAM - The pIsOptional pointer
is NULL.
pIsOptional: pointer to the result.
See Also
IAAFPropertyDef::GetIsSearchable
The GetIsSearchable method getIsSearchable() Sets *pIsSearchable to AAFTrue for properties that can contain user-searchable data.
Syntax
HRESULT GetIsSearchable(
aafBool* pIsSearchable
);
Parameters
[out] pIsSearchable
If the method succeeds, specifies a pointer to an is searchable object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetIsSearchable() Sets *pIsSearchable to AAFTrue for properties
that can contain user-searchable data. Sets it to AAFFalse otherwise.
Succeeds if: - The pIsSearchable 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: NOTE Stub only. Implementation not
yet added. AAFRESULT_SUCCESS - succeeded. (This is the only code
indicating success.) AAFRESULT_NULL_PARAM - The pIsSearchable
pointer is NULL.
pIsSearchable: pointer to the result.
See Also
IAAFPropertyDef::GetName
The GetName method getName() Gets the human-legible name.
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 human-legible name. 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
IAAFPropertyDef::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
IAAFPropertyDef::GetTypeDef
The GetTypeDef method ************************ Interface IAAFPropertyDef ************************ This interface is used to access the definitions of types for properties contained in AAF persistent objects.
Syntax
HRESULT GetTypeDef(
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
************************ Interface IAAFPropertyDef ************************
This interface is used to access the definitions of types for
properties contained in AAF persistent objects. A property definition
is used to indicate a particular property within a class. It
defines the name and type of a property to be contained in objects.
Clients cannot create these directly; they must be created through
IAAFClassDef::AppendNewPropertyDef(). 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.
1-11d2-bf96-006097116212 GetTypeDef() Returns a reference to
this property's 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 - pResult is null.
ppTypeDef: definition of type contained by this property.
See Also
IAAFPropertyDef::SetDefaultValue
The SetDefaultValue method setDefaultValue() Sets the default data value of this property definition.
Syntax
HRESULT SetDefaultValue(
IAAFPropertyValue* pDataValue
);
Parameters
[in] pDataValue
Pointer to a data value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetDefaultValue() Sets the default data value of this property
definition. Succeeds if all of the following are true: - the
pDataValue pointer is valid. If this method fails the Default
Value 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: NOTE Stub only. Implementation not yet added. AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- pDataValue arg is NULL.
pDataValue: default data value.
See Also
IAAFPropertyDef::SetDescription
The SetDescription method setDescription() Sets the description of the property 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 the property 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
IAAFPropertyDef::SetIsSearchable
The SetIsSearchable method setIsSearchable() Sets the user-searchable boolean, which will indicate whether or not this property can contain user-searchable data.
Syntax
HRESULT SetIsSearchable(
aafBool IsSearchable
);
Parameters
[in] IsSearchable
Specifies is searchable.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetIsSearchable() Sets the user-searchable boolean, which will
indicate whether or not this property can contain user-searchable
data. Set it to AAFTrue if it can contain user-searchable data;
set it to AAFFalse otherwise. 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:
NOTE Stub only. Implementation not yet added. AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.)
IsSearchable: is searchable value.
See Also
IAAFPropertyValue Interface
In addition to the methods inherited from IUnknown, the IAAFPropertyValue interface exposes the following methods.
GetType
IsDefinedType
IAAFPropertyValue::GetType
The GetType method ************************ Interface IAAFPropertyValue ************************ This interface is used to access the values of properties contained in AAF persistent objects.
Syntax
HRESULT GetType(
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
************************ Interface IAAFPropertyValue ************************
This interface is used to access the values of properties contained
in AAF persistent objects. Values may be simple (e.g. integer),
structured (e.g. aafTimecode_t), other AAF persistent objects,
media, or arrays of other types. 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-aa7f-80e6aa000000
GetType() Returns the type definition associated with this property
value. If this Property Value is not of a recognized type (such
as from a damaged or incorrectly construct file) this method
will return a raw access type which can be used to access the
property data in a raw manner. Succeeds if: - The ppTypeDef pointer
is valid. - The associated type definition can be found in the
dictionary. 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
- ppTypeDef arg is NULL.
ppTypeDef: The type definition associated with this property
value.
See Also
IAAFPropertyValue::IsDefinedType
The IsDefinedType method isDefinedType() Returns false if this property value's type is not (necessarily) the one which was defined for it.
Syntax
HRESULT IsDefinedType(
aafBool* pIsDefined
);
Parameters
[out] pIsDefined
If the method succeeds, specifies a pointer to an is defined object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsDefinedType() Returns false if this property value's type is
not (necessarily) the one which was defined for it. That may
be the case if this property value was read from a damaged file
where type information was not available; in that case GetType()
will return the raw access type for this value. If this property
value's type is the one which was defined for it, this method
will return true and GetType() will return that defined type
for this value. Succeeds if: - The pIsDefined 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
- pIsDefined arg is NULL.
pIsDefined: result.
See Also
IAAFPulldown Interface
In addition to the methods inherited from IUnknown, the IAAFPulldown interface exposes the following methods.
GetInputSegment
GetPhaseFrame
GetPulldownDirection
GetPulldownKind
SetInputSegment
SetPhaseFrame
SetPulldownDirection
SetPulldownKind
The AAFPulldown object implements the IAAFPulldown interface and also implements the following:
IAAFPulldown::GetInputSegment
The GetInputSegment method .
Syntax
HRESULT GetInputSegment(
IAAFSegment** ppInputSegment
);
Parameters
[out] ppInputSegment
If the method succeeds, specifies a pointer to a variable containing a pointer to an input segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFPulldown ************************
This interface is used with an object which converts between
film frame rates and videotape frame rates by describing the
mapping between them. 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. B-11d2-BF7E-00104BC9156D
GetInputSegment() Places the input Segment object in this pulldown
into the *ppInputSegment argument. If none exists yet, NULL is
placed into the *ppInputSegment argument. The returned segment
object, if it exists, is AddRef()ed before it is returned. Succeeds
if all of the following are true: - the ppInputSegment pointer
is valid. - A valid segment 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
- ppInputSegment is null.
ppInputSegment: Returns the input Segment object.
See Also
IAAFPulldown::GetPhaseFrame
The GetPhaseFrame method getPhaseFrame() Returns the phaseFrame field of this pulldown through the *pPhaseFrame argument.
Syntax
HRESULT GetPhaseFrame(
aafPhaseFrame_t* pPhaseFrame
);
Parameters
[out] pPhaseFrame
If the method succeeds, specifies a pointer to a phase frame object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPhaseFrame() Returns the phaseFrame field of this pulldown
through the *pPhaseFrame argument. The phase frame field specifies
the phase within the repeating pattern used to map between the
two edit rates. A value of zero specifies that the pulldown object
starts at the begining of the pattern. Succeeds if all of the
following are true: - the pPhaseFrame 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
- pPhaseFrame is null.
pPhaseFrame: Returns the input Segment object.
See Also
IAAFPulldown::GetPulldownDirection
The GetPulldownDirection method getPulldownDirection() Returns the pulldownDirection field of this pulldown through the *pPulldownDirection argument.
Syntax
HRESULT GetPulldownDirection(
aafPulldownDir_t* pPulldownDirection
);
Parameters
[out] pPulldownDirection
If the method succeeds, specifies a pointer to a pulldown direction object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPulldownDirection() Returns the pulldownDirection field of
this pulldown through the *pPulldownDirection argument. The valid
pulldown directions are: kVideoToFilmSpeed -- The input segment
is at videoSpeed, and the pulldown object is on a mob slot at
film edit rate. kFilmToVideoSpeed -- The input segment is at
film edit rate. The value kVideoToFilmSpeed is used when connecting
24fps file mobs to tape mobs. The value kFilmToVideoSpeed is
used when connecting tape mobs to film mobs. Succeeds if all
of the following are true: - the pPulldownDirection 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
- pPulldownDirection is null.
pPulldownDirection: Returns the input Segment object.
See Also
IAAFPulldown::GetPulldownKind
The GetPulldownKind method getPulldownKind() Returns the pulldownKind property of this pulldown through the *pPulldownKind argument.
Syntax
HRESULT GetPulldownKind(
aafPulldownKind_t* pPulldownKind
);
Parameters
[out] pPulldownKind
If the method succeeds, specifies a pointer to a pulldown kind object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetPulldownKind() Returns the pulldownKind property of this pulldown
through the *pPulldownKind argument. The pulldown kinds include
kThreeTwoPD, kPalPD, kOneToOneNTSC, kOneToOnePAL, and kVideoTapNTSC.
Succeeds if all of the following are true: - the pPulldownKind
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
- pPulldownKind is null.
pPulldownKind: Returns the pulldownKind property.
See Also
IAAFPulldown::SetInputSegment
The SetInputSegment method setInputSegment() Sets the input segment .
Syntax
HRESULT SetInputSegment(
IAAFSegment* pInputSegment
);
Parameters
[in] pInputSegment
Pointer to an input segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetInputSegment() Sets the input segment . Succeeds if all of
the following are true: - the pInputSegment 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
- pInputSegment is null.
pInputSegment: A Segment object.
See Also
IAAFPulldown::SetPhaseFrame
The SetPhaseFrame method setPhaseFrame() Sets the phase frame field of this pulldown object.
Syntax
HRESULT SetPhaseFrame(
aafPhaseFrame_t phaseFrame
);
Parameters
[in] phaseFrame
Specifies phaseframe.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPhaseFrame() Sets the phase frame field of this pulldown object.
The phase frame field specifies the phase within the repeating
pattern used to map between the two edit rates. A value of zero
specifies that the pulldown object starts at the begining of
the pattern. 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
- pInputSegment is null.
phaseFrame: A Segment object.
See Also
IAAFPulldown::SetPulldownDirection
The SetPulldownDirection method setPulldownDirection() Sets the pulldown direction field of this pulldown object.
Syntax
HRESULT SetPulldownDirection(
aafPulldownDir_t pulldownDirection
);
Parameters
[in] pulldownDirection
Specifies pulldowndirection.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPulldownDirection() Sets the pulldown direction field of this
pulldown object. The valid pulldown directions are: kVideoToFilmSpeed
-- The input segment is at videoSpeed, and the pulldown object
is on a mob slot at film edit rate. kFilmToVideoSpeed -- The
input segment is at film edit rate. The value kVideoToFilmSpeed
is used when connecting 24fps file mobs to tape mobs. The value
kFilmToVideoSpeed is used when connecting tape mobs to film mobs.
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
- pInputSegment is null.
pulldownDirection: A Segment object.
See Also
IAAFPulldown::SetPulldownKind
The SetPulldownKind method setPulldownKind() Sets the pulldown kind field of this pulldown object.
Syntax
HRESULT SetPulldownKind(
aafPulldownKind_t pulldownKind
);
Parameters
[in] pulldownKind
Specifies pulldownkind.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPulldownKind() Sets the pulldown kind field of this pulldown
object. The pulldown kinds include kThreeTwoPD, kPalPD, kOneToOneNTSC,
kOneToOnePAL, and kVideoTapNTSC. 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
- pInputSegment is null.
pulldownKind: A Segment object.
See Also
IAAFScopeReference Interface
In addition to the methods inherited from IUnknown, the IAAFScopeReference interface exposes the following methods.
Create
GetRelativeScope
GetRelativeSlot
The AAFScopeReference object implements the IAAFScopeReference interface and also implements the following:
IAAFScopeReference::Create
The Create method .
Syntax
HRESULT Create(
aafUInt32 RelativeScope,
aafUInt32 RelativeSlot
);
Parameters
[in] RelativeScope
Specifies relative scope.
[in] RelativeSlot
Specifies relative slot.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFScopeReference ************************
This interface is used with an object representing a reference
to a segment on another slot of this scope (AAFNestedScope or
AAFMob) or an enclosing scope. Scope references are specified
in terms of a relative slot offset, and the number of scopes
to skip outward. For example a slot offset of 1 and a scope of
0 means to look 1 track back in the current scope. A slot offset
of 1 and a scope of 1 means to look one slot lower in the enslosing
scope. 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. 9-11d2-bf98-006097116212
Create() Constructs a Scope Reference object. 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.)
RelativeScope: Number of slots to look backwards from the slot
containing the Scope Reference.
See Also
IAAFScopeReference::GetRelativeScope
The GetRelativeScope method getRelativeScope() Gets the number of nested scopes to pass to find the Nested Scope slot.
Syntax
HRESULT GetRelativeScope(
[retval][out] aafUInt32
);
Parameters
aafUInt32
Specifies aafUInt32.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetRelativeScope() Gets the number of nested scopes to pass to
find the Nested Scope slot. Succeeds if all of the following
are true: - the pnRelativeScope pointer is valid. If this method
fails nothing will be written to *pnRelativeScope. 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 -
pnRelativeScope arg is NULL.
aafUInt32: Pointer to a Relative Scope.
See Also
IAAFScopeReference::GetRelativeSlot
The GetRelativeSlot method getRelativeSlot() Gets the number of slots that preced the slot containing the Scope Reference.
Syntax
HRESULT GetRelativeSlot(
[retval][out] aafUInt32
);
Parameters
aafUInt32
Specifies aafUInt32.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetRelativeSlot() Gets the number of slots that preced the slot
containing the Scope Reference. Succeeds if all of the following
are true: - the pnRelativeScope pointer is valid. If this method
fails nothing will be written to *pnRelativeSlot. 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 -
pnRelativeSlot arg is NULL.
aafUInt32: Pointer to a Relative Slot.
See Also
IAAFSearchSource Interface
In addition to the methods inherited from IUnknown, the IAAFSearchSource interface exposes the following methods.
SearchSource
IAAFSearchSource::SearchSource
The SearchSource method ************************ Interface IAAFSearchSource ************************ The IAAFSearchSource interface is used to return source information for some mob slots.
Syntax
HRESULT SearchSource(
aafSlotID_t slotID,
aafPosition_t offset,
aafMobKind_t mobKind,
aafMediaCriteria_t* pMediaCrit,
aafOperationChoice_t* pOperationChoice,
IAAFFindSourceInfo** ppSourceInfo
);
Parameters
[in] slotID
Specifies slotID.
[in] offset
Specifies offset.
[in] mobKind
Specifies mobkind.
[in] pMediaCrit
Pointer to a media crit object.
[in] pOperationChoice
Pointer to an operation choice object.
[out] ppSourceInfo
If the method succeeds, specifies a pointer to a variable containing a pointer to a source info object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFSearchSource ************************
The IAAFSearchSource interface is used to return source information
for some mob slots. 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 IAAFSearchSource 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.
5-11D2-AA7A-10003D000000 SearchSource() This function returns
the source information for a slot in a Master Mob or Source Mob.
It follows the Source Clip references in the specified slot until
it encounters the kind of Mob specified in the mobKind parameter.
This function cannot be used on a Composition Mob and is not
intended to be called iteratively; use the MobOpenSearch, MobGetNextSource,
MobGetThisSource, and MobCloseSearch functions for those purposes.
The returned component and find source info are AddRef()ed before
they are returned. Succeeds if all of the following are true:
- ppSourceInfo is non-NULL - a Mob of the requested kind is found
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
- ppCpnt is null. OM_ERR_INVALID_MOBTYPE - The enumerator is
out of range (bad cast, or writing toolkit newer than reader)
OM_ERR_TRAVERSAL_NOT_POSS - Can not find a mob of the given kind.
slotID: Offset.
offset: Mob Kind.
mobKind: Media Criteria.
See Also
IAAFSegment Interface
In addition to the methods inherited from IUnknown, the IAAFSegment interface exposes the following methods.
SegmentOffsetToTC
SegmentTCToOffset
The AAFSegment object implements the IAAFSegment interface and also implements the following:
IAAFSegment::SegmentOffsetToTC
The SegmentOffsetToTC method .
Syntax
HRESULT SegmentOffsetToTC(
aafPosition_t* pOffset,
aafTimecode_t* pTimecode
);
Parameters
[in] pOffset
Pointer to an offset object.
[out] pTimecode
If the method succeeds, specifies a pointer to a timecode object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFSegment ************************
The IAAFSegment interface is implemented by objects which represent
a component that is independent of any other components which
may surround it in a sequence. 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
IAAFSegment 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. 3-11D2-bfaa-006097116212
SegmentOffsetToTC() Converts the given Segment offset to timecode.
Succeeds if all of the following are true: - the pOffset pointer
is valid. - the pTimeCode pointer is valid. If this method fails
the value of pTimecode is left unchanged. 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 - any arg is NULL.
AAFRESULT_TIMECODE_NOT_FOUND - the given offset is not available
in this segment.
pOffset: The converted timecode to be returned.
See Also
IAAFSegment::SegmentTCToOffset
The SegmentTCToOffset method segmentTCToOffset() Converts the given Timecode to an Offset.
Syntax
HRESULT SegmentTCToOffset(
aafTimecode_t* pTimecode,
aafRational_t* pEditRate,
aafFrameOffset_t* pOffset
);
Parameters
[in] pTimecode
Pointer to a timecode object.
[in] pEditRate
Pointer to an edit rate object.
[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
SegmentTCToOffset() Converts the given Timecode to an Offset.
Succeeds if all of the following are true: - the pTimeCode pointer
is valid. - the pEditRate pointer is valid - the pFrameOffset
pointer is valid. If this method fails the value of pOffset is
left unchanged. 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
- any arg is NULL. AAFRESULT_TIMECODE_NOT_FOUND - the given timecode
is not available in this segment.
pTimecode: The edit rate for the given timecode .
pEditRate: Frame Offset to be returned if found.
See Also
IAAFSelector Interface
In addition to the methods inherited from IUnknown, the IAAFSelector interface exposes the following methods.
AppendAlternateSegment
EnumAlternateSegments
GetNumAlternateSegments
GetSelectedSegment
SetSelectedSegment
The AAFSelector object implements the IAAFSelector interface and also implements the following:
IAAFSelector::AppendAlternateSegment
The AppendAlternateSegment method appendAlternateSegment() This function appends the input segment to the alternate segment list, the alternate list of segments represents unused alternative segments.
Syntax
HRESULT AppendAlternateSegment(
IAAFSegment* pSegment
);
Parameters
[in] pSegment
Pointer to a segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendAlternateSegment() This function appends the input segment
to the alternate segment list, the alternate list of segments
represents unused alternative segments. This method will AddRef()
the segment if it succeeds. If the segment is successfully appended
to the set of alternates, the reference count of the segment
is incremented. Succeeds if all of the following are true: -
this object has already been initialized. - the pSegment pointer
is valid. If this method fails no state is 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
- Initialize() has already been called on this object. AAFRESULT_NULL_PARAM
- pSegment is null.
pSegment: Segment to append to the Alternate list of segments.
See Also
IAAFSelector::EnumAlternateSegments
The EnumAlternateSegments method enumAlternateSegments() Places an IEnumAAFSegments enumerator for the alterante segments contained in the selector into the *ppEnum argument.
Syntax
HRESULT EnumAlternateSegments(
IEnumAAFSegments** 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
EnumAlternateSegments() Places an IEnumAAFSegments enumerator
for the alterante segments contained in the selector into 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: Segment Enumeration.
See Also
IAAFSelector::GetNumAlternateSegments
The GetNumAlternateSegments method getNumAlternateSegments() This function returns the number of segments in the set.
Syntax
HRESULT GetNumAlternateSegments(
aafInt32* pNumSegments
);
Parameters
[out] pNumSegments
If the method succeeds, specifies a pointer to a num segments object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumAlternateSegments() This function returns the number of
segments in the set. Succeeds if all of the following are true:
- this object has already been initialized. - the pNumSegments
pointer is valid. If this method fails no state is 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
- Initialize() has already been called on this object. AAFRESULT_NULL_PARAM
- pNumSegments is null.
pNumSegments: Number of Alternate Segments.
See Also
IAAFSelector::GetSelectedSegment
The GetSelectedSegment method .
Syntax
HRESULT GetSelectedSegment(
IAAFSegment** ppSelSegment
);
Parameters
[out] ppSelSegment
If the method succeeds, specifies a pointer to a variable containing a pointer to a sel segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFSelector ************************
The IAAFSelector interface is implemented by objects that specify
a single segment while preserving references to unused alternatives.
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. 5-11d2-bf9d-00104bc9156d GetSelectedSegment()
Places the Selected Segment object in this Selector into the
*ppSelSegment argument. If none exists yet, NULL is placed into
the *ppSelSegment argument. The returned essence descriptor object,
if it exists, is AddRef()ed before it is returned. Succeeds if
all of the following are true: - the ppSelSegment pointer is
valid. - A valid segment 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
- ppSelSegment is null.
ppSelSegment: Returned the selected Segment object.
See Also
IAAFSelector::SetSelectedSegment
The SetSelectedSegment method setSelectedSegment() Sets the Selected segment .
Syntax
HRESULT SetSelectedSegment(
IAAFSegment* pSelSegment
);
Parameters
[in] pSelSegment
Pointer to a sel segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSelectedSegment() Sets the Selected segment . Succeeds if
all of the following are true: - the pSelSegment 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
- pSelSegment is null.
pSelSegment: A Segment object.
See Also
IAAFSequence Interface
In addition to the methods inherited from IUnknown, the IAAFSequence interface exposes the following methods.
AppendComponent
EnumComponents
GetNumComponents
Initialize
The AAFSequence object implements the IAAFSequence interface and also implements the following:
IAAFSequence::AppendComponent
The AppendComponent method appendComponent() This function appends the input component to the given sequence, enforcing bottom up creation of mobs.
Syntax
HRESULT AppendComponent(
IAAFComponent* pComponent
);
Parameters
[in] pComponent
Pointer to a component object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendComponent() This function appends the input component to
the given sequence, enforcing bottom up creation of mobs. The
length of the sequence is incremented by the size of the component,
unless the component is a transition. If the component is a transition,
it verifies that it is not the first object in a transition,
and that it is not neighboring another transition. It also verifies
that there is enough source material on either side of the transition.
The function also verifies that the datadefs are compatible.
This method will AddRef() the component if it succeeds. If the
component is successfully appended to the sequence, the reference
count of the component is incremented. Succeeds if all of the
following are true: - this object has already been initialized.
- the pComponent pointer is valid. If this method fails no state
is 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
- Initialize() has already been called on this object. AAFRESULT_NULL_PARAM
- pComponent is null. AAFRESULT_INVALID_DATADEF - The data kind
of the component is not compatible with the data def of the sequence.
AAFRESULT_LEADING_TRAN - Attempted to append a transition as
the first component of a sequence. A sequence can not start with
a transition. AAFRESULT_ADJACENT_TRAN - Attempted to append a
transition next to a transition. A sequence can not contain back
to back transitions. AAFRESULT_INSUFF_TRAN_MATERIAL - There is
not enough source material to add this component.
pComponent: Component to append to the sequence.
See Also
IAAFSequence::EnumComponents
The EnumComponents method enumComponents() Places an IEnumAAFComponents enumerator for the components contained in the sequence into the *ppEnum argument.
Syntax
HRESULT EnumComponents(
IEnumAAFComponents** 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
EnumComponents() Places an IEnumAAFComponents enumerator for
the components contained in the sequence into 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: Component Enumeration.
See Also
IAAFSequence::GetNumComponents
The GetNumComponents method getNumComponents() This function returns the number of components in the sequence.
Syntax
HRESULT GetNumComponents(
aafInt32* pNumCpnts
);
Parameters
[out] pNumCpnts
If the method succeeds, specifies a pointer to a num cpnts object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetNumComponents() This function returns the number of components
in the sequence. Succeeds if all of the following are true: -
this object has already been initialized. - the pNumCpnts pointer
is valid. If this method fails no state is 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
- Initialize() has already been called on this object. AAFRESULT_NULL_PARAM
- pNumCpnts is null.
pNumCpnts: Number of components.
See Also
IAAFSequence::Initialize
The Initialize method ************************ Interface IAAFSequence ************************ This interface provides access to the list of Segment and Transition objects maintained by a Sequence object.
Syntax
HRESULT Initialize(
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
************************ Interface IAAFSequence ************************
This interface provides access to the list of Segment and Transition
objects maintained by a Sequence object. 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-bfaa-006097116212 Initialize() This function sets the
properties on a newly created sequence object with the given
property values. The length of the sequence is initially set
to 0. When components are appended to the sequence with the AppendComponent()
call, the length of the appended component is added to the length
of the sequence. The given DataDef specifies the kind of data
which all components to be contained in this sequence must share.
Succeeds if all of the following are true: - this object has
not yet been initialized. - the pDataDef pointer is valid. If
this method fails no state is 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_ALREADY_INITIALIZED - Initialize()
has already been called on this object. AAFRESULT_NULL_PARAM
- pDatadef is null.
pDatadef: DataDef of this object.
See Also
IAAFSourceClip Interface
In addition to the methods inherited from IUnknown, the IAAFSourceClip interface exposes the following methods.
GetFade
GetSourceReference
Initialize
ResolveRef
SetFade
SetSourceReference
The AAFSourceClip object implements the IAAFSourceClip interface and also implements the following:
IAAFSourceClip::GetFade
The GetFade method getFade() This function returns the optional fade information from a source clip.
Syntax
HRESULT GetFade(
aafLength_t* pFadeInLen,
aafFadeType_t* pFadeInType,
aafBool* pFadeInPresent,
aafLength_t* pFadeOutLen,
aafFadeType_t* pFadeOutType,
aafBool* pFadeOutPresent
);
Parameters
[out] pFadeInLen
If the method succeeds, specifies a pointer to a fade in len object.
[out] pFadeInType
If the method succeeds, specifies a pointer to a fade in type object.
[out] pFadeInPresent
If the method succeeds, specifies a pointer to a fade in present object.
[out] pFadeOutLen
If the method succeeds, specifies a pointer to a fade out len object.
[out] pFadeOutType
If the method succeeds, specifies a pointer to a fade out type object.
[out] pFadeOutPresent
If the method succeeds, specifies a pointer to a fade out present object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetFade() This function returns the optional fade information
from a source clip. This function only applies to audio source
clips. Length units are specified by the containing mob slot's
edit rate. Succeeds if all of the following are true: - This
object has already been Initialize()d. - the all argument pointers
are valid. If this method fails nothing will be written to any
of the locations specified by the arguments. 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
- any argument is NULL.
pFadeInLen: Fade In Type.
pFadeInType: Fade In Type.
pFadeInPresent: Fade Out Length.
pFadeOutLen: Fade Out Type.
pFadeOutType: Fade In Type.
See Also
IAAFSourceClip::GetSourceReference
The GetSourceReference method getSourceReference() // This function returns the source reference of this source clip.
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
of this source clip. Note: the 3 properties of a source Clip
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
IAAFSourceClip::Initialize
The Initialize method .
Syntax
HRESULT Initialize(
aafUID_t* pDatadef,
aafLength_t* pLength,
aafSourceRef_t sourceRef
);
Parameters
[in] pDatadef
Pointer to a datadef object.
[in] pLength
Pointer to a length object.
[in] sourceRef
Specifies sourceref.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFSourceClip ************************
The IAAFSourceClip interface is implemented by objects that reference
the content data and identify the source of the content data.
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 method initializes a source clip object with the given properties.
Only required properties are set. Optional properties are added
with separate functions. Succeds if: - This object has not already
been Initialize()d. - all pDataDef and pLength are valid pointers.
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
- any arg is NULL.
pDatadef: Length property value.
pLength: Source Reference.
See Also
IAAFSourceClip::ResolveRef
The ResolveRef method resolveRef() Given a source clip object, this function returns a pointer to the mob that it references.
Syntax
HRESULT ResolveRef(
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
ResolveRef() Given a source clip object, this function returns
a pointer to the mob that it references. The returned mob is
AddRef()ed before it is returned. Succeeds if all of the following
are true: - This object has already been Initialize()d. - 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_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- ppMob arg is NULL. AAFRESULT_MOB_NOT_FOUND - this mob does
not exist.
ppMob: Referenced mob.
See Also
IAAFSourceClip::SetFade
The SetFade method setFade() // This function sets the optional fade properties on this source clip object.
Syntax
HRESULT SetFade(
aafInt32 fadeInLen,
aafFadeType_t fadeInType,
aafInt32 fadeOutLen,
aafFadeType_t fadeOutType
);
Parameters
[in] fadeInLen
Specifies fadein len.
[in] fadeInType
Specifies fadein type.
[in] fadeOutLen
Specifies fadeout len.
[in] fadeOutType
Specifies fadeout type.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetFade() // This function sets the optional fade properties
on this source clip object. The fade properties only apply to
a source clip of data definition (or convertible to a data definition)
of type Sound. All arguments should be specified. Length units
are specified by the containing mob slot's edit rate. Succeeds
if all of the following are true: - This object has already been
Initialize()d. 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.
fadeInLen: Fade In Type.
fadeInType: Fade Out Length.
fadeOutLen: Fade Out Type.
See Also
IAAFSourceClip::SetSourceReference
The SetSourceReference method setSourceReference() This function sets the source reference of this source clip.
Syntax
HRESULT SetSourceReference(
aafSourceRef_t sourceRef
);
Parameters
[in] sourceRef
Specifies sourceref.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSourceReference() This function sets the source reference
of this source clip. Note: the 3 properties of a source Clip
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. 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.
sourceRef: Source Reference.
See Also
IAAFSourceMob Interface
In addition to the methods inherited from IUnknown, the IAAFSourceMob interface exposes the following methods.
AddNilReference
AddPulldownRef
AppendEdgecodeSlot
AppendPhysSourceRef
AppendTimecodeSlot
GetEssenceDescriptor
Initialize
NewPhysSourceRef
SetEssenceDescriptor
SpecifyValidCodeRange
The AAFSourceMob object implements the IAAFSourceMob interface and also implements the following:
IAAFSourceMob::AddNilReference
The AddNilReference method addNilReference() This function adds a slot containing a NIL [sourceID 0.
Syntax
HRESULT AddNilReference(
aafSlotID_t slotID,
aafLength_t length,
aafUID_t* dataDef,
aafRational_t editRate
);
Parameters
[in] slotID
Specifies slotID.
[in] length
Specifies length.
[in] dataDef
Specifies datadef.
[in] editRate
Specifies editrate.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AddNilReference() This function adds a slot containing a NIL
[sourceID 0.0....] Source Clip. This special SourceID indicates
that the mob chain ends here, which indicates that no record
exists of what the essence was derived from. Some AAFSourceClip
is still required on the track to indicate that the track exists,
and may be referenced from other Mobs. Examples of Source Mobs
that are not derived from a previous source of essence are: Tape
Source Mobs that were not created from film; File Source Mobs
whose digital essence data was originally generated by computer
and was not digitized from videotape. Succeeds if all of the
following are true: - dataDef is a valid pointer. - editRate
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
- dataDef is NULL AAFRESULT_BADRATE - the editRate is not valid.
slotID: Duration of the Source Clip to be added to the new slot.
length: Data definition of the new slot.
dataDef: Edit rate of the new slot.
See Also
IAAFSourceMob::AddPulldownRef
The AddPulldownRef method .
Syntax
HRESULT AddPulldownRef(
aafAppendOption_t addType,
aafRational_t editrate,
aafSlotID_t aMobSlot,
aafUID_t* pEssenceKind,
aafSourceRef_t ref,
aafLength_t srcRefLength,
aafPulldownKind_t pulldownKind,
aafPhaseFrame_t phaseFrame,
aafPulldownDir_t direction
);
Parameters
[in] addType
Specifies addtype.
[in] editrate
Specifies editrate.
[in] aMobSlot
Specifies amob slot.
[in] pEssenceKind
Pointer to an essence kind object.
[in] ref
Specifies ref.
[in] srcRefLength
Specifies srcref length.
[in] pulldownKind
Specifies pulldownkind.
[in] phaseFrame
Specifies phaseframe.
[in] direction
Specifies direction.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AddPulldownRef() Connects the specified Source Mob with the physical
Source Mob that describes the previous generation of essence,
with an additional AAFPulldown as part of the reference to indicate
a non 1-1 relationship Between the two. Functionally, this is
a helper function to create a slot with an AAFPulldown object
which references an AAFSourceClip, which references a particular
piece of media. This function takes many parameters because the
components of an aafSourceRef_t and the AAFPulldown object have
been broken out as separate parameters. The ancestor of an AAFSourceMob
with an AAFTapeDescriptor is often an AAFFilmDescriptor or NIL.
Succeeds if all of the following are true: - the pEssenceKind
pointer is valid. - the pSourceRefObj pointer is valid. - a valid
pulldown direction was specified. 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
- either pEssenceKind or pSourceRefObj is null. AAFRESULT_PULLDOWN_DIRECTION
- an invalid pulldown direction was specified.
addType: Edit rate of slot to contain reference.
editrate: SlotID of slot to contain reference.
aMobSlot: - Sound.
pEssenceKind: Reference to a Physical Source Mob.
ref: Length of the Source Clip in the Source Mob.
srcRefLength: - kAAFOneToOnePAL -- PAL recorded as 1 frame ==
1 film frame..
pulldownKind: phase of first frame.
phaseFrame: film descriptor..
See Also
IAAFSourceMob::AppendEdgecodeSlot
The AppendEdgecodeSlot method appendEdgecodeSlot() Adds an Edgecode slot to a specified film Mob, with a specified starting edgecode, length, and edit rate.
Syntax
HRESULT AppendEdgecodeSlot(
aafRational_t editrate,
aafInt32 slotID,
aafFrameOffset_t startEC,
aafFrameLength_t length32,
aafFilmType_t filmKind,
aafEdgeType_t codeFormat,
aafEdgecodeHeader_t header
);
Parameters
[in] editrate
Specifies editrate.
[in] slotID
Specifies slotID.
[in] startEC
Specifies startEC.
[in] length32
Specifies length32.
[in] filmKind
Specifies filmkind.
[in] codeFormat
Specifies codeformat.
[in] header
Specifies header.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendEdgecodeSlot() Adds an Edgecode slot to a specified film
Mob, with a specified starting edgecode, length, and edit rate.
You must add a essence slot with SpecifyValidCodeRange to make
the edgecode slot valid. Succeeds if all of the following are
true: - The specified slot ID is not yet used. - This source
mob references an AAFFilmDescriptor as an essence descriptor.
If this method fails no state is 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_SLOT_EXISTS
- The specified slotID already exists. AAFRESULT_FILMDESC_ONLY
- Valid only for AAFSourceMob referencing an AAFFilmDescriptor
as EssenceDescriptor.
editrate: SlotID to assign to the new Edgecode slot.
slotID: Starting Edgecode.
startEC: Length of the Edgecode component in the slot.
length32: - kFt65MM.
filmKind: - kEtEdgenum5.
codeFormat: The Edgecode's 8-byte header.
See Also
IAAFSourceMob::AppendPhysSourceRef
The AppendPhysSourceRef method appendPhysSourceRef() Connects this Source Mob with the physical Source Mob that describes the previous generation of essence, appending it to existing Mob data.
Syntax
HRESULT AppendPhysSourceRef(
aafRational_t editrate,
aafSlotID_t aMobSlot,
aafUID_t* pEssenceKind,
aafSourceRef_t ref,
aafLength_t srcRefLength
);
Parameters
[in] editrate
Specifies editrate.
[in] aMobSlot
Specifies amob slot.
[in] pEssenceKind
Pointer to an essence kind object.
[in] ref
Specifies ref.
[in] srcRefLength
Specifies srcref length.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendPhysSourceRef() Connects this Source Mob with the physical
Source Mob that describes the previous generation of essence,
appending it to existing Mob data. If a physical Source Mob,
such as a File Source Mob or tape Source Mob, references another
physical Source Mob as its ancestor, with no pulldown, then this
function makes the connection between the two. Functionally,
this is a helper function to create a slot with an AAFSourceClip
referencing a particular piece of media. This function takes
many parameters because the components of an aafSourceRef_t have
been broken out as separate parameters. The ancestor of an AAFSourceMob
with an AAFFileDescriptor is often an AAFTapeDescriptor or NIL.
Succeeds if all of the following are true: - the pEssenceKind
pointer is valid. - the pSourceRefObj 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
- either pEssenceKind or pSourceRefObj is null.
editrate: SlotID of slot to contain reference.
aMobSlot: - Sound.
pEssenceKind: Reference to a Physical Source Mob.
ref: Length of the Source Clip.
See Also
IAAFSourceMob::AppendTimecodeSlot
The AppendTimecodeSlot method appendTimecodeSlot() This function adds a Timecode slot to a specified tape Mob or film Mob, with a specified starting timecode, length, and edit rate.
Syntax
HRESULT AppendTimecodeSlot(
aafRational_t editrate,
aafInt32 slotID,
aafTimecode_t startTC,
aafFrameLength_t length32
);
Parameters
[in] editrate
Specifies editrate.
[in] slotID
Specifies slotID.
[in] startTC
Specifies startTC.
[in] length32
Specifies length32.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendTimecodeSlot() This function adds a Timecode slot to a
specified tape Mob or film Mob, with a specified starting timecode,
length, and edit rate. Your must also call SpecifyValidCodeRange
to add the Filler to the other essence slots to indicate that
the Timecode is valid for that channel. Note: The startTC parameter
is expressed in frames since midnight. The length32 parameter
can be the value FULL_RANGE, in which case the length is 24 hours.
Succeeds if all of the following are true: - The specified slot
ID is not yet used. - This source mob references an AAFTapeDescriptor
as an essence descriptor. If this method fails no state is 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_SLOT_EXISTS
- The specified slotID already exists. AAFRESULT_TAPEDESC_ONLY
- Valid only for AAFSourceMob referencing an AAFTapeDescriptor
as EssenceDescriptor.
editrate: SlotID of Timecode slot.
slotID: Starting time code.
startTC: Duration of Timecode..
See Also
IAAFSourceMob::GetEssenceDescriptor
The GetEssenceDescriptor method getEssenceDescriptor() Places the Essence Descriptor object attached to this Mob into the *ppEssence argument.
Syntax
HRESULT GetEssenceDescriptor(
IAAFEssenceDescriptor** ppEssence
);
Parameters
[out] ppEssence
If the method succeeds, specifies a pointer to a variable containing a pointer to an essence object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetEssenceDescriptor() Places the Essence Descriptor object attached
to this Mob into the *ppEssence argument. If none exists yet,
NULL is placed into the *ppEssence argument. The returned essence
descriptor object, if it exists, is AddRef()ed before it is returned.
Succeeds if all of the following are true: - the ppEssence pointer
is valid. - A valid essence descriptor 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
- ppEssence is null. AAFRESULT_NO_ESSENCE_DESC - There is no
essence descriptor. There has to be one of some kind for this
to be a valid Mob.
ppEssence: Returned Essence Descriptor object.
See Also
IAAFSourceMob::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 IAAFSourceMob ************************
This interface is used with an object representing a SourceMob
containing some form of AAFEssenceDescriptor, either an AAFTapeDescriptor,
AAFFileDescriptor AAFFilmDescriptor, or some extended descriptor
not in the v1 specification. Some methods exist here which exist
only for one kind of AAFEssenceDescriptor. AppendTimecodeClip
-- Works only on tape AAFSourceMobs ValidateTimecodeRange --
Works only on tape AAFSourceMobs AppendEdgecodeClip -- Works
only on film AAFSourceMobs These will return an error if the
wrong descriptor is present. If an AAFSourceMob points to another
AAFSourceMob at the same rate [or non-picture], then AppendPhysMobRef
is used to create the relationship. If an AAFSourceMob points
to picture on another AAFSourceMob at a different sample rate,
then AddPulldownRef is used to create the relationship, and the
AAFPulldown which describes how to map between the two rates.
In an AAFSourceMob is the end of the derivation chain for a particular
track, then AddNilReference should be called for that slot, to
say that that slot does exist on the SourceMob. For example,
a video file mob with no derivation would have a single slot
or type video, with a NIL reference to show that video exist,
and was not derived from anything else on record. 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 IAAFSourceMob-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
See Also
IAAFSourceMob::NewPhysSourceRef
The NewPhysSourceRef method newPhysSourceRef() Connects this Source Mob with the physical Source Mob that describes the previous generation of essence, replacing any existing Mob data.
Syntax
HRESULT NewPhysSourceRef(
aafRational_t editrate,
aafSlotID_t aMobSlot,
aafUID_t* pEssenceKind,
aafSourceRef_t ref,
aafLength_t srcRefLength
);
Parameters
[in] editrate
Specifies editrate.
[in] aMobSlot
Specifies amob slot.
[in] pEssenceKind
Pointer to an essence kind object.
[in] ref
Specifies ref.
[in] srcRefLength
Specifies srcref length.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
NewPhysSourceRef() Connects this Source Mob with the physical
Source Mob that describes the previous generation of essence,
replacing any existing Mob data. If a physical Source Mob, such
as a File Source Mob or tape Source Mob, references another physical
Source Mob as its ancestor, with no pulldown, then this function
makes the connection between the two. Functionally, this is a
helper function to create a slot with an AAFSourceClip referencing
a particular piece of media. This function takes many parameters
because the components of an aafSourceRef_t have been broken
out as separate parameters. The ancestor of an AAFSourceMob with
an AAFFileDescriptor is often an AAFTapeDescriptor or NIL. Succeeds
if all of the following are true: - the pEssenceKind pointer
is valid. - the pSourceRefObj 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
- either pEssenceKind or pSourceRefObj is null.
editrate: SlotID of slot to contain reference.
aMobSlot: - Sound.
pEssenceKind: Reference to a Physical Source Mob.
ref: Length of the Source Clip.
See Also
IAAFSourceMob::SetEssenceDescriptor
The SetEssenceDescriptor method setEssenceDescriptor() Sets the Essence Descriptor of this Mob to be the given one.
Syntax
HRESULT SetEssenceDescriptor(
IAAFEssenceDescriptor* pEssence
);
Parameters
[in] pEssence
Pointer to an essence object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetEssenceDescriptor() Sets the Essence Descriptor of this Mob
to be the given one. Succeeds if all of the following are true:
- the pEssence 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
- pEssence is null.
pEssence: Essence Descriptor object.
See Also
IAAFSourceMob::SpecifyValidCodeRange
The SpecifyValidCodeRange method specifyValidCodeRange() Adds slot containing Source Clips to a Source Mob to indicate that the Timecode or Edgecode is valid for that channel.
Syntax
HRESULT SpecifyValidCodeRange(
IAAFDataDef* pEssenceKind,
aafSlotID_t slotID,
aafRational_t editrate,
aafFrameOffset_t startOffset,
aafFrameLength_t length32
);
Parameters
[in] pEssenceKind
Pointer to an essence kind object.
[in] slotID
Specifies slotID.
[in] editrate
Specifies editrate.
[in] startOffset
Specifies startoffset.
[in] length32
Specifies length32.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SpecifyValidCodeRange() Adds slot containing Source Clips to
a Source Mob to indicate that the Timecode or Edgecode is valid
for that channel. Note: The pEssenceKind parameter requires a
data kind valid for a essence stream. Valid data kinds are: -
Picture - Sound Succeeds if all of the following are true: -
the pEssenceKind pointer is valid. - The specified slot ID is
not yet used. 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
- pEssenceKind is null. AAFRESULT_SLOT_EXISTS - The specified
slotID already exists.
pEssenceKind: SlotID for the slot to be added.
slotID: Edit rate for the slot to be added.
editrate: Start offset for the slot to be added.
startOffset: Duration of the Source Clip in the slot.
See Also
IAAFSourceReference Interface
In addition to the methods inherited from IUnknown, the IAAFSourceReference interface exposes the following methods.
GetSourceID
GetSourceMobSlotID
SetSourceID
SetSourceMobSlotID
The AAFSourceReference object implements the IAAFSourceReference interface and also implements the following:
IAAFSourceReference::GetSourceID
The GetSourceID method .
Syntax
HRESULT GetSourceID(
[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
************************ Interface IAAFSourceReference ************************
The IAAFSourceReference interface is implemented by objects that
represent the essence or other data described by a MobSlot in
a 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 IAAFSourceReference
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.
B-11d2-BF7E-00104BC9156D GetSourceID() Gets the SourceID and
places it into the pSourceID argument. Succeeds if all of the
following are true: - the pSourceID pointer is valid. If this
method fails nothing will be written to *pSourceID. 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 -
pSourceID arg is NULL.
aafUID_t: Place to put source ID.
See Also
IAAFSourceReference::GetSourceMobSlotID
The GetSourceMobSlotID method getSourceMobSlotID() Gets the Mob Slot ID and places it into the pMobSlotID argument.
Syntax
HRESULT GetSourceMobSlotID(
[retval][out] aafSlotID_t
);
Parameters
aafSlotID_t
Specifies aafslotID_t.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSourceMobSlotID() Gets the Mob Slot ID and places it into
the pMobSlotID argument. Succeeds if all of the following are
true: - the pMobSlotID pointer is valid. If this method fails
nothing will be written to *pMobSlotID. 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 - pMobSlotID arg
is NULL.
aafSlotID_t: Place to put source mob slot ID.
See Also
IAAFSourceReference::SetSourceID
The SetSourceID method setSourceID() Sets the SourceID using the sourceID argument.
Syntax
HRESULT SetSourceID(
aafUID_t sourceID
);
Parameters
[in] sourceID
Specifies sourceID.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSourceID() Sets the SourceID using the sourceID argument.
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.)
sourceID: Source ID to set.
See Also
IAAFSourceReference::SetSourceMobSlotID
The SetSourceMobSlotID method setSourceMobSlotID() Sets the mob slot ID using the mobSlotID argument.
Syntax
HRESULT SetSourceMobSlotID(
aafSlotID_t mobSlotID
);
Parameters
[in] mobSlotID
Specifies mobslotID.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSourceMobSlotID() Sets the mob slot ID using the mobSlotID
argument. Succeeds if all of the following are true: - (preconditions
here) 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.) (other error codes here.)
mobSlotID: Source Mob ID to set.
See Also
IAAFTaggedValue Interface
In addition to the methods inherited from IUnknown, the IAAFTaggedValue interface exposes the following methods.
GetName
GetNameBufLen
GetTypeDefinition
GetValue
GetValueBufLen
Initialize
SetValue
IAAFTaggedValue::GetName
The GetName method getName() Writes the name, with a trailing null character, into the pName buffer.
Syntax
HRESULT GetName(
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
GetName() Writes the 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 GetNameBufLen()
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 the Tagged value's Name.
See Also
IAAFTaggedValue::GetNameBufLen
The GetNameBufLen method getNameBufLen() Returns the length of buffer required for the GetName() method.
Syntax
HRESULT GetNameBufLen(
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
GetNameBufLen() Returns the length of buffer required for the
GetName() 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: Name buffer length.
See Also
IAAFTaggedValue::GetTypeDefinition
The GetTypeDefinition method getTypeDefinition() Returns the type definition for this invocation.
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() Returns the type definition for this invocation.
ppTypeDef: Type definition object.
See Also
IAAFTaggedValue::GetValue
The GetValue method Succeeds if all of the following are true: - the ppTypeDef pointer is valid.
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
Succeeds if all of the following are true: - the ppTypeDef pointer
is valid. If this method fails nothing will be written to *ppTypeDef.
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
- ppTypeDef arg is NULL.) 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
IAAFTaggedValue::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
IAAFTaggedValue::Initialize
The Initialize method ************************ Interface IAAFTaggedValue ************************ The IAAFTaggedValue interface is implemented by objects that specify an User defined ttag and value.
Syntax
HRESULT Initialize(
aafCharacter* pName,
aafUID_t* pDatadef
);
Parameters
[in] pName
Pointer to a name object.
[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
************************ Interface IAAFTaggedValue ************************
The IAAFTaggedValue interface is implemented by objects that
specify an User defined ttag and value. 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 new tagged
value object to be identified with the given the given type,
and with the given human-legible name. 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.
- pDatadef is a valid pointer. - pName is a valid pointer. 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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- either pDatadef or pName arg is NULL.
pName: Data definition of this tagged value object.
See Also
IAAFTaggedValue::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
IAAFTapeDescriptor Interface
In addition to the methods inherited from IUnknown, the IAAFTapeDescriptor interface exposes the following methods.
GetSignalType
GetTapeFormat
GetTapeFormFactor
GetTapeLength
GetTapeManBufLen
GetTapeManufacturer
GetTapeModel
GetTapeModelBufLen
Initialize
SetSignalType
SetTapeFormat
SetTapeFormFactor
SetTapeLength
SetTapeManufacturer
SetTapeModel
The AAFTapeDescriptor object implements the IAAFTapeDescriptor interface and also implements the following:
IAAFTapeDescriptor::GetSignalType
The GetSignalType method getSignalType() Gets the signal standard recorded on the tape.
Syntax
HRESULT GetSignalType(
aafVideoSignalType_t* pVideoSignal
);
Parameters
[out] pVideoSignal
If the method succeeds, specifies a pointer to a video signal object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSignalType() Gets the signal standard recorded on the tape.
This method succeeds if all of the following are true: - the
pVideoSignal pointer is valid. If this method fails nothing will
be written to *pVideoSignal. 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 - pVideoSignal
arg is NULL.
pVideoSignal: ex: kNTSCSignal.
See Also
IAAFTapeDescriptor::GetTapeFormat
The GetTapeFormat method getTapeFormat() Gets the recording method of the tape.
Syntax
HRESULT GetTapeFormat(
aafTapeFormatType_t* pTapeFormat
);
Parameters
[out] pTapeFormat
If the method succeeds, specifies a pointer to a tape format object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetTapeFormat() Gets the recording method of the tape. Succeeds
if all of the following are true: - the pTapeFormat pointer is
valid. This method succeeds if all of the following are true:
- the pTapeFormat 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
- pTapeFormat arg is NULL.
pTapeFormat: ex: kBetacamFormat, kBetacamSPFormat.
See Also
IAAFTapeDescriptor::GetTapeFormFactor
The GetTapeFormFactor method getTapeFormFactor() Gets the form factor [case size] of the tape.
Syntax
HRESULT GetTapeFormFactor(
aafTapeCaseType_t* formFactor
);
Parameters
[out] formFactor
Specifies formfactor.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetTapeFormFactor() Gets the form factor [case size] of the tape.
This method succeeds if all of the following are true: - the
pFormFactor 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 - pFormFactor
arg is NULL.
formFactor: ex: kVHSVideoTape, kDATCartridge.
See Also
IAAFTapeDescriptor::GetTapeLength
The GetTapeLength method getTapeLength() Gets the length of the tape.
Syntax
HRESULT GetTapeLength(
aafLength_t* pTapeLength
);
Parameters
[out] pTapeLength
If the method succeeds, specifies a pointer to a tape length object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetTapeLength() Gets the length of the tape. This method succeeds
if all of the following are true: - the pTapeLength pointer is
valid. If this method fails nothing will be written to *pTapeLength.
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
- pTapeLength arg is NULL.
pTapeLength: The length of the tape in minutes..
See Also
IAAFTapeDescriptor::GetTapeManBufLen
The GetTapeManBufLen method getTapeManBufLen() Returns the length of buffer required for the GetTapeManufacturer() method.
Syntax
HRESULT GetTapeManBufLen(
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
GetTapeManBufLen() Returns the length of buffer required for
the GetTapeManufacturer() 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_NOT_INITIALIZED - This object has not yet
had Initialize() called on it. AAFRESULT_NULL_PARAM - pLen arg
is NULL.
pLen: Size of buffer for Manufacturers Name string.
See Also
IAAFTapeDescriptor::GetTapeManufacturer
The GetTapeManufacturer method getTapeManufacturer() Writes the name of the company which manufactured the tape, with a trailing null character, into the pName buffer.
Syntax
HRESULT GetTapeManufacturer(
aafCharacter* pName,
aafInt32 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
GetTapeManufacturer() Writes the name of the company which manufactured
the tape, 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 GetTapeManBufLen() 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 AAFRESULT_NOT_INITIALIZED - This object has
not yet had Initialize() called on it. - 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: The size of the pName buffer.
See Also
IAAFTapeDescriptor::GetTapeModel
The GetTapeModel method getTapeModel() Writes the brand or model of the tape, with a trailing null character, into the pName buffer.
Syntax
HRESULT GetTapeModel(
aafCharacter* pName,
aafInt32 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
GetTapeModel() Writes the brand or model of the tape, 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 GetTapeModelBufLen() 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_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pName arg is NULL. AAFRESULT_SMALLBUF - bufSize indicates the
buffer is too small to hold the string.
pName: The size of the pName buffer.
See Also
IAAFTapeDescriptor::GetTapeModelBufLen
The GetTapeModelBufLen method getTapeModelBufLen() Returns the length of buffer required for the GetTapeModel() method.
Syntax
HRESULT GetTapeModelBufLen(
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
GetTapeModelBufLen() Returns the length of buffer required for
the GetTapeModel() 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_NOT_INITIALIZED - This object has not yet
had Initialize() called on it. AAFRESULT_NULL_PARAM - pLen arg
is NULL.
pLen: Size of buffer for Model string.
See Also
IAAFTapeDescriptor::Initialize
The Initialize method ************************ Interface IAAFTapeDescriptor ************************ The IAAFTapeDescriptor interface is implemented by objects which describe audio tape or videotape media.
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 IAAFTapeDescriptor ************************
The IAAFTapeDescriptor interface is implemented by objects which
describe audio tape or videotape media. A TapeDescriptor 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 Initialize()
Initializes a newly allocated, empty IAAFTapeDescriptor-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
IAAFTapeDescriptor::SetSignalType
The SetSignalType method setSignalType() Sets the signal standard recorded on the tape.
Syntax
HRESULT SetSignalType(
aafVideoSignalType_t videoSignal
);
Parameters
[in] videoSignal
Specifies videosignal.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSignalType() Sets the signal standard recorded on the tape.
This method succeeds if all of the following are true: videoSignal
represents a valid video signal type. 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
- videoSignal is invalid.
videoSignal: ex: kNTSCSignal.
See Also
IAAFTapeDescriptor::SetTapeFormat
The SetTapeFormat method setTapeFormat() Sets the recording method of the tape.
Syntax
HRESULT SetTapeFormat(
aafTapeFormatType_t tapeFormat
);
Parameters
[in] tapeFormat
Specifies tapeformat.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetTapeFormat() Sets the recording method of the tape. This method
succeeds if all of the following are true: - tapeFormat represents
a valid tape format type. 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 - tapeFormat
is invalid.
tapeFormat: ex: kBetacamFormat, kBetacamSPFormat.
See Also
IAAFTapeDescriptor::SetTapeFormFactor
The SetTapeFormFactor method setTapeFormFactor() Sets the form factor [case size] of the tape.
Syntax
HRESULT SetTapeFormFactor(
aafTapeCaseType_t formFactor
);
Parameters
[in] formFactor
Specifies formfactor.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetTapeFormFactor() Sets the form factor [case size] of the tape.
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 - formFactor
is invalid.
formFactor: ex: kVHSVideoTape, kDATCartridge .
See Also
IAAFTapeDescriptor::SetTapeLength
The SetTapeLength method setTapeLength() Sets the length of the tape.
Syntax
HRESULT SetTapeLength(
aafLength_t tapeLength
);
Parameters
[in] tapeLength
Specifies tapelength.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetTapeLength() Sets the length of the tape. This method succeeds
if all of the following are true: - tapeLength is a positive
number. 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_LENGTH
- tapeLength is negative.
tapeLength: The length of the tape in minutes..
See Also
IAAFTapeDescriptor::SetTapeManufacturer
The SetTapeManufacturer method setTapeManufacturer() Sets the name of the company which manufactured the tape to the value specified in pName.
Syntax
HRESULT SetTapeManufacturer(
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
SetTapeManufacturer() Sets the name of the company which manufactured
the tape 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. This method succeeds if
all of the following are true: - the pName pointer is valid.
If this method fails the Product 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_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pName arg is NULL.
pName: Manufacturers name.
See Also
IAAFTapeDescriptor::SetTapeModel
The SetTapeModel method setTapeModel() Sets the brand or model of the tape to the value specified in pName.
Syntax
HRESULT SetTapeModel(
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
SetTapeModel() Sets the brand or model of the tape 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 the Product
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_NOT_INITIALIZED - This object
has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pName arg is NULL.
pName: Tape Manufacturers Brand name.
See Also
IAAFTextLocator Interface
In addition to the methods inherited from IUnknown, the IAAFTextLocator interface exposes the following methods.
GetName
GetNameBufLen
Initialize
SetName
The AAFTextLocator object implements the IAAFTextLocator interface and also implements the following:
IAAFTextLocator::GetName
The GetName method getName() Writes the Name, with a trailing null character, into the pNameBuf buffer.
Syntax
HRESULT GetName(
aafCharacter* pNameBuf,
aafInt32 bufSize
);
Parameters
[out] pNameBuf
If the method succeeds, specifies a pointer to a name buf 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() Writes the Name, with a trailing null character, into
the pNameBuf 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 GetNameBufLen()
to determine the required buffer size. Succeeds if all of the
following are true: - the pNameBuf pointer is valid. - bufSize
indicates the buffer is large enough to hold the name. If this
method fails nothing will be written to *pNameBuf. 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 -
pNameBuf arg is NULL. AAFRESULT_SMALLBUF - bufSize indicates
the buffer is too small to hold the string.
pNameBuf: The size of the pNameBuf buffer.
See Also
IAAFTextLocator::GetNameBufLen
The GetNameBufLen method getNameBufLen() Returns the length of buffer required for the GetName() method.
Syntax
HRESULT GetNameBufLen(
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
GetNameBufLen() Returns the length of buffer required for the
GetName() 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: required buffer length.
See Also
IAAFTextLocator::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 IAAFTextLocator ************************
The IAAFTextLocator interface is implemented by objects which
provide information to help find a file containing essence data
in a descriptive way for files that are held off-line. 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. 5-11d2-bf9d-00104bc9156d Initialize() Initializes
a newly allocated, empty IAAFNetworkLocator-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
IAAFTextLocator::SetName
The SetName method setName() Set the Name property to the value specified in pNameBuf.
Syntax
HRESULT SetName(
aafCharacter* pNameBuf
);
Parameters
[in] pNameBuf
Pointer to a name buf object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetName() Set the Name property to the value specified in pNameBuf.
A copy is made of the data so the caller retains ownership of
the *pNameBuf buffer and is responsible for de-allocating it.
Succeeds if all of the following are true: - the pNameBuf 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
- pNameBuf arg is NULL.
pNameBuf: the new Name.
See Also
IAAFTIFFDescriptor Interface
In addition to the methods inherited from IUnknown, the IAAFTIFFDescriptor interface exposes the following methods.
GetIsContiguous
GetIsUniform
GetJPEGTableID
GetLeadingLines
GetSummary
GetSummaryBufferSize
GetTrailingLines
SetIsContiguous
SetIsUniform
SetJPEGTableID
SetLeadingLines
SetSummary
SetTrailingLines
The AAFTIFFDescriptor object implements the IAAFTIFFDescriptor interface and also implements the following:
IAAFTIFFDescriptor::GetIsContiguous
The GetIsContiguous method getIsContiguous() // Places TRUE into *pIsContiguous if essence data is stored in contiguous bytes.
Syntax
HRESULT GetIsContiguous(
aafBool* pIsContiguous
);
Parameters
[out] pIsContiguous
If the method succeeds, specifies a pointer to an is contiguous object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetIsContiguous() // Places TRUE into *pIsContiguous if essence
data is stored in contiguous bytes. Succeeds if all of the following
are true: - the pIsContiguous pointer is valid. If this method
fails nothing will be written to *pIsContiguous. 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 -
pIsContiguous arg is NULL.
pIsContiguous: is this data stored in contiguous bytes.
See Also
IAAFTIFFDescriptor::GetIsUniform
The GetIsUniform method getIsUniform() // Places TRUE into *pIsUniform if the data has the same number of rows per strip throughout.
Syntax
HRESULT GetIsUniform(
aafBool* pIsUniform
);
Parameters
[out] pIsUniform
If the method succeeds, specifies a pointer to an is uniform object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetIsUniform() // Places TRUE into *pIsUniform if the data has
the same number of rows per strip throughout. Succeeds if all
of the following are true: - the pIsUniform pointer is valid.
If this method fails nothing will be written to *pIsUniform.
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
- pIsUniform arg is NULL.
pIsUniform: Gets the IsUniform flag value.
See Also
IAAFTIFFDescriptor::GetJPEGTableID
The GetJPEGTableID method getJPEGTableID() Gets the JPEG table code of the TIFF image.
Syntax
HRESULT GetJPEGTableID(
aafJPEGTableID_t* pJPEGTableID
);
Parameters
[out] pJPEGTableID
If the method succeeds, specifies a pointer to a JPEGTableID object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetJPEGTableID() Gets the JPEG table code of the TIFF image.
This method succeeds if all of the following are true: - the
pJPEGTableID pointer is valid. If this method fails nothing will
be written to *pJPEGTableID. 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 - pJPEGTableID
arg is NULL.
pJPEGTableID: Address to store the nJPEG table code.
See Also
IAAFTIFFDescriptor::GetLeadingLines
The GetLeadingLines method getLeadingLines() Gets the leading lines of the TIFF image.
Syntax
HRESULT GetLeadingLines(
aafInt32* pLeadingLines
);
Parameters
[out] pLeadingLines
If the method succeeds, specifies a pointer to a leading lines object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetLeadingLines() Gets the leading lines of the TIFF image. This
method succeeds if all of the following are true: - the pLeadingLines
pointer is valid. If this method fails nothing will be written
to *pLeadingLines. 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
- pLeadingLines arg is NULL.
pLeadingLines: Address to store the number of leading lines.
See Also
IAAFTIFFDescriptor::GetSummary
The GetSummary method getSummary() Gets a copy of the TIFF IFD 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 TIFF IFD 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 TIFF IFD 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 WAVE file information.
size: Preallocated buffer to hold the TIFF IFD file information.
See Also
IAAFTIFFDescriptor::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
IAAFTIFFDescriptor::GetTrailingLines
The GetTrailingLines method getTrailingLines() Gets the trailing lines of the TIFF image.
Syntax
HRESULT GetTrailingLines(
aafInt32* pTrailingLines
);
Parameters
[out] pTrailingLines
If the method succeeds, specifies a pointer to a trailing lines object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetTrailingLines() Gets the trailing lines of the TIFF image.
This method succeeds if all of the following are true: - the
pTrailingLines pointer is valid. If this method fails nothing
will be written to *pTrailingLines. 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
- pTrailingLines arg is NULL.
pTrailingLines: Address to store the number of trailing lines..
See Also
IAAFTIFFDescriptor::SetIsContiguous
The SetIsContiguous method setIsContiguous() // Set to TRUE if essence data is stored in contiguous bytes.
Syntax
HRESULT SetIsContiguous(
aafBool IsContiguous
);
Parameters
[in] IsContiguous
Specifies is contiguous.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetIsContiguous() // Set to TRUE if essence data is stored in
contiguous bytes. 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.)
IsContiguous: is data stores in contiguous bytes .
See Also
IAAFTIFFDescriptor::SetIsUniform
The SetIsUniform method ************************ Interface IAAFTIFFDescriptor ************************ The IAAFTIFFDescriptor interface is implemented by objects which describe TIFF format media.
Syntax
HRESULT SetIsUniform(
aafBool IsUniform
);
Parameters
[in] IsUniform
Specifies is uniform.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTIFFDescriptor ************************
The IAAFTIFFDescriptor interface is implemented by objects which
describe TIFF format media. A TIFFDescriptor 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. 5-11d2-bf9d-00104bc9156d SetIsUniform()
// Set to TRUE if essence data has the same number of rows per
strip throughout. 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.)
IsUniform: Sets the IsUniform flag value.
See Also
IAAFTIFFDescriptor::SetJPEGTableID
The SetJPEGTableID method setJPEGTableID() Sets the JPEG table code for the TIFF image file This method always succeeds .
Syntax
HRESULT SetJPEGTableID(
aafJPEGTableID_t JPEGTableID
);
Parameters
[in] JPEGTableID
Specifies JPEGTableID.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetJPEGTableID() Sets the JPEG table code for the TIFF image
file This method 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.)
JPEGTableID: Registered JPEG table code or JT_NULL..
See Also
IAAFTIFFDescriptor::SetLeadingLines
The SetLeadingLines method setLeadingLines() Sets the number of leading lines in the TIFF image file This method succeeds if all of the following are true: - LeadingLines is equal or greater than 0(zero).
Syntax
HRESULT SetLeadingLines(
aafInt32 LeadingLines
);
Parameters
[in] LeadingLines
Specifies leading lines.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetLeadingLines() Sets the number of leading lines in the TIFF
image file This method succeeds if all of the following are true:
- LeadingLines is equal or greater than 0(zero). 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.
LeadingLines: Number of leading lines to be thrown away Optional.
See Also
IAAFTIFFDescriptor::SetSummary
The SetSummary method setSummary() Sets the TIFF IFD 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 TIFF IFD 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
IAAFTIFFDescriptor::SetTrailingLines
The SetTrailingLines method setTrailingLines() Sets the number of trailing lines in the TIFF image file This method succeeds if all of the following are true: - TrailingLines is equal or greater than 0(zero).
Syntax
HRESULT SetTrailingLines(
aafInt32 TrailingLines
);
Parameters
[in] TrailingLines
Specifies trailing lines.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetTrailingLines() Sets the number of trailing lines in the TIFF
image file This method succeeds if all of the following are true:
- TrailingLines is equal or greater than 0(zero). 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.
TrailingLines: Number of trailing lines to be thrown away Optional..
See Also
IAAFTimecode Interface
In addition to the methods inherited from IUnknown, the IAAFTimecode interface exposes the following methods.
GetTimecode
Initialize
SetTimecode
The AAFTimecode object implements the IAAFTimecode interface and also implements the following:
IAAFTimecode::GetTimecode
The GetTimecode method getTimecode() Get the timecode fields.
Syntax
HRESULT GetTimecode(
aafTimecode_t* pTimecode
);
Parameters
[out] pTimecode
If the method succeeds, specifies a pointer to a timecode object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetTimecode() Get the timecode fields. Succeeds if all of the
following are true: - the pTimecode pointer is valid. If this
method fails nothing will be written to *pTimecode. 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
- pTimecode arg is NULL.
pTimecode: Timecode (startFrame, drop, fps).
See Also
IAAFTimecode::Initialize
The Initialize method ************************ Interface IAAFTimecode ************************ The IAAFTimecode interface is implemented by objects which store videotape or audio tape timecode information.
Syntax
HRESULT Initialize(
aafLength_t length,
aafTimecode_t* pTimecode
);
Parameters
[in] length
Specifies length.
[in] pTimecode
Pointer to a timecode object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTimecode ************************
The IAAFTimecode interface is implemented by objects which store
videotape or audio tape timecode information. 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. B-11d2-BF7E-00104BC9156D Initialize()
Initializes this object with the given length and timecode 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 pTimecode 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
- pTimecode argument is NULL.
length: Timecode Value (startFrame, drop, fps).
See Also
IAAFTimecode::SetTimecode
The SetTimecode method setTimecode() Set the timecode fields.
Syntax
HRESULT SetTimecode(
aafTimecode_t* timecode
);
Parameters
[in] timecode
Specifies timecode.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetTimecode() Set the timecode fields. Succeeds if all of the
following are true: - the pTimecode 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_NOT_INITIALIZED - Initialize()
has already been called on this object. AAFRESULT_NULL_PARAM
- pTimecode arg is NULL.
timecode: Timecode (startFrame, drop, fps).
See Also
IAAFTimecodeStream Interface
In addition to the methods inherited from IUnknown, the IAAFTimecodeStream interface exposes the following methods.
GetPositionTimecode
GetSampleRate
GetSampleSize
GetSource
GetSourceBufLen
GetSourceType
GetUserDataAtPosition
GetUserDataLength
SetPositionTimecode
SetSampleRate
SetSource
SetSourceType
SetUserDataAtPosition
The AAFTimecodeStream object implements the IAAFTimecodeStream interface and also implements the following:
IAAFTimecodeStream::GetPositionTimecode
The GetPositionTimecode method ************************ Interface IAAFTimecodeStream ************************ Objects which support IAAFTimecodeStream specify a stream of timecode data.
Syntax
HRESULT GetPositionTimecode(
aafPosition_t position,
aafTimecode_t* timecode
);
Parameters
[in] position
Specifies position.
[out] timecode
Specifies timecode.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTimecodeStream ************************
Objects which support IAAFTimecodeStream specify a stream of
timecode data. 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 IAAFSearchSource 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.
9-11d2-8043-006008143E6F GetPositionTimecode() Get the timecode
fields at the given position.
position: Timecode [startFrame drop fps].
See Also
IAAFTimecodeStream::GetSampleRate
The GetSampleRate method getSampleRate() Gets the sample rate of the timecode data.
Syntax
HRESULT GetSampleRate(
aafRational_t* pSampleRate
);
Parameters
[out] pSampleRate
If the method succeeds, specifies a pointer to a sample rate object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSampleRate() Gets the sample rate of the timecode data.
pSampleRate: The sample rate of the timecode data.
See Also
IAAFTimecodeStream::GetSampleSize
The GetSampleSize method getSampleSize() Gets the size (in samples) of one sample of the timecode data.
Syntax
HRESULT GetSampleSize(
aafUInt32* pSampleSize
);
Parameters
[out] pSampleSize
If the method succeeds, specifies a pointer to a sample size object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSampleSize() Gets the size (in samples) of one sample of the
timecode data.
pSampleSize: The size (in bytes) of one sample of the timecode
data.
See Also
IAAFTimecodeStream::GetSource
The GetSource method /****/ GetSource() Writes the entire timecode data value into the pValue buffer.
Syntax
HRESULT GetSource(
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
/****/ GetSource() Writes the entire timecode data 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
IAAFTimecodeStream::GetSourceBufLen
The GetSourceBufLen method getSourceBufLen() Returns the length of buffer required for the GetValue() method.
Syntax
HRESULT GetSourceBufLen(
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
GetSourceBufLen() 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
IAAFTimecodeStream::GetSourceType
The GetSourceType method getSourceType() Gets the type (LTC or VITC) of the timecode data.
Syntax
HRESULT GetSourceType(
aafTimecodeSourceType_t* pSourceType
);
Parameters
[out] pSourceType
If the method succeeds, specifies a pointer to a source type object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSourceType() Gets the type (LTC or VITC) of the timecode data.
pSourceType: The type (LTC or VITC) of the timecode data.
See Also
IAAFTimecodeStream::GetUserDataAtPosition
The GetUserDataAtPosition method getUserDataAtPosition() Gets the user data [userbits] for a particular frame.
Syntax
HRESULT GetUserDataAtPosition(
aafPosition_t position,
aafInt32 buflen,
aafDataBuffer_t buffer
);
Parameters
[in] position
Specifies position.
[in] buflen
Specifies buflen.
[out] buffer
Specifies buffer.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetUserDataAtPosition() Gets the user data [userbits] for a particular
frame.
position: Length of the buffer.
buflen: Passed in and filled with user data.
See Also
IAAFTimecodeStream::GetUserDataLength
The GetUserDataLength method getUserDataLength() Gets the length of the user data for one frame.
Syntax
HRESULT GetUserDataLength(
aafInt32* length
);
Parameters
[out] length
Specifies length.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetUserDataLength() Gets the length of the user data for one
frame.
length: Fixed length of the user data [userbits] in bytes.
See Also
IAAFTimecodeStream::SetPositionTimecode
The SetPositionTimecode method setPositionTimecode() Set the timecode fields for a given frame.
Syntax
HRESULT SetPositionTimecode(
aafPosition_t position,
aafTimecode_t timecode
);
Parameters
[in] position
Specifies position.
[in] timecode
Specifies timecode.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetPositionTimecode() Set the timecode fields for a given frame.
The frame index must within the length of the object.
position: Timecode [startFrame drop fps].
See Also
IAAFTimecodeStream::SetSampleRate
The SetSampleRate method setSampleRate() Sets the sample rate of the timecode data.
Syntax
HRESULT SetSampleRate(
aafRational_t sampleRate
);
Parameters
[in] sampleRate
Specifies samplerate.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSampleRate() Sets the sample rate of the timecode data.
sampleRate: The sample rate of the timecode data.
See Also
IAAFTimecodeStream::SetSource
The SetSource method /****/ SetSource() The data value is set from a buffer of size valueSize.
Syntax
HRESULT SetSource(
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
/****/ SetSource() 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
IAAFTimecodeStream::SetSourceType
The SetSourceType method setSourceType() Sets the type (LTC or VITC) of the timecode data.
Syntax
HRESULT SetSourceType(
aafTimecodeSourceType_t sourceType
);
Parameters
[in] sourceType
Specifies sourcetype.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSourceType() Sets the type (LTC or VITC) of the timecode data.
sourceType: The type (LTC or VITC) of the timecode data.
See Also
IAAFTimecodeStream::SetUserDataAtPosition
The SetUserDataAtPosition method setUserDataAtPosition() Gets the user data [userbits] for a particular frame.
Syntax
HRESULT SetUserDataAtPosition(
aafPosition_t position,
aafInt32 buflen,
aafDataBuffer_t buffer
);
Parameters
[in] position
Specifies position.
[in] buflen
Specifies buflen.
[in] buffer
Specifies buffer.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetUserDataAtPosition() Gets the user data [userbits] for a particular
frame.
position: Length of the buffer.
buflen: user data for the given frame.
See Also
IAAFTimelineMobSlot Interface
In addition to the methods inherited from IUnknown, the IAAFTimelineMobSlot interface exposes the following methods.
GetEditRate
GetOrigin
Initialize
SetEditRate
SetOrigin
The AAFTimelineMobSlot object implements the IAAFTimelineMobSlot interface and also implements the following:
IAAFTimelineMobSlot::GetEditRate
The GetEditRate method getEditRate() This method will get the edit rate for this mob slot.
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 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
IAAFTimelineMobSlot::GetOrigin
The GetOrigin method getOrigin() This method will return the origin of this mob slot.
Syntax
HRESULT GetOrigin(
aafPosition_t* pOrigin
);
Parameters
[out] pOrigin
If the method succeeds, specifies a pointer to an origin object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetOrigin() This method will return the origin of this mob slot.
Succeeds if all of the following are true: - the pOrigin 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
- pOrigin arg is NULL.
pOrigin: Origin property value.
See Also
IAAFTimelineMobSlot::Initialize
The Initialize method ************************ Interface IAAFTimelineMobSlot ************************ The IAAFTimelineMobSlot interface is implemented by objects which contain time-varying timeline essence.
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 IAAFTimelineMobSlot ************************
The IAAFTimelineMobSlot interface is implemented by objects which
contain time-varying timeline essence. 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.
Types required by this module: aafBool aafRational_t aafPosition_t
aafTrackID_t D-11D2-BF78-00104BC9156D Initialize() Initializes
a newly allocated, empty IAAFTimelineMobSlot-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
IAAFTimelineMobSlot::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
IAAFTimelineMobSlot::SetOrigin
The SetOrigin method setOrigin() This method will set the origin of this mob slot.
Syntax
HRESULT SetOrigin(
aafPosition_t origin
);
Parameters
[in] origin
Specifies origin.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetOrigin() This method will set the origin of this mob slot.
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.
origin: Origin property value.
See Also
IAAFTransition Interface
In addition to the methods inherited from IUnknown, the IAAFTransition interface exposes the following methods.
Create
GetCutPoint
GetOperationGroup
SetCutPoint
SetOperationGroup
The AAFTransition object implements the IAAFTransition interface and also implements the following:
IAAFTransition::Create
The Create method ************************ Interface IAAFTransition ************************ The IAAFTransition interface is implemented by objects describe a change or transition from one piece of essence to another.
Syntax
HRESULT Create(
aafUID_t* pDatadef,
aafLength_t length,
aafPosition_t cutPoint,
IAAFOperationGroup* op
);
Parameters
[in] pDatadef
Pointer to a datadef object.
[in] length
Specifies length.
[in] cutPoint
Specifies cutpoint.
[in] op
Specifies op.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTransition ************************
The IAAFTransition interface is implemented by objects describe
a change or transition from one piece of essence to another.
Transitions must exist in the context of a sequence, and must
be surrounded on both sides by segments (an object which has
an IAAFSegment interface). 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
IAAFMob 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-8043-006008143E6F
Create() Constructor which allows specification of starting values.
pDatadef: Length property value.
length: The point at which a cut would be inserted if the transition
were removed.
cutPoint: A reference to an operation group object.
See Also
IAAFTransition::GetCutPoint
The GetCutPoint method getCutPoint() Gets the point at which a cut would be inserted if the transition were removed.
Syntax
HRESULT GetCutPoint(
aafPosition_t* cutPoint
);
Parameters
[out] cutPoint
Specifies cutpoint.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCutPoint() Gets the point at which a cut would be inserted
if the transition were removed.
cutPoint: Cut Point.
See Also
IAAFTransition::GetOperationGroup
The GetOperationGroup method getOperationGroup() Gets the OperationGroup associated with the transition.
Syntax
HRESULT GetOperationGroup(
IAAFOperationGroup** groupObj
);
Parameters
[out] groupObj
Specifies groupobj.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetOperationGroup() Gets the OperationGroup associated with the
transition.
groupObj: OperationGroup used by transition.
See Also
IAAFTransition::SetCutPoint
The SetCutPoint method setCutPoint() Sets the point at which a cut would be inserted if the transition were removed.
Syntax
HRESULT SetCutPoint(
aafPosition_t cutPoint
);
Parameters
[in] cutPoint
Specifies cutpoint.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetCutPoint() Sets the point at which a cut would be inserted
if the transition were removed.
cutPoint: Cut Point.
See Also
IAAFTransition::SetOperationGroup
The SetOperationGroup method setOperationGroup() Sets the operation group associated with the transition.
Syntax
HRESULT SetOperationGroup(
IAAFOperationGroup* opgroup
);
Parameters
[in] opgroup
Specifies opgroup.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetOperationGroup() Sets the operation group associated with
the transition.
opgroup: Operation group used by transition.
See Also
IAAFTypeDef Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDef interface exposes the following methods.
GetMaxVersion
GetMinVersion
GetSwapNeeded
GetTypeCategory
RawAccessType
SetMaxVersion
SetMinVersion
SetSwapNeeded
The AAFTypeDef object implements the IAAFTypeDef interface and also implements the following:
IAAFTypeDef::GetMaxVersion
The GetMaxVersion method getMaxVersion() Gets the Maximum AAF Version for this type object.
Syntax
HRESULT GetMaxVersion(
aafVersionType_t* pMaxVersion
);
Parameters
[out] pMaxVersion
If the method succeeds, specifies a pointer to a max version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetMaxVersion() Gets the Maximum AAF Version for this type object.
NOTE Stub only. Implementation not yet added. Succeeds if: -
This object has already been Initialize()d. - The pMaxVersion
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
- pMaxVersion arg is NULL.
pMaxVersion: Pointer to the maximum version .
See Also
IAAFTypeDef::GetMinVersion
The GetMinVersion method getMinVersion() Gets the Minimum AAF Version for this type object.
Syntax
HRESULT GetMinVersion(
aafVersionType_t* pMinVersion
);
Parameters
[out] pMinVersion
If the method succeeds, specifies a pointer to a min version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetMinVersion() Gets the Minimum AAF Version for this type object.
NOTE Stub only. Implementation not yet added. Succeeds if: -
This object has already been Initialize()d. - The pMinVersion
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: 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 -
pMinVersion arg is NULL.
pMinVersion: Pointer to the minimum version .
See Also
IAAFTypeDef::GetSwapNeeded
The GetSwapNeeded method getSwapNeeded() Gets the swap information for this object.
Syntax
HRESULT GetSwapNeeded(
aafSwapNeeded_t* pSwapNeeded
);
Parameters
[out] pSwapNeeded
If the method succeeds, specifies a pointer to a swap needed object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetSwapNeeded() Gets the swap information for this object. Sets
*pSwapNeeded to true if swap is needed; sets it to false otherwise.
NOTE Stub only. Implementation not yet added. Succeeds if: -
This object has already been Initialize()d. - The pSwapNeeded
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
- pSwapNeeded arg is NULL.
pSwapNeeded: Specifies whether the bytes in this type need to
be swapped.
See Also
IAAFTypeDef::GetTypeCategory
The GetTypeCategory method ************************ Interface IAAFTypeDef ************************ This interface is used to define types used in AAF persistent objects.
Syntax
HRESULT GetTypeCategory(
eAAFTypeCategory_t* pTid
);
Parameters
[out] pTid
If the method succeeds, specifies a pointer to a tid object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDef ************************
This interface is 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 GetTypeCategory() Returns the type category
to which this type definitionbelongs. Succeeds if: - The pTid
argument 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
- pTid arg is NULL.
pTid: Returned type category.
See Also
IAAFTypeDef::RawAccessType
The RawAccessType method rawAccessType() This method returns the type def through which values of this type may be accessed if the client wishes to access the value as as raw data.
Syntax
HRESULT RawAccessType(
IAAFTypeDef** ppRawTypeDef
);
Parameters
[out] ppRawTypeDef
If the method succeeds, specifies a pointer to a variable containing a pointer to a raw type def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RawAccessType() This method returns the type def through which
values of this type may be accessed if the client wishes to access
the value as as raw data. NOTE Stub only. Implementation not
yet added. Succeeds if: - The ppRawTYPEDEF argument 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
- ppRawTypeDef arg is NULL.
ppRawTypeDef: the raw access type definition.
See Also
IAAFTypeDef::SetMaxVersion
The SetMaxVersion method setMaxVersion() Sets the Maximum AAF Version for type definition.
Syntax
HRESULT SetMaxVersion(
aafVersionType_t MaxVersion
);
Parameters
[in] MaxVersion
Specifies max version.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetMaxVersion() Sets the Maximum AAF Version for type definition.
NOTE Stub only. Implementation not yet added. Succeeds if: -
This object has already been Initialize()d. - The pMaxVersion
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
- pMaxVersion arg is NULL.
MaxVersion: Maximum AAF Version.
See Also
IAAFTypeDef::SetMinVersion
The SetMinVersion method setMinVersion() Sets the Minimum AAF Version for type definition.
Syntax
HRESULT SetMinVersion(
aafVersionType_t* pMinVersion
);
Parameters
[in] pMinVersion
Pointer to a min version object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetMinVersion() Sets the Minimum AAF Version for type definition.
NOTE Stub only. Implementation not yet added. Succeeds if: -
This object has already been Initialize()d. - The pMinVersion
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: 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 -
pMinVersion arg is NULL.
pMinVersion: Minimum AAF Version.
See Also
IAAFTypeDef::SetSwapNeeded
The SetSwapNeeded method setSwapNeeded() Sets the swap information for this object.
Syntax
HRESULT SetSwapNeeded(
aafSwapNeeded_t SwapNeeded
);
Parameters
[in] SwapNeeded
Specifies swap needed.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetSwapNeeded() Sets the swap information for this object. If
SwapNeeded is true, indicates swap is needed; otherwise indicates
swap is not needed. NOTE Stub only. Implementation not yet added.
Succeeds if: - This object has already been Initialize()d. 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.)
SwapNeeded: Specifies wheter the bytes in this type need to be
swapped.
See Also
IAAFTypeDefEnum Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefEnum interface exposes the following methods.
CountElements
GetElementType
GetElementValue
GetIntegerValue
GetNameBufLenFromInteger
GetNameBufLenFromValue
GetNameFromInteger
GetNameFromValue
Initialize
SetIntegerValue
The AAFTypeDefEnum object implements the IAAFTypeDefEnum interface and also implements the following:
IAAFTypeDefEnum::CountElements
The CountElements method countElements() Returns number of enumeration elements contained.
Syntax
HRESULT CountElements(
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
CountElements() Returns number of enumeration elements contained.
Succeeds if: - Initialize() has already been called on this object.
- pCount is a valid pointer. 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 - pCount
arg is NULL.
pCount: count of elements within this enumeration.
See Also
IAAFTypeDefEnum::GetElementType
The GetElementType method getElementType() Returns the type definition of the values which are found in this enumeration.
Syntax
HRESULT GetElementType(
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
GetElementType() Returns the type definition of the values which
are found in this enumeration. Succeeds if: - Initialize() has
already been called on this object. - The ppTypeDef 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
- ppTypeDef arg is NULL.
ppTypeDef: type definition of values of this enumeration.
See Also
IAAFTypeDefEnum::GetElementValue
The GetElementValue method getElementValue() Gets the indexed element in this enumerated type.
Syntax
HRESULT GetElementValue(
aafUInt32 index,
aafInt64* pOutValue
);
Parameters
[in] index
Specifies index.
[out] pOutValue
If the method succeeds, specifies a pointer to an out value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetElementValue() Gets the indexed element in this enumerated
type. The value is written into the client-allocated *pOutValue.
Index must be less than the value returned by CountElements().
Succeeds if: - pOutValue is a valid pointer. - index is less
than CountElements(). 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
- pOutValue arg is NULL. AAFRESULT_BADINDEX - index is not less
than CountElements().
index: requested value.
See Also
IAAFTypeDefEnum::GetIntegerValue
The GetIntegerValue method getIntegerValue() Gets the value from the given property value and writes it as an integer into *pValueOut.
Syntax
HRESULT GetIntegerValue(
IAAFPropertyValue* pPropValIn,
aafInt64* pValueOut
);
Parameters
[in] pPropValIn
Pointer to a prop val in object.
[out] pValueOut
If the method succeeds, specifies a pointer to a value out object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetIntegerValue() Gets the value from the given property value
and writes it as an integer into *pValueOut. Succeeds if: - The
pPropValIn pointer is valid. - The pValueOut 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
- Either pPropValIn or ppPropValOut arg is NULL.
pPropValIn: value of the enum represented by the given input
property value.
See Also
IAAFTypeDefEnum::GetNameBufLenFromInteger
The GetNameBufLenFromInteger method getNameBufLenFromInteger() Returns the length of buffer required for the GetNameFromInteger() method, in bytes.
Syntax
HRESULT GetNameBufLenFromInteger(
aafInt64 value,
aafUInt32* pLen
);
Parameters
[in] value
Specifies value.
[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
GetNameBufLenFromInteger() Returns the length of buffer required
for the GetNameFromInteger() method, in bytes. 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. - the value
is associated with an element of this enumerated type. 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. AAFRESULT_ILLEGAL_VALUE - the given value is not associated
with an element of this type.
value: required buffer length, in bytes.
See Also
IAAFTypeDefEnum::GetNameBufLenFromValue
The GetNameBufLenFromValue method getNameBufLenFromValue() Returns the length of buffer required for the GetNameFromValue() method, in bytes.
Syntax
HRESULT GetNameBufLenFromValue(
IAAFPropertyValue* pValue,
aafUInt32* pLen
);
Parameters
[in] pValue
Pointer to a value object.
[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
GetNameBufLenFromValue() Returns the length of buffer required
for the GetNameFromValue() method, in bytes. 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 pValue pointer is valid. - the
pLen pointer is valid. - the value is associated with an element
of this enumerated type. 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
- either pValue or pLen arg is NULL. AAFRESULT_BAD_PARAM - the
given value is not associated with an element of this type.
pValue: required buffer length, in bytes.
See Also
IAAFTypeDefEnum::GetNameFromInteger
The GetNameFromInteger method getNameFromInteger() Writes the human-legible tag associated with the given value in this enumerated type.
Syntax
HRESULT GetNameFromInteger(
aafInt64 value,
aafCharacter* pName,
aafUInt32 bufSize
);
Parameters
[in] value
Specifies value.
[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
GetNameFromInteger() Writes the human-legible tag associated
with the given value in this enumerated type. The name is written,
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. Caller may call GetNameBufLenFromInteger() 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. - the integer value is associated
with an element of this enumerated type. 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. AAFRESULT_ILLEGAL_VALUE - the given
value is not associated with an element of this type.
value: buffer into which the element name is written.
pName: The size of the pName buffer, in bytes.
See Also
IAAFTypeDefEnum::GetNameFromValue
The GetNameFromValue method getNameFromValue() Writes the human-legible tag associated with the given value in this enumerated type.
Syntax
HRESULT GetNameFromValue(
IAAFPropertyValue* pValue,
aafCharacter* pName,
aafUInt32 bufSize
);
Parameters
[in] pValue
Pointer to a value object.
[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
GetNameFromValue() Writes the human-legible tag associated with
the given value in this enumerated type. The name is written,
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. Caller may call GetNameBufLenFromValue() to determine
the required buffer size. Succeeds if all of the following are
true: - the pValue pointer is valid. - the pName pointer is valid.
- bufSize indicates the buffer is large enough to hold the name.
- the integer value is associated with an element of this enumerated
type. 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
- either pValue or pName arg is NULL. AAFRESULT_SMALLBUF - bufSize
indicates the buffer is too small to hold the string. AAFRESULT_BAD_PARAM
- the given value is not associated with an element of this type.
pValue: buffer into which the element name is written.
pName: The size of the pName buffer, in bytes.
See Also
IAAFTypeDefEnum::Initialize
The Initialize method ************************ Interface IAAFTypeDefEnum ************************ This interface is used to define enumerated types used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
IAAFTypeDef* pType,
aafInt64* pElementValues,
aafString_t* pElementNames,
aafUInt32 numElems,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] pType
Pointer to a type object.
[in] pElementValues
Pointer to an element values object.
[in] pElementNames
Pointer to an element names object.
[in] numElems
Specifies numelems.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefEnum ************************
This interface is used to define enumerated types used in AAF
persistent objects. Enumerated types are assumed to be based
on integers of no larger than 64 bits. 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 * 2-11d2-8429-00600832acb8
Initialize() Initializes this type def to be identified by the
given guid, to be implemented as the given data type, and to
contain the given elements (names and values). The given data
type must be an integral type. It is considered an error if multiple
elements have the same name or the same value. The values and
names are given in parallel arrays, each of which has numElements
elements. 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. - pID is a valid pointer.
- pType is a valid pointer. - pElementValues is a valid pointer.
- pElementNames is a valid pointer. - pTypeName is a valid pointer.
- base type is integral type. - no duplicate names or values
are found. 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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- any pointer argument arg is NULL. AAFRESULT_DUPLICATE - duplicate
name or value is found. AAFRESULT_BAD_TYPE - base type is not
integral type.
pID: Type of values in this enumeration.
pType: type.
pElementValues: type.
pElementNames: number of members in pElementValues and pElementNames
arrays.
See Also
IAAFTypeDefEnum::SetIntegerValue
The SetIntegerValue method setIntegerValue() Sets the given property to the value given in pValueIn.
Syntax
HRESULT SetIntegerValue(
IAAFPropertyValue* pPropValToSet,
aafInt64 valueIn
);
Parameters
[in] pPropValToSet
Pointer to a prop val to set object.
[in] valueIn
Specifies valuein.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetIntegerValue() Sets the given property to the value given
in pValueIn. Succeeds if: - The pPropValToSet pointer is valid.
- valueIn is a correct value for this enumerated type. 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
- pPropValToSet arg is NULL. AAFRESULT_ILLEGAL_VALUE - valueIn
is not a correct value for this enumerated type. - pPropValIn's
type doesn't match GetElementType()
pPropValToSet: new value of the enum represented by the given
property value.
See Also
IAAFTypeDefExtEnum Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefExtEnum interface exposes the following methods.
AppendElement
CountElements
GetAUIDValue
GetElementValue
GetNameBufLenFromAUID
GetNameBufLenFromValue
GetNameFromAUID
GetNameFromValue
Initialize
SetAUIDValue
The AAFTypeDefExtEnum object implements the IAAFTypeDefExtEnum interface and also implements the following:
IAAFTypeDefExtEnum::AppendElement
The AppendElement method appendElement() Appends a new element to this extendible enumeration.
Syntax
HRESULT AppendElement(
aafUID_t* pValue,
aafCharacter* pName
);
Parameters
[in] pValue
Pointer to a value object.
[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
AppendElement() Appends a new element to this extendible enumeration.
The element will have the given name and value. It is not legal
to have elements with duplicate names or values. Succeeds if:
- The pValue pointer is valid. - 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_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- Either pValue or pName arg is NULL. AAFRESULT_DUPLICATE - duplicate
name or value is found.
pValue: name of appended element.
See Also
IAAFTypeDefExtEnum::CountElements
The CountElements method countElements() Returns number of enumeration elements contained.
Syntax
HRESULT CountElements(
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
CountElements() Returns number of enumeration elements contained.
Succeeds if: - Initialize() has already been called on this object.
- pCount is a valid pointer. 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 - pCount
arg is NULL.
pCount: count of elements within this enumeration.
See Also
IAAFTypeDefExtEnum::GetAUIDValue
The GetAUIDValue method getAUIDValue() Gets the value from the given property value and writes it as an AUID into *pValueOut.
Syntax
HRESULT GetAUIDValue(
IAAFPropertyValue* pPropValIn,
aafUID_t* pValueOut
);
Parameters
[in] pPropValIn
Pointer to a prop val in object.
[out] pValueOut
If the method succeeds, specifies a pointer to a value out object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetAUIDValue() Gets the value from the given property value and
writes it as an AUID into *pValueOut. Succeeds if: - The pPropValIn
pointer is valid. - The pValueOut 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
- Either pPropValIn or ppPropValOut arg is NULL.
pPropValIn: value of the enum represented by the given input
property value.
See Also
IAAFTypeDefExtEnum::GetElementValue
The GetElementValue method getElementValue() Gets the indexed element in this enumerated type.
Syntax
HRESULT GetElementValue(
aafUInt32 index,
aafUID_t* pOutValue
);
Parameters
[in] index
Specifies index.
[out] pOutValue
If the method succeeds, specifies a pointer to an out value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetElementValue() Gets the indexed element in this enumerated
type. The value is written into the client-allocated *pOutValue.
Index must be less than the value returned by CountElements().
Succeeds if: - pOutValue is a valid pointer. - index is less
than CountElements(). 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
- pOutValue arg is NULL. AAFRESULT_BADINDEX - index is not less
than CountElements().
index: requested value.
See Also
IAAFTypeDefExtEnum::GetNameBufLenFromAUID
The GetNameBufLenFromAUID method getNameBufLenFromAUID() Returns the length of buffer required for the GetNameFromInteger() method, in bytes.
Syntax
HRESULT GetNameBufLenFromAUID(
aafUID_t* pValue,
aafUInt32* pLen
);
Parameters
[in] pValue
Pointer to a value object.
[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
GetNameBufLenFromAUID() Returns the length of buffer required
for the GetNameFromInteger() method, in bytes. 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 pValue pointer is valid. - the
pLen pointer is valid. - the value is associated with an element
of this enumerated type. 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
- Either pValue or pLen arg is NULL. AAFRESULT_BAD_PARAM - the
given value is not associated with an element of this type.
pValue: required buffer length, in bytes.
See Also
IAAFTypeDefExtEnum::GetNameBufLenFromValue
The GetNameBufLenFromValue method getNameBufLenFromValue() Returns the length of buffer required for the GetNameFromValue() method, in bytes.
Syntax
HRESULT GetNameBufLenFromValue(
IAAFPropertyValue* pValue,
aafUInt32* pLen
);
Parameters
[in] pValue
Pointer to a value object.
[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
GetNameBufLenFromValue() Returns the length of buffer required
for the GetNameFromValue() method, in bytes. 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 pValue pointer is valid. - the
pLen pointer is valid. - the value is associated with an element
of this enumerated type. 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
- either pValue or pLen arg is NULL. AAFRESULT_BAD_PARAM - the
given value is not associated with an element of this type.
pValue: required buffer length, in bytes.
See Also
IAAFTypeDefExtEnum::GetNameFromAUID
The GetNameFromAUID method getNameFromAUID() Writes the human-legible tag associated with the given value in this enumerated type.
Syntax
HRESULT GetNameFromAUID(
aafUID_t* pValue,
aafCharacter* pName,
aafUInt32 bufSize
);
Parameters
[in] pValue
Pointer to a value object.
[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
GetNameFromAUID() Writes the human-legible tag associated with
the given value in this enumerated type. The name is written,
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. Caller may call GetNameBufLenFromAUID() to determine
the required buffer size. Succeeds if all of the following are
true: - the pValue pointer is valid. - the pName pointer is valid.
- bufSize indicates the buffer is large enough to hold the name.
- the integer value is associated with an element of this enumerated
type. 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
- Either pValue or pName arg is NULL. AAFRESULT_SMALLBUF - bufSize
indicates the buffer is too small to hold the string. AAFRESULT_BAD_PARAM
- the given value is not associated with an element of this type.
pValue: buffer into which the element name is written.
pName: The size of the pName buffer, in bytes.
See Also
IAAFTypeDefExtEnum::GetNameFromValue
The GetNameFromValue method getNameFromValue() Writes the human-legible tag associated with the given value in this enumerated type.
Syntax
HRESULT GetNameFromValue(
IAAFPropertyValue* pValue,
aafCharacter* pName,
aafUInt32 bufSize
);
Parameters
[in] pValue
Pointer to a value object.
[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
GetNameFromValue() Writes the human-legible tag associated with
the given value in this enumerated type. The name is written,
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. Caller may call GetNameBufLenFromValue() to determine
the required buffer size. Succeeds if all of the following are
true: - the pValue pointer is valid. - the pName pointer is valid.
- bufSize indicates the buffer is large enough to hold the name.
- the integer value is associated with an element of this enumerated
type. 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
- either pValue or pName arg is NULL. AAFRESULT_SMALLBUF - bufSize
indicates the buffer is too small to hold the string. AAFRESULT_BAD_PARAM
- the given value is not associated with an element of this type.
pValue: buffer into which the element name is written.
pName: The size of the pName buffer, in bytes.
See Also
IAAFTypeDefExtEnum::Initialize
The Initialize method ************************ Interface IAAFTypeDefExtEnum ************************ This interface is used to define field-extendible enumerated types used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefExtEnum ************************
This interface is used to define field-extendible enumerated
types used in AAF persistent objects. Enumerated types are assumed
to be based on AUIDs. 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 * 2-11d3-842e-00600832acb8 Initialize()
Initializes this type def to be identified by the given guid.
No element values are initially specified; they must be supplied
later using the AppendElement method. 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.
- pID is a valid pointer. - pTypeName is a valid pointer. 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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- either pID or pTypeName arg is NULL. AAFRESULT_DUPLICATE -
duplicate name or value is found.
pID: friendly name of this type definition.
See Also
IAAFTypeDefExtEnum::SetAUIDValue
The SetAUIDValue method setAUIDValue() Sets the given property to the value given in pValueIn.
Syntax
HRESULT SetAUIDValue(
IAAFPropertyValue* pPropValToSet,
aafUID_t* pValueIn
);
Parameters
[in] pPropValToSet
Pointer to a prop val to set object.
[in] pValueIn
Pointer to a value in object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetAUIDValue() Sets the given property to the value given in
pValueIn. Succeeds if: - The pPropValToSet pointer is valid.
- The pValueIn pointer is valid. - valueIn is a correct value
for this enumerated type. 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 - Either
pPropValToSet or pValueIn arg is NULL. AAFRESULT_BAD_PARAM -
valueIn is not a correct value for this enumerated type. - pPropValIn's
type doesn't match GetElementType()
pPropValToSet: new value of the enum represented by the given
property value.
See Also
IAAFTypeDefFixedArray Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefFixedArray interface exposes the following methods.
CreateValueFromCArray
CreateValueFromValues
GetCArray
GetCount
GetElementValue
GetType
Initialize
SetCArray
SetElementValue
The AAFTypeDefFixedArray object implements the IAAFTypeDefFixedArray interface and also implements the following:
IAAFTypeDefFixedArray::CreateValueFromCArray
The CreateValueFromCArray method createValueFromCArray() Creates a property value which contains a fixed array type.
Syntax
HRESULT CreateValueFromCArray(
aafMemPtr_t pInitData,
aafUInt32 initDataSize,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pInitData
Pointer to an init data object.
[in] initDataSize
Specifies initdata size.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValueFromCArray() Creates a property value which contains
a fixed array type. The array elements in the property value
are initialized from data in a C array which is pointed to by
pInitData. Requires that any structures declared within this
array typedef have had their offsets registered with that type.
Returns the newly-created property value in ppPropVal. Succeeds
if all of the following are true: - the pInitData pointer is
valid. - the ppPropVal pointer is valid. - initDataSize indicates
pInitData is the correct size. - compile-time struct has had
its member offests registered. If this method fails nothing will
be written to *ppPropVal. 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 - either
pInitData or ppPropVal arg is NULL. AAFRESULT_BAD_PARAM - initDataSize
indicates pInitData is of the wrong size. AAFRESULT_NOT_REGISTERED
- any contained struct offsets have not yet been registered for
that typedef.
pInitData: size of data in pInitData, in bytes.
initDataSize: newly created property value.
See Also
IAAFTypeDefFixedArray::CreateValueFromValues
The CreateValueFromValues method createValueFromValues() Creates a property value which contains a fixed array type.
Syntax
HRESULT CreateValueFromValues(
IAAFPropertyValue** ppElementValues,
aafUInt32 numElements,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] ppElementValues
Pointer to a variable containing a pointer to an element values object.
[in] numElements
Specifies numelements.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValueFromValues() Creates a property value which contains
a fixed array type. The array elements in the property value
are initialized to contain the given values, passed in the pElementValues
array. numElements, which indicates the size of the pElementValues
array, must match the value returned by GetCount(). Returns the
newly-created property value in ppPropVal. Succeeds if all of
the following are true: - the pElementValues pointer is valid.
- the ppPropVal pointer is valid. - numElements matches the number
of elements in this array If this method fails nothing will be
written to *ppPropVal. 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 - either
pElementValues or ppPropVal arg is NULL. AAFRESULT_BAD_PARAM
- numElements does not match GetCount().
ppElementValues: size of pElementValues array..
numElements: newly-created property value.
See Also
IAAFTypeDefFixedArray::GetCArray
The GetCArray method getCArray() Copies all the array data contained in the given property value, interpreted as a fixed array of this type, into the C array pointed to by pData.
Syntax
HRESULT GetCArray(
IAAFPropertyValue* pPropVal,
aafMemPtr_t pData,
aafUInt32 dataSize
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[out] pData
If the method succeeds, specifies a pointer to a data object.
[in] dataSize
Specifies datasize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCArray() Copies all the array data contained in the given
property value, interpreted as a fixed array of this type, into
the C array pointed to by pData. Requires that any structures
declared within this array typedef have had their offsets registered
with that type. Succeeds if all of the following are true: -
the pPropVal pointer is valid. - the pData pointer is valid.
- dataSize indicates pData is large enough to hold the data.
- compile-time struct has had its member offests registered.
If this method fails nothing will be written to *ppPropVal. 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
- either pPropVal or pData arg is NULL. AAFRESULT_BAD_PARAM
- dataSize indicates pData is too small. AAFRESULT_NOT_REGISTERED
- struct offsets have not yet been registered for this typedef.
pPropVal: buffer into which C array data should be written.
pData: size of pData buffer in bytes.
See Also
IAAFTypeDefFixedArray::GetCount
The GetCount method getCount() Returns number of elements in this array.
Syntax
HRESULT GetCount(
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
GetCount() Returns number of elements in this array. Succeeds
if: - Initialize() has already been called on this object. -
pCount is a valid pointer. 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 - pCount
arg is NULL.
pCount: count of elements in this array.
See Also
IAAFTypeDefFixedArray::GetElementValue
The GetElementValue method getElementValue() Gets a single property value corresponding to the indexed array element.
Syntax
HRESULT GetElementValue(
IAAFPropertyValue* pInPropVal,
aafUInt32 index,
IAAFPropertyValue** ppOutPropVal
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[in] index
Specifies index.
[out] ppOutPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to an out prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetElementValue() Gets a single property value corresponding
to the indexed array element. Places a property value representing
the array element identified by the index into ppOutPropval.
Index is zero-based, and must be less than the value returned
by GetCount(). Succeeds if: - Initialize() has already been called
on this object. - the index exists in this array type def. -
The pInPropVal pointer is valid. - The ppOutPropVal 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
- Either pInPropVal or ppOutPropVal arg is NULL. AAFRESULT_BAD_PARAM
- The given index is out of range for this array type def.
pInPropVal: zero-based index into elements in this array type.
index: value that is read.
See Also
IAAFTypeDefFixedArray::GetType
The GetType method getType() Returns the type of elements in this array.
Syntax
HRESULT GetType(
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
GetType() Returns the type of elements in this array. Succeeds
if: - Initialize() has already been called on this object. -
ppTypeDef is a valid pointer. 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
arg is NULL.
ppTypeDef: type of elements in this array.
See Also
IAAFTypeDefFixedArray::Initialize
The Initialize method ************************ Interface IAAFTypeDefFixedArray ************************ This interface is used to define fixed-sized Array types used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
IAAFTypeDef* pTypeDef,
aafUInt32 nElements,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] pTypeDef
Pointer to a type def object.
[in] nElements
Integer containing the elements.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefFixedArray ************************
This interface is used to define fixed-sized Array 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.
* Stub only. Implementation not yet added * 7-11d2-841f-00600832acb8
Initialize() Initializes this type def to contain elements of
the given type, and have the given fixed size. 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. - pTypeDef is a valid pointer. 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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- Either pTypeDef or pTypeName arg is NULL.
pID: type of each element to be contained in this array.
pTypeDef: number of elements to be in this array.
nElements: friendly name of this type definition.
See Also
IAAFTypeDefFixedArray::SetCArray
The SetCArray method setCArray() Copies all the array data contained in the C array pointed to by pData into the given property value, interpreting the data as a fixed array of this type.
Syntax
HRESULT SetCArray(
IAAFPropertyValue* pPropVal,
aafMemPtr_t pData,
aafUInt32 dataSize
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[in] pData
Pointer to a data object.
[in] dataSize
Specifies datasize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetCArray() Copies all the array data contained in the C array
pointed to by pData into the given property value, interpreting
the data as a fixed array of this type. Requires that any structures
declared within this typedef have had their offsets registered
with that type. Succeeds if all of the following are true: -
the pPropVal pointer is valid. - the pData pointer is valid.
- dataSize indicates pData contains the correct amount of data.
- any contained compile-time struct has had its member offests
registered. If this method fails nothing will be written to *ppPropVal.
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
- either pPropVal or pData arg is NULL. AAFRESULT_BAD_PARAM
- dataSize indicates pData is not the correct size. AAFRESULT_NOT_REGISTERED
- offsets of any contained struct have not yet been registered.
pPropVal: buffer from which C array data should be read.
pData: size of pData buffer in bytes.
See Also
IAAFTypeDefFixedArray::SetElementValue
The SetElementValue method setElementValue() Sets the value of the single, indicated element of the fixed array contained in pPropVal, to the value contained in pMemberPropVal.
Syntax
HRESULT SetElementValue(
IAAFPropertyValue* pPropVal,
aafUInt32 index,
IAAFPropertyValue* pMemberPropVal
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[in] index
Specifies index.
[in] pMemberPropVal
Pointer to a member prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetElementValue() Sets the value of the single, indicated element
of the fixed array contained in pPropVal, to the value contained
in pMemberPropVal. Index is zero-based, and must be less than
the value returned by GetCount(). Property value must be of the
same type as returned by GetType(). Succeeds if: - Initialize()
has already been called on this object. - the index exists in
this array type def. - The pInPropVal pointer is valid. - The
ppOutPropVal 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 - either
pInPropVal or ppOutPropVal arg is NULL. AAFRESULT_BAD_PARAM
- The given index is out of range for this array type def.
pPropVal: zero-based index into members in this array type.
index: value to be placed into this array.
See Also
IAAFTypeDefInt Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefInt interface exposes the following methods.
CreateValue
GetInteger
GetSize
Initialize
IsSigned
SetInteger
The AAFTypeDefInt object implements the IAAFTypeDefInt interface and also implements the following:
IAAFTypeDefInt::CreateValue
The CreateValue method createValue() Creates a property value which contains an integer.
Syntax
HRESULT CreateValue(
aafMemPtr_t pVal,
aafUInt32 valSize,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pVal
Pointer to a val object.
[in] valSize
Specifies valsize.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValue() Creates a property value which contains an integer.
Initializes it to contain the given integer value. The initialization
value is passed through pVal; the size of the initialzation value
is given in valSize. valSize may be smaller than GetSize() for
this typedef; if so, the value is lsb-justified and sign-extended
(for signed) or zero-filled (for unsigned). The implementation
of this method may only allow certain values for valSize. It
*will* allow at least 1, 2, 4, and 8-byte integers; some implementations
may allow more than that. Succeeds if: - The pVal pointer is
valid. - The ppPropVal pointer is valid. - valSize is no larger
than GetSize() for this typedef. 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
- either pVal or ppPropVal arg is NULL. AAFRESULT_BAD_SIZE -
valSize is larger than GetSize() for this typedef, or valSize
is not a supported value.
pVal: size of integer, in bytes, in pVal.
valSize: newly created property value.
See Also
IAAFTypeDefInt::GetInteger
The GetInteger method getInteger() Returns the integer value of this property.
Syntax
HRESULT GetInteger(
IAAFPropertyValue* pPropVal,
aafMemPtr_t pVal,
aafUInt32 valSize
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[out] pVal
If the method succeeds, specifies a pointer to a val object.
[in] valSize
Specifies valsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetInteger() Returns the integer value of this property. The
value to set is passed through pVal. The size of the pVal buffer
is given in valSize. valSize may be larger than GetSize(); if
so, the value is lsb-justified and sign-extended (for signed)
or zero-filled (for unsigned). valSize may be smaller than GetSize()
for this typedef; if so, the value is lsb-justified and sign-extended
(for signed) or zero-filled (for unsigned). The implementation
of this method may only allow certain values for valSize. It
*will* allow at least 1, 2, 4, and 8-byte integers; some implementations
may allow more than that. Succeeds if: - The pPropVal pointer
is valid. - The pVal pointer is valid. - valSize indicates that
pVal is large enough to hold the value. 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
- either pPropVal or pVal arg is NULL. AAFRESULT_BAD_SIZE - valSize
is smaller than GetSize() for this typedef, or valSize is not
a supported value. AAFRESULT_BAD_TYPE - The type associated with
pPropVal cannot be read as an integral type, or the int size
of pPropVal is larger than the int size of this type.
pPropVal: buffer into which value is written.
pVal: size of pVal buffer in bytes.
See Also
IAAFTypeDefInt::GetSize
The GetSize method getSize() Returns the size of the integral value defined by this type definition.
Syntax
HRESULT GetSize(
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
GetSize() Returns the size of the integral value defined by this
type definition. Succeeds if: - The pSize 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
- pSize arg is NULL.
pSize: the returned size of this integral value, in bytes.
See Also
IAAFTypeDefInt::Initialize
The Initialize method ************************ Interface IAAFTypeDefInt ************************ This interface is used to define Integer types used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
aafUInt8 intSize,
aafBool isSigned,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] intSize
Specifies intsize.
[in] isSigned
Specifies issigned.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefInt ************************
This interface is used to define Integer 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. 4-11d2-841f-00600832acb8
Initialize() Initializes this type def to be identified by the
given guid, to have the given size in bytes, and to be signed
or unsigned. The implementation of this method may only allow
certain values for intSize. It *will* allow at least 1, 2, 4,
and 8-byte integers; some implementations may allow more than
that. 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. - intSize is a valid value.
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
- This object has already had Initialize() called on it. AAFRESULT_BAD_SIZE
- intSize is not a valid value.
pID: the size of this integer type in bytes.
intSize: true if this integer type is signed; false for unsigned.
isSigned: friendly name of this type definition.
See Also
IAAFTypeDefInt::IsSigned
The IsSigned method isSigned() Puts true in *pSigned if property values defined with this type def are signed; puts false there for unsigned property values.
Syntax
HRESULT IsSigned(
aafBool* pSigned
);
Parameters
[out] pSigned
If the method succeeds, specifies a pointer to a signed object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
IsSigned() Puts true in *pSigned if property values defined with
this type def are signed; puts false there for unsigned property
values. Succeeds if: - The pSigned 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
- pSigned arg is NULL.
pSigned: unsigned.
See Also
IAAFTypeDefInt::SetInteger
The SetInteger method setInteger() Sets this property value to the given integer value.
Syntax
HRESULT SetInteger(
IAAFPropertyValue* pPropVal,
aafMemPtr_t pVal,
aafUInt32 valSize
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[in] pVal
Pointer to a val object.
[in] valSize
Specifies valsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetInteger() Sets this property value to the given integer value.
The value to set is passed in pVal, and the size of the value
in pVal is given in valSize. valSize may be smaller than GetSize();
if so, the value is lsb-justified and sign-extended (for signed)
or zero-filled (for unsigned). Succeeds if: - The pPropVal pointer
is valid. - The pVal pointer is valid. - valSize indicates that
pVal is large enough to hold the value. 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
- either pPropVal or pVal arg is NULL. AAFRESULT_BAD_SIZE - valSize
is larger than GetSize() for this typedef.
pPropVal: buffer from which value is read.
pVal: size of pVal buffer in bytes.
See Also
IAAFTypeDefObjectRef Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefObjectRef interface exposes the following methods.
CreateValue
GetObject
GetObjectType
Initialize
SetObject
IAAFTypeDefObjectRef::CreateValue
The CreateValue method createValue() Creates a property value which contains an object reference.
Syntax
HRESULT CreateValue(
IAAFObject* pObj,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pObj
Pointer to an obj object.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValue() Creates a property value which contains an object
reference. Initializes it to refer to the given object, and returns
the newly-created property value in ppPropVal. Succeeds if: -
The pObj pointer is valid. - The ppPropVal 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
- either pObj or ppPropVal arg is NULL.
pObj: newly created property value.
See Also
IAAFTypeDefObjectRef::GetObject
The GetObject method getObject() Returns the object contained in the named property value.
Syntax
HRESULT GetObject(
IAAFPropertyValue* pPropVal,
IAAFObject** ppObject
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[out] ppObject
If the method succeeds, specifies a pointer to a variable containing a pointer to an object object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetObject() Returns the object contained in the named property
value. Requires that pPropVal be a strong object reference or
a weak object reference. Succeeds if: - The pPropVal pointer
is valid. - The ppObject 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
- either pPropVal or ppObject arg is NULL.
pPropVal: pointer to object value.
See Also
IAAFTypeDefObjectRef::GetObjectType
The GetObjectType method getObjectType() Returns the class def representing objects to which this type def can refer.
Syntax
HRESULT GetObjectType(
IAAFClassDef** ppObjType
);
Parameters
[out] ppObjType
If the method succeeds, specifies a pointer to a variable containing a pointer to an obj type object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetObjectType() Returns the class def representing objects to
which this type def can refer. The returned type def is the class
definition of the least-derived type which is permissible to
be represented. Succeeds if: - this object has been Initialize()d.
- The ppObjType 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
- ppObjType arg is NULL.
ppObjType: class def of objects permitted to be referenced.
See Also
IAAFTypeDefObjectRef::Initialize
The Initialize method ************************ Interface IAAFTypeDefObjectRef ************************ This interface is used to define Object references (either strong or weak) used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
IAAFClassDef* pObjType,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] pObjType
Pointer to an obj type object.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefObjectRef ************************
This interface is used to define Object references (either strong
or weak) 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.
* Stub only. Implementation not yet added * 7-11d2-841f-00600832acb8
Initialize() Initializes this type def to be a reference to objects
of the given type, and assigns this object the given AUID. pObjType
points to the class definition of the least-derived class which
is possible to be contained in property values of this type.
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. - pObjType is a valid pointer. 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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- pObjType arg is NULL.
pID: class def of objects permitted to be referenced.
pObjType: friendly name of this type definition.
See Also
IAAFTypeDefObjectRef::SetObject
The SetObject method setObject() Sets the named property value to refer to the named object.
Syntax
HRESULT SetObject(
IAAFPropertyValue* pPropVal,
IAAFObject* ppObject
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[in] ppObject
Pointer to a variable containing a pointer to an object object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetObject() Sets the named property value to refer to the named
object. Requires that pPropVal be a strong object reference or
a weak object reference. Succeeds if: - The pPropVal pointer
is valid. - The ppObject 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
- either pPropVal or ppObject arg is NULL.
pPropVal: pointer to object value.
See Also
IAAFTypeDefRecord Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefRecord interface exposes the following methods.
CreateValueFromStruct
CreateValueFromValues
GetCount
GetMemberName
GetMemberNameBufLen
GetMemberType
GetStruct
GetValue
Initialize
RegisterMembers
SetStruct
SetValue
The AAFTypeDefRecord object implements the IAAFTypeDefRecord interface and also implements the following:
IAAFTypeDefRecord::CreateValueFromStruct
The CreateValueFromStruct method createValueFromStruct() Creates a property value which contains a record type.
Syntax
HRESULT CreateValueFromStruct(
aafMemPtr_t pInitData,
aafUInt32 initDataSize,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pInitData
Pointer to an init data object.
[in] initDataSize
Specifies initdata size.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValueFromStruct() Creates a property value which contains
a record type. The record members in the property value are initialized
from data in a struct which is pointed to by pInitData. Requires
that the structure pointed to by pInitData has had its offsets
registered with this type. Returns the newly-created property
value in ppPropVal. Succeeds if all of the following are true:
- the pInitData pointer is valid. - the ppPropVal pointer is
valid. - initDataSize indicates pInitData is the correct size.
- compile-time struct has had its member offests registered.
If this method fails nothing will be written to *ppPropVal. 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
- either pInitData or ppPropVal arg is NULL. AAFRESULT_ILLEGAL_VALUE
- initDataSize indicates pInitData is of the wrong size. AAFRESULT_NOT_REGISTERED
- struct offsets have not yet been registered for this typedef.
pInitData: size of data in pInitData.
initDataSize: newly created property value.
See Also
IAAFTypeDefRecord::CreateValueFromValues
The CreateValueFromValues method createValueFromValues() Creates a property value which contains a record type.
Syntax
HRESULT CreateValueFromValues(
IAAFPropertyValue** pMemberValues,
aafUInt32 numMembers,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pMemberValues
Pointer to a member values object.
[in] numMembers
Specifies nummembers.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValueFromValues() Creates a property value which contains
a record type. The record members in the property value are initialized
to contain the given values, passed in the pMemberValues array.
numMembers, which indicates the size of the pMemberValues array,
must match the value returned by GetCount(). Returns the newly-created
property value in ppPropVal. Succeeds if all of the following
are true: - the pMemberValues pointer is valid. - the ppPropVal
pointer is valid. - numMembers matches the number of members
in this record. If this method fails nothing will be written
to *ppPropVal. 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
- either pMemberValues or ppPropVal arg is NULL. AAFRESULT_ILLEGAL_VALUE
- numMembers does not match GetCount().
pMemberValues: size of pMemberValues array..
numMembers: newly-created property value.
See Also
IAAFTypeDefRecord::GetCount
The GetCount method getCount() Returns number of members in this record type.
Syntax
HRESULT GetCount(
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
GetCount() Returns number of members in this record type. Succeeds
if: - Initialize() has already been called on this object. -
pCount is a valid pointer. 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 - pCount
arg is NULL.
pCount: count of members in this record type.
See Also
IAAFTypeDefRecord::GetMemberName
The GetMemberName method getMemberName() Writes the human-legible tag associated with the indexed member in this record type.
Syntax
HRESULT GetMemberName(
aafUInt32 index,
aafCharacter* pName,
aafUInt32 bufSize
);
Parameters
[in] index
Specifies index.
[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
GetMemberName() Writes the human-legible tag associated with
the indexed member in this record type. Index is zero-based,
and must be less than the value returned by GetCount(). The name
is written, 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. Caller may call GetMemberNameBufLen() 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_NOT_INITIALIZED - This object
has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pName arg is NULL. AAFRESULT_SMALLBUF - bufSize indicates the
buffer is too small to hold the string. AAFRESULT_ILLEGAL_VALUE
- the given integer value is not associated with a member of
this type.
index: buffer into which the member name is written.
pName: The size of the pName buffer, in bytes.
See Also
IAAFTypeDefRecord::GetMemberNameBufLen
The GetMemberNameBufLen method getMemberNameBufLen() Returns the length of buffer required for the GetMemberName() method.
Syntax
HRESULT GetMemberNameBufLen(
aafUInt32 index,
aafUInt32* pLen
);
Parameters
[in] index
Specifies index.
[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
GetMemberNameBufLen() Returns the length of buffer required for
the GetMemberName() method. Index is zero-based, and must be
less than the value returned by GetCount(). 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. - the integer
value is associated with a member of this enumerated type. 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_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- pLen arg is NULL. AAFRESULT_ILLEGAL_VALUE - the given integer
value is not associated with a member of this type.
index: required buffer length, in bytes.
See Also
IAAFTypeDefRecord::GetMemberType
The GetMemberType method getMemberType() Returns the type definition of the indexed member in this record type.
Syntax
HRESULT GetMemberType(
aafUInt32 index,
IAAFTypeDef** ppTypeDef
);
Parameters
[in] index
Specifies index.
[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
GetMemberType() Returns the type definition of the indexed member
in this record type. Index is zero-based, and must be less than
the value returned by GetCount(). Succeeds if: - Initialize()
has already been called on this object. - the index exists in
this record type def. - The ppTypeDef 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
- ppTypeDef arg is NULL. AAFRESULT_ILLEGAL_VALUE - The given
index is out of range for this record type def.
index: type definition of indexed member.
See Also
IAAFTypeDefRecord::GetStruct
The GetStruct method getStruct() Copies all the member data contained in the given property value, interpreted as a record of this type, into the struct pointed to by pData.
Syntax
HRESULT GetStruct(
IAAFPropertyValue* pPropVal,
aafMemPtr_t pData,
aafUInt32 dataSize
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[out] pData
If the method succeeds, specifies a pointer to a data object.
[in] dataSize
Specifies datasize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetStruct() Copies all the member data contained in the given
property value, interpreted as a record of this type, into the
struct pointed to by pData. Requires that the struct pointed
to by pData has had its offsets registered with this type. Succeeds
if all of the following are true: - the pPropVal pointer is valid.
- the pData pointer is valid. - dataSize indicates pData is large
enough to hold the data. - compile-time struct has had its member
offests registered. If this method fails nothing will be written
to *ppPropVal. 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
- either pPropVal or pData arg is NULL. AAFRESULT_ILLEGAL_VALUE
- dataSize indicates pData is too small. AAFRESULT_NOT_REGISTERED
- struct offsets have not yet been registered for this typedef.
pPropVal: buffer into which struct data should be written.
pData: size of pData buffer in bytes.
See Also
IAAFTypeDefRecord::GetValue
The GetValue method getValue() Gets a single property value corresponding to the indicated record member.
Syntax
HRESULT GetValue(
IAAFPropertyValue* pInPropVal,
aafUInt32 index,
IAAFPropertyValue** ppOutPropVal
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[in] index
Specifies index.
[out] ppOutPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to an out prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetValue() Gets a single property value corresponding to the
indicated record member. Places a property value representing
the record member identified by the index into ppOutPropval.
Index is zero-based, and must be less than the value returned
by GetCount(). Succeeds if: - Initialize() has already been called
on this object. - the index exists in this record type def. -
The pInPropVal pointer is valid. - The ppOutPropVal 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
- either pInPropVal or ppOutPropVal arg is NULL. AAFRESULT_ILLEGAL_VALUE
- The given index is out of range for this record type def.
pInPropVal: zero-based index into members in this record type.
index: value that is read.
See Also
IAAFTypeDefRecord::Initialize
The Initialize method ************************ Interface IAAFTypeDefRecord ************************ This interface is used to define C-like structured types used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
IAAFTypeDef** ppMemberTypes,
aafString_t* pMemberNames,
aafUInt32 numMembers,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] ppMemberTypes
Pointer to a variable containing a pointer to a member types object.
[in] pMemberNames
Pointer to a member names object.
[in] numMembers
Specifies nummembers.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefRecord ************************
This interface is used to define C-like structured 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.
* Stub only. Implementation not yet added * 4-11d2-841f-00600832acb8
Initialize() Initializes this type def to be identified by the
given guid, and to contain the given members (types and names).
It is considered an error if multiple members have the same name.
Succeeds if: - Initialize() has not yet been called on this object.
- pID is a valid pointer. - pMemberInfo is a valid pointer. -
pTypeName is a valid pointer. - all member names are unique.
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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- pID, pMemberInfo, or pTypeName arg is NULL. AAFRESULT_DUPLICATE
- a duplicate member name was given.
pID: type.
ppMemberTypes: type.
pMemberNames: number of members in pMemberInfo array.
numMembers: friendly name of this type definition.
See Also
IAAFTypeDefRecord::RegisterMembers
The RegisterMembers method registerMembers() Allows client to register to the reference implementation a runtime C struct to represent objects of this TypeDef.
Syntax
HRESULT RegisterMembers(
aafUInt32* pOffsets,
aafUInt32 numMembers,
aafUInt32 structSize
);
Parameters
[in] pOffsets
Pointer to an offsets object.
[in] numMembers
Specifies nummembers.
[in] structSize
Specifies structsize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
RegisterMembers() Allows client to register to the reference
implementation a runtime C struct to represent objects of this
TypeDef. Offsets for each member in the struct are passed in
as an array of integers; size indicates the number of members
in the array. The offset is given in bytes from the start address
of the struct. This allows the reference implementation to write
property values into compile-time-defined C structs intelligible
by the local machine and compiler. Succeeds if: - Initialize()
has already been called on this object. - pOffsets is a valid
pointer. - numMembers matches the number of members defined for
this record type. 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
- pOffsets arg is NULL. AAFRESULT_ILLEGAL_VALUE - numMembers
does not match number of members in this record type.
pOffsets: number of members in pOffsets.
numMembers: size of this struct.
See Also
IAAFTypeDefRecord::SetStruct
The SetStruct method setStruct() Copies all the member data contained in the struct pointed to by pData into the given property value, interpreting the data as a record of this type.
Syntax
HRESULT SetStruct(
IAAFPropertyValue* pPropVal,
aafMemPtr_t pData,
aafUInt32 dataSize
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[in] pData
Pointer to a data object.
[in] dataSize
Specifies datasize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetStruct() Copies all the member data contained in the struct
pointed to by pData into the given property value, interpreting
the data as a record of this type. Requires that the struct pointed
to by pData has had its offsets registered with this type. Succeeds
if all of the following are true: - the pPropVal pointer is valid.
- the pData pointer is valid. - dataSize indicates pData contains
the correct amount of data. - compile-time struct has had its
member offests registered. If this method fails nothing will
be written to *ppPropVal. 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 - either
pPropVal or pData arg is NULL. AAFRESULT_ILLEGAL_VALUE - dataSize
indicates pData is not the correct size. AAFRESULT_NOT_REGISTERED
- struct offsets have not yet been registered for this typedef.
pPropVal: buffer from which struct data should be read.
pData: size of pData buffer in bytes.
See Also
IAAFTypeDefRecord::SetValue
The SetValue method setValue() Sets the value of the single, indicated record member of the record contained in pPropVal, to the value contained in pMemberPropVal.
Syntax
HRESULT SetValue(
IAAFPropertyValue* pPropVal,
aafUInt32 index,
IAAFPropertyValue* pMemberPropVal
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[in] index
Specifies index.
[in] pMemberPropVal
Pointer to a member prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetValue() Sets the value of the single, indicated record member
of the record contained in pPropVal, to the value contained in
pMemberPropVal. Index is zero-based, and must be less than the
value returned by GetCount(). Succeeds if: - Initialize() has
already been called on this object. - the index exists in this
record type def. - The pInPropVal pointer is valid. - The ppOutPropVal
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
- either pInPropVal or ppOutPropVal arg is NULL. AAFRESULT_ILLEGAL_VALUE
- The given index is out of range for this record type def.
pPropVal: zero-based index into members in this record type.
index: value to be placed into this record.
See Also
IAAFTypeDefRename Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefRename interface exposes the following methods.
GetBaseType
GetValue
Initialize
The AAFTypeDefRename object implements the IAAFTypeDefRename interface and also implements the following:
IAAFTypeDefRename::GetBaseType
The GetBaseType method getBaseType() Returns the type definition to which this type def is an alias.
Syntax
HRESULT GetBaseType(
IAAFTypeDef** ppBaseType
);
Parameters
[out] ppBaseType
If the method succeeds, specifies a pointer to a variable containing a pointer to a base type object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetBaseType() Returns the type definition to which this type
def is an alias. Succeeds if: - this object has been Initialize()d.
- The ppBaseType 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
- ppBaseType pointer is NULL.
ppBaseType: type definition for which this is an alias.
See Also
IAAFTypeDefRename::GetValue
The GetValue method getValue() // Gets the property value of the base type from the given property value of the typedef type and places a pointer to the base type's property value into *ppOutPropVal.
Syntax
HRESULT GetValue(
IAAFPropertyValue* pInPropVal,
IAAFPropertyValue** ppOutPropVal
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[out] ppOutPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to an out prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetValue() // Gets the property value of the base type from the
given property value of the typedef type and places a pointer
to the base type's property value into *ppOutPropVal. Succeeds
if: - The pInPropVal pointer is valid. - The ppOutPropVal 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
- pInPropVal or ppOutPropVal is NULL.
pInPropVal: pointer to property value represented by base type.
See Also
IAAFTypeDefRename::Initialize
The Initialize method ************************ Interface IAAFTypeDefRename ************************ This interface is used to define Renamed types (analogous to C typedefs) used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
IAAFTypeDef* pBaseType,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] pBaseType
Pointer to a base type object.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefRename ************************
This interface is used to define Renamed types (analogous to
C typedefs) 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. * Stub only. Implementation not yet
added * 2-11d2-8429-00600832acb8 Initialize() Initializes this
type def to be an alias for the given type (similar to a C typedef).
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. - pBaseType is a valid pointer. 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 -
pBaseType is null. AAFRESULT_ALREADY_INITIALIZED - Initialize()
has already been called on this object.
pID: type to which this is an alias.
pBaseType: friendly name of this type definition.
See Also
IAAFTypeDefSet Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefSet interface exposes the following methods.
AddElement
CreateValueFromCArray
CreateValueFromValues
GetCount
GetElements
GetType
Initialize
The AAFTypeDefSet object implements the IAAFTypeDefSet interface and also implements the following:
IAAFTypeDefSet::AddElement
The AddElement method addElement() Adds an element to the set, setting it to the value given in pMemberPropVal.
Syntax
HRESULT AddElement(
IAAFPropertyValue* pInPropVal,
IAAFPropertyValue* pMemberPropVal
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[in] pMemberPropVal
Pointer to a member prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AddElement() Adds an element to the set, setting it to the value
given in pMemberPropVal. Succeeds if: - Initialize() has already
been called on this object. - pInPropVal pointer is valid. -
pMemberPropVal 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 - either pInPropVal
or pMemberPropVal arg is NULL.
pInPropVal: value to be added to this set.
See Also
IAAFTypeDefSet::CreateValueFromCArray
The CreateValueFromCArray method createValueFromCArray() Creates a property value which contains a set type.
Syntax
HRESULT CreateValueFromCArray(
aafMemPtr_t pInitData,
aafUInt32 initDataSize,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pInitData
Pointer to an init data object.
[in] initDataSize
Specifies initdata size.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValueFromCArray() Creates a property value which contains
a set type. The set elements in the property value are initialized
from data in a C array which is pointed to by pInitData. Requires
that any structures declared within this array typedef have had
their offsets registered with that type. Returns the newly-created
property value in ppPropVal. The size of the newly-created set
property value will be determined by the number of elements in
the initialization C array, as communicated by initDataSize.
Succeeds if all of the following are true: - the pInitData pointer
is valid. - the ppPropVal pointer is valid. - compile-time struct
has had its member offests registered. If this method fails nothing
will be written to *ppPropVal. 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 - either
pInitData or ppPropVal arg is NULL. AAFRESULT_NOT_REGISTERED
- any contained struct offsets have not yet been registered for
that typedef.
pInitData: size of data in pInitData, in bytes.
initDataSize: newly created property value.
See Also
IAAFTypeDefSet::CreateValueFromValues
The CreateValueFromValues method createValueFromValues() Creates a property value which contains a set type.
Syntax
HRESULT CreateValueFromValues(
IAAFPropertyValue** pElementValues,
aafUInt32 numElements,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pElementValues
Pointer to an element values object.
[in] numElements
Specifies numelements.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValueFromValues() Creates a property value which contains
a set type. The set elements in the property value are initialized
to contain the given values, passed in the pElementValues array.
numElements, which indicates the size of the pElementValues array,
determines the number of elements in the new set property value.
Succeeds if all of the following are true: - the pElementValues
pointer is valid. - the ppPropVal pointer is valid. If this method
fails nothing will be written to *ppPropVal. 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
- either pElementValues or ppPropVal arg is NULL.
pElementValues: size of pElementValues array..
numElements: newly-created property value.
See Also
IAAFTypeDefSet::GetCount
The GetCount method getCount() Returns number of elements in the referenced property value.
Syntax
HRESULT GetCount(
IAAFPropertyValue* pPropVal,
aafUInt32* pCount
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[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
GetCount() Returns number of elements in the referenced property
value. Succeeds if: - Initialize() has already been called on
this object. - pPropVal is a valid pointer. - pCount is a valid
pointer. 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
- Either pPropVal or pCount arg is NULL.
pPropVal: count of elements in the specified set property value.
See Also
IAAFTypeDefSet::GetElements
The GetElements method getElements() Returns an enumerator across elements in this set.
Syntax
HRESULT GetElements(
IAAFPropertyValue* pInPropVal,
IEnumAAFPropertyValues** ppEnum
);
Parameters
[in] pInPropVal
Pointer to an in prop val 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
GetElements() Returns an enumerator across elements in this set.
Succeeds if: - Initialize() has already been called on this object.
- The pInPropVal pointer is valid. - 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_NOT_INITIALIZED
- This object has not yet had Initialize() called on it. AAFRESULT_NULL_PARAM
- Either pInPropVal or ppEnum arg is NULL.
pInPropVal: enumerator across property values.
See Also
IAAFTypeDefSet::GetType
The GetType method getType() Returns the type of elements in this set.
Syntax
HRESULT GetType(
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
GetType() Returns the type of elements in this set. Succeeds
if: - Initialize() has already been called on this object. -
ppTypeDef is a valid pointer. 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
arg is NULL.
ppTypeDef: type of elements in this array.
See Also
IAAFTypeDefSet::Initialize
The Initialize method ************************ Interface IAAFTypeDefSet ************************ This interface is used to define variably-sized Array types used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
IAAFTypeDef* pTypeDef,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] pTypeDef
Pointer to a type def object.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefSet ************************
This interface is used to define variably-sized Array 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.
* Stub only. Implementation not yet added * b-11d2-842a-00600832acb8
Initialize() Initializes this type def to contain elements of
the given type. 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. - pTypeDef is a valid
pointer. 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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- Either pTypeDef or pTypeName arg is NULL.
pID: type of each element to be contained in this set.
pTypeDef: friendly name of this type definition.
See Also
IAAFTypeDefStream Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefStream interface exposes the following methods.
AppendElements
CreateEmpty
GetCount
GetElements
GetElementValues
GetType
Initialize
The AAFTypeDefStream object implements the IAAFTypeDefStream interface and also implements the following:
IAAFTypeDefStream::AppendElements
The AppendElements method appendElements() Appends elements to the end of the array, setting them to the values given in the pMemberPropVals array.
Syntax
HRESULT AppendElements(
IAAFPropertyValue* pInPropVal,
IAAFPropertyValue** ppMemberPropVals,
aafUInt32 numElements
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[in] ppMemberPropVals
Pointer to a variable containing a pointer to a member prop vals object.
[in] numElements
Specifies numelements.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendElements() Appends elements to the end of the array, setting
them to the values given in the pMemberPropVals array. The number
of values to be appended is given by numElements. Succeeds if:
- Initialize() has already been called on this object. - pInPropVal
pointer is valid. - pMemberPropVal 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 -
either pInPropVal or pMemberPropVal arg is NULL.
pInPropVal: values to be appended to this stream.
ppMemberPropVals: number of values to be appended.
See Also
IAAFTypeDefStream::CreateEmpty
The CreateEmpty method createEmpty() Creates a property value which contains a stream type.
Syntax
HRESULT CreateEmpty(
IAAFPropertyValue** ppPropVal
);
Parameters
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateEmpty() Creates a property value which contains a stream
type. The stream is initialized to contain no elements. Succeeds
if all of the following are true: - the ppPropVal pointer is
valid. If this method fails nothing will be written to *ppPropVal.
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
- ppPropVal arg is NULL.
ppPropVal: newly-created property value.
See Also
IAAFTypeDefStream::GetCount
The GetCount method getCount() Returns number of elements contained in the referenced property value.
Syntax
HRESULT GetCount(
IAAFPropertyValue* pPropVal,
aafInt64* pCount
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[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
GetCount() Returns number of elements contained in the referenced
property value. Succeeds if: - Initialize() has already been
called on this object. - pPropVal is a valid pointer. - pCount
is a valid pointer. 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
- Either pPropVal or pCount arg is NULL.
pPropVal: count of elements in the specified stream property
value.
See Also
IAAFTypeDefStream::GetElements
The GetElements method getElements() Copies the stream data contained in the given property value into the C array pointed to by pData.
Syntax
HRESULT GetElements(
IAAFPropertyValue* pPropVal,
aafInt64 startElement,
aafMemPtr_t pData,
aafUInt32 numElements
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[in] startElement
Specifies startelement.
[out] pData
If the method succeeds, specifies a pointer to a data object.
[in] numElements
Specifies numelements.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetElements() Copies the stream data contained in the given property
value into the C array pointed to by pData. Requires that any
structures declared within this array typedef have had their
offsets registered with that type. The data copied stars with
the element specified by startElement; numElements elements are
copied. startElement plus numElements must be less than the value
returned by GetCount(). Succeeds if all of the following are
true: - the pPropVal pointer is valid. - the pData pointer is
valid. - dataSize indicates pData is large enough to hold the
data. - compile-time struct has had its member offests registered.
- the indicated elements exist in this stream type def. If this
method fails nothing will be written to *ppPropVal. 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
- either pPropVal or pData arg is NULL. AAFRESULT_BAD_PARAM
- dataSize indicates pData is too small. AAFRESULT_NOT_REGISTERED
- struct offsets have not yet been registered for this typedef.
AAFRESULT_BAD_PARAM - startElement and numElements indicate elements
which are outside the bounds of this stream.
pPropVal: zero-based index into elements in this array type.
startElement: buffer into which C array data should be written.
pData: number of elements to get.
See Also
IAAFTypeDefStream::GetElementValues
The GetElementValues method getElementValues() Gets multiple property values, corresponding to stream element values, from the given stream property value.
Syntax
HRESULT GetElementValues(
IAAFPropertyValue* pInPropVal,
aafInt64 startElement,
IAAFPropertyValue** pOutPropVals,
aafUInt32 numElements
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[in] startElement
Specifies startelement.
[out] pOutPropVals
If the method succeeds, specifies a pointer to an out prop vals object.
[in] numElements
Specifies numelements.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetElementValues() Gets multiple property values, corresponding
to stream element values, from the given stream property value.
Elements are retrieved starting at the startElement index; numElements
elements are retrieved. Values are placed into the caller-allocated
pOutPropVals array. The size of the array allocated by the caller
is indicated by the numElements argument. startElement index
is zero-based. startElement plus numElements must be less than
the value returned by GetCount(). Succeeds if: - Initialize()
has already been called on this object. - the indicated elements
exist in this stream type def. - The pInPropVal pointer is valid.
- The pOutPropVals 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
- Either pInPropVal or pOutPropVals arg is NULL. AAFRESULT_BAD_PARAM
- startElement and numElements indicate elements which are outside
the bounds of this stream.
pInPropVal: zero-based index into elements in this array type.
startElement: array of values that are read.
pOutPropVals: number of elements to get.
See Also
IAAFTypeDefStream::GetType
The GetType method getType() Returns the type of elements in this stream.
Syntax
HRESULT GetType(
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
GetType() Returns the type of elements in this stream. Succeeds
if: - Initialize() has already been called on this object. -
ppTypeDef is a valid pointer. 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
arg is NULL.
ppTypeDef: type of elements in this array.
See Also
IAAFTypeDefStream::Initialize
The Initialize method ************************ Interface IAAFTypeDefStream ************************ This interface is used to define Stream types used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
IAAFTypeDef* pTypeDef,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] pTypeDef
Pointer to a type def object.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefStream ************************
This interface is used to define Stream types used in AAF persistent
objects. Streams are conceptually similar to variably-sized arrays
except that they are intended to be used for very large pieces
of data (such as essence). 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 * 2-11d2-8429-00600832acb8
Initialize() Initializes this type def to contain elements of
the given type. 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. - pTypeDef is a valid
pointer. 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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- Either pTypeDef or pTypeName arg is NULL.
pID: type of each element to be contained in this array.
pTypeDef: friendly name of this type definition.
See Also
IAAFTypeDefString Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefString interface exposes the following methods.
AppendElements
GetCount
GetElements
GetType
Initialize
The AAFTypeDefString object implements the IAAFTypeDefString interface and also implements the following:
IAAFTypeDefString::AppendElements
The AppendElements method appendElements() Appends elements to the end of the array, setting them to the values given in the pElements array.
Syntax
HRESULT AppendElements(
IAAFPropertyValue* pInPropVal,
aafMemPtr_t pElements
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[in] pElements
Pointer to an elements object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendElements() Appends elements to the end of the array, setting
them to the values given in the pElements array. Succeeds if:
- Initialize() has already been called on this object. - pInPropVal
pointer is valid. - pElements 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 - either
pInPropVal or pElements arg is NULL.
pInPropVal: Null-terminated array of elements to be appended.
See Also
IAAFTypeDefString::GetCount
The GetCount method getCount() Returns number of elements contained in the referenced property value.
Syntax
HRESULT GetCount(
IAAFPropertyValue* pPropVal,
aafUInt32* pCount
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[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
GetCount() Returns number of elements contained in the referenced
property value. Succeeds if: - Initialize() has already been
called on this object. - pPropVal is a valid pointer. - pCount
is a valid pointer. 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
- Either pPropVal or pCount arg is NULL.
pPropVal: count of elements in the specified string property
value.
See Also
IAAFTypeDefString::GetElements
The GetElements method getElements() Gets the value of this property as a string and places it into pBuffer.
Syntax
HRESULT GetElements(
IAAFPropertyValue* pInPropVal,
aafMemPtr_t pBuffer,
aafUInt32 bufferSize
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[out] pBuffer
If the method succeeds, specifies a pointer to a buffer object.
[in] bufferSize
Specifies buffersize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetElements() Gets the value of this property as a string and
places it into pBuffer. bufferSize indicates the size of the
buffer, in bytes. Succeeds if: - Initialize() has already been
called on this object. - The pInPropVal pointer is valid. - bufferSize
indicates that pBuffer is large enough to hold the data. 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
- pInPropVal arg is NULL. AAFRESULT_SMALLBUF - bufferSize indicates
that pBuffer is too small to hold the data.
pInPropVal: array of values that are read.
pBuffer: size of pBuffer, in bytes.
See Also
IAAFTypeDefString::GetType
The GetType method getType() Returns the type of elements in this string.
Syntax
HRESULT GetType(
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
GetType() Returns the type of elements in this string. Succeeds
if: - Initialize() has already been called on this object. -
ppTypeDef is a valid pointer. 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
arg is NULL.
ppTypeDef: type of elements in this array.
See Also
IAAFTypeDefString::Initialize
The Initialize method .
Syntax
HRESULT Initialize(
aafUID_t* pID,
IAAFTypeDef* pTypeDef,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] pTypeDef
Pointer to a type def object.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefString ************************
This interface is used to define variably-sized Array types whose
length is determined by a special terminator element value. 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 * 2-11d2-8429-00600832acb8 Initialize() Initializes this
type def to contain elements of the given type. 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. - pTypeDef is a valid pointer. - pTermValue is a
valid pointer. - pTypeName is a valid pointer. 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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- pID, pTypeDef, or pTypeName arg is NULL.
pID: type of each element to be contained in this array.
pTypeDef: friendly name of this type definition.
See Also
IAAFTypeDefVariableArray Interface
In addition to the methods inherited from IUnknown, the IAAFTypeDefVariableArray interface exposes the following methods.
AppendElement
CreateValueFromCArray
CreateValueFromValues
GetCArray
GetCount
GetElementValue
GetType
Initialize
SetCArray
SetElementValue
The AAFTypeDefVariableArray object implements the IAAFTypeDefVariableArray interface and also implements the following:
IAAFTypeDefVariableArray::AppendElement
The AppendElement method appendElement() Appends an element to the end of the array, setting it to the value given in pMemberPropVal.
Syntax
HRESULT AppendElement(
IAAFPropertyValue* pInPropVal,
IAAFPropertyValue* pMemberPropVal
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[in] pMemberPropVal
Pointer to a member prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
AppendElement() Appends an element to the end of the array, setting
it to the value given in pMemberPropVal. Succeeds if: - Initialize()
has already been called on this object. - pInPropVal pointer
is valid. - pMemberPropVal 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 - either
pInPropVal or pMemberPropVal arg is NULL.
pInPropVal: value to be appended to this array.
See Also
IAAFTypeDefVariableArray::CreateValueFromCArray
The CreateValueFromCArray method createValueFromCArray() Creates a property value which contains a fixed array type.
Syntax
HRESULT CreateValueFromCArray(
aafMemPtr_t pInitData,
aafUInt32 initDataSize,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pInitData
Pointer to an init data object.
[in] initDataSize
Specifies initdata size.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValueFromCArray() Creates a property value which contains
a fixed array type. The array elements in the property value
are initialized from data in a C array which is pointed to by
pInitData. Requires that any structures declared within this
array typedef have had their offsets registered with that type.
Returns the newly-created property value in ppPropVal. The size
of the newly-created array property value will be determined
by the number of elements in the initialization C array, as communicated
by initDataSize. Succeeds if all of the following are true: -
the pInitData pointer is valid. - the ppPropVal pointer is valid.
- compile-time struct has had its member offests registered.
If this method fails nothing will be written to *ppPropVal. 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
- either pInitData or ppPropVal arg is NULL. AAFRESULT_NOT_REGISTERED
- any contained struct offsets have not yet been registered for
that typedef.
pInitData: size of data in pInitData, in bytes.
initDataSize: newly created property value.
See Also
IAAFTypeDefVariableArray::CreateValueFromValues
The CreateValueFromValues method createValueFromValues() Creates a property value which contains a variable array type.
Syntax
HRESULT CreateValueFromValues(
IAAFPropertyValue** pElementValues,
aafUInt32 numElements,
IAAFPropertyValue** ppPropVal
);
Parameters
[in] pElementValues
Pointer to an element values object.
[in] numElements
Specifies numelements.
[out] ppPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to a prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
CreateValueFromValues() Creates a property value which contains
a variable array type. The array elements in the property value
are initialized to contain the given values, passed in the pElementValues
array. numElements, which indicates the size of the pElementValues
array, determines the size of the array in the new array property
value. Succeeds if all of the following are true: - the pElementValues
pointer is valid. - the ppPropVal pointer is valid. If this method
fails nothing will be written to *ppPropVal. 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
- either pElementValues or ppPropVal arg is NULL.
pElementValues: size of pElementValues array..
numElements: newly-created property value.
See Also
IAAFTypeDefVariableArray::GetCArray
The GetCArray method getCArray() Copies all the array data contained in the given property value, interpreted as a fixed array of this type, into the C array pointed to by pData.
Syntax
HRESULT GetCArray(
IAAFPropertyValue* pPropVal,
aafMemPtr_t pData,
aafUInt32 dataSize
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[out] pData
If the method succeeds, specifies a pointer to a data object.
[in] dataSize
Specifies datasize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetCArray() Copies all the array data contained in the given
property value, interpreted as a fixed array of this type, into
the C array pointed to by pData. Requires that any structures
declared within this array typedef have had their offsets registered
with that type. Succeeds if all of the following are true: -
the pPropVal pointer is valid. - the pData pointer is valid.
- dataSize indicates pData is large enough to hold the data.
- compile-time struct has had its member offests registered.
If this method fails nothing will be written to *ppPropVal. 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
- either pPropVal or pData arg is NULL. AAFRESULT_BAD_PARAM
- dataSize indicates pData is too small. AAFRESULT_NOT_REGISTERED
- struct offsets have not yet been registered for this typedef.
pPropVal: buffer into which C array data should be written.
pData: size of pData buffer in bytes.
See Also
IAAFTypeDefVariableArray::GetCount
The GetCount method getCount() Returns number of array elements in the referenced property value.
Syntax
HRESULT GetCount(
IAAFPropertyValue* pPropVal,
aafUInt32* pCount
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[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
GetCount() Returns number of array elements in the referenced
property value. Succeeds if: - Initialize() has already been
called on this object. - pPropVal is a valid pointer. - pCount
is a valid pointer. 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
- Either pPropVal or pCount arg is NULL.
pPropVal: count of elements in the specified array property value.
See Also
IAAFTypeDefVariableArray::GetElementValue
The GetElementValue method getElementValue() Gets a single property value corresponding to the indexed array element.
Syntax
HRESULT GetElementValue(
IAAFPropertyValue* pInPropVal,
aafUInt32 index,
IAAFPropertyValue** ppOutPropVal
);
Parameters
[in] pInPropVal
Pointer to an in prop val object.
[in] index
Specifies index.
[out] ppOutPropVal
If the method succeeds, specifies a pointer to a variable containing a pointer to an out prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetElementValue() Gets a single property value corresponding
to the indexed array element. Places a property value representing
the array element identified by the index into ppOutPropval.
Index is zero-based, and must be less than the value returned
by GetCount(). Succeeds if: - Initialize() has already been called
on this object. - the index exists in this array type def. -
The pInPropVal pointer is valid. - The ppOutPropVal 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
- Either pInPropVal or ppOutPropVal arg is NULL. AAFRESULT_BAD_PARAM
- The given index is out of range for this array type def.
pInPropVal: zero-based index into elements in this array type.
index: value that is read.
See Also
IAAFTypeDefVariableArray::GetType
The GetType method getType() Returns the type of elements in this array.
Syntax
HRESULT GetType(
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
GetType() Returns the type of elements in this array. Succeeds
if: - Initialize() has already been called on this object. -
ppTypeDef is a valid pointer. 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
arg is NULL.
ppTypeDef: type of elements in this array.
See Also
IAAFTypeDefVariableArray::Initialize
The Initialize method ************************ Interface IAAFTypeDefVariableArray ************************ This interface is used to define variably-sized Array types used in AAF persistent objects.
Syntax
HRESULT Initialize(
aafUID_t* pID,
IAAFTypeDef* pTypeDef,
aafCharacter* pTypeName
);
Parameters
[in] pID
Pointer to an ID object.
[in] pTypeDef
Pointer to a type def object.
[in] pTypeName
Pointer to a type name object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFTypeDefVariableArray ************************
This interface is used to define variably-sized Array 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.
* Stub only. Implementation not yet added * 2-11d2-8429-00600832acb8
Initialize() Initializes this type def to contain elements of
the given type. 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. - pTypeDef is a valid
pointer. 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
- This object has already had Initialize() called on it. AAFRESULT_NULL_PARAM
- Either pTypeDef or pTypeName arg is NULL.
pID: type of each element to be contained in this array.
pTypeDef: friendly name of this type definition.
See Also
IAAFTypeDefVariableArray::SetCArray
The SetCArray method setCArray() Copies all the array data contained in the C array pointed to by pData into the given property value, interpreting the data as a fixed array of this type.
Syntax
HRESULT SetCArray(
IAAFPropertyValue* pPropVal,
aafMemPtr_t pData,
aafUInt32 dataSize
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[in] pData
Pointer to a data object.
[in] dataSize
Specifies datasize.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetCArray() Copies all the array data contained in the C array
pointed to by pData into the given property value, interpreting
the data as a fixed array of this type. Requires that any structures
declared within this typedef have had their offsets registered
with that type. If dataSize indicates an array size different
from the size currently in the indicated array property value,
that array property value will be resized. Succeeds if all of
the following are true: - the pPropVal pointer is valid. - the
pData pointer is valid. - any contained compile-time struct has
had its member offests registered. If this method fails nothing
will be written to *ppPropVal. 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 - either
pPropVal or pData arg is NULL. AAFRESULT_NOT_REGISTERED - offsets
of any contained struct have not yet been registered.
pPropVal: buffer from which C array data should be read.
pData: size of pData buffer in bytes.
See Also
IAAFTypeDefVariableArray::SetElementValue
The SetElementValue method setElementValue() Sets the value of the single, indicated element of the fixed array contained in pPropVal, to the value contained in pMemberPropVal.
Syntax
HRESULT SetElementValue(
IAAFPropertyValue* pPropVal,
aafUInt32 index,
IAAFPropertyValue* pMemberPropVal
);
Parameters
[in] pPropVal
Pointer to a prop val object.
[in] index
Specifies index.
[in] pMemberPropVal
Pointer to a member prop val object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetElementValue() Sets the value of the single, indicated element
of the fixed array contained in pPropVal, to the value contained
in pMemberPropVal. Index is zero-based, and must be less than
the value returned by GetCount(). Property value must be of the
same type as returned by GetType(). Succeeds if: - Initialize()
has already been called on this object. - the index exists in
this array type def. - The pInPropVal pointer is valid. - The
ppOutPropVal 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 - either
pInPropVal or ppOutPropVal arg is NULL. AAFRESULT_BAD_PARAM
- The given index is out of range for this array type def.
pPropVal: zero-based index into members in this array type.
index: value to be placed into this array.
See Also
IAAFVaryingValue Interface
In addition to the methods inherited from IUnknown, the IAAFVaryingValue interface exposes the following methods.
AppendPoint
GetControlPoints
GetInterpolatedValue
GetInterpolationDefinition
GetValueBufLen
SetInterpolationDefinition
The AAFVaryingValue object implements the IAAFVaryingValue interface and also implements the following:
IAAFVaryingValue::AppendPoint
The AppendPoint method .
Syntax
HRESULT AppendPoint(
IAAFControlPoint* pPoint
);
Parameters
[in] pPoint
Pointer to a point object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IAAFVaryingValue ************************
The IAAFVaryingValue interface is implemented by objects that
specify a parameter whose value changes during the operation
group. The actual values are stored in one or more IAAFControlPoints.
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.
e-11D2-bfA3-006097116212 AppendPoint() Appends a control point
to the end a IAAFVaryingValue object, which implies that it occurs
at a later time than existing point. The point will be sorted
by time order, not the order in which the points were added.
Succeeds if all of the following are true: - the pPoint 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 -
pPoint is null.
pPoint: pointer to IAAFControlPoint object.
See Also
IAAFVaryingValue::GetControlPoints
The GetControlPoints method getControlPoints() Return an enumerator for the list of IAAFControlPoints.
Syntax
HRESULT GetControlPoints(
IEnumAAFControlPoints** 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
GetControlPoints() Return an enumerator for the list of IAAFControlPoints.
The list will be returned in time order, not the order in which
the points were 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: Parameter definition enumeration.
See Also
IAAFVaryingValue::GetInterpolatedValue
The GetInterpolatedValue method getInterpolatedValue() Writes the interpolated value of the IAAFVaryingValue at a given position into the pValue buffer.
Syntax
HRESULT GetInterpolatedValue(
aafRational_t inputValue,
aafInt32 valueSize,
aafDataBuffer_t pValue,
aafInt32* bytesRead
);
Parameters
[in] inputValue
Specifies inputvalue.
[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
GetInterpolatedValue() Writes the interpolated value of the IAAFVaryingValue
at a given position 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.
inputValue: Size of preallocated buffer.
valueSize: Preallocated buffer to hold value.
pValue: Number of actual bytes read.
See Also
IAAFVaryingValue::GetInterpolationDefinition
The GetInterpolationDefinition method getInterpolationDefinition() Places the InterpolationDefinition object attached to this VaryingValue into the *ppInterpolation argument.
Syntax
HRESULT GetInterpolationDefinition(
IAAFInterpolationDef** ppInterpolation
);
Parameters
[out] ppInterpolation
If the method succeeds, specifies a pointer to a variable containing a pointer to an interpolation object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetInterpolationDefinition() Places the InterpolationDefinition
object attached to this VaryingValue into the *ppInterpolation
argument. If none exists yet, NULL is placed into the *ppInterpolation
argument. The returned InterpolationDefinition object, if it
exists, is AddRef()ed before it is returned. Succeeds if all
of the following are true: - the ppInterpolation pointer is valid.
- A valid InterpolationDefinition 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
- ppInterpolation is null.
ppInterpolation: Returned InterpolationDefinition object.
See Also
IAAFVaryingValue::GetValueBufLen
The GetValueBufLen method getValueBufLen() Returns the length of buffer required for the GetInterpolatedValue() method.
Syntax
HRESULT GetValueBufLen(
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
GetValueBufLen() Returns the length of buffer required for the
GetInterpolatedValue() 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: Mob Name.
See Also
IAAFVaryingValue::SetInterpolationDefinition
The SetInterpolationDefinition method setInterpolationDefinition() Sets the InterpolationDefinition of this VaryingValue to be the given one.
Syntax
HRESULT SetInterpolationDefinition(
IAAFInterpolationDef* pInterpolation
);
Parameters
[in] pInterpolation
Pointer to an interpolation object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
SetInterpolationDefinition() Sets the InterpolationDefinition
of this VaryingValue to be the given one. Succeeds if all of
the following are true: - the pEssence 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
- pInterpolation is null.
pInterpolation: InterpolationDefinition object.
See Also
IAAFWAVEDescriptor Interface
In addition to the methods inherited from IUnknown, the IAAFWAVEDescriptor interface exposes the following methods.
GetSummary
GetSummaryBufferSize
Initialize
SetSummary
The AAFWAVEDescriptor object implements the IAAFWAVEDescriptor interface and also implements the following:
IAAFWAVEDescriptor::GetSummary
The GetSummary method getSummary() Gets a copy of the WAVE 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 WAVE 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 WAVE 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 WAVE file information.
size: Preallocated buffer to hold the WAVE file information.
See Also
IAAFWAVEDescriptor::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
IAAFWAVEDescriptor::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 IAAFWAVEDescriptor ************************
The IAAFWaveDescriptor interface is implemented by objects which
describe audio content data formatted according to the RIFF Waveform
Audio File Format (WAVE). 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. 6-11d2-813c-006097310172
Initialize() Initializes a newly allocated, empty IAAFWaveDescriptor-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
IAAFWAVEDescriptor::SetSummary
The SetSummary method setSummary() Sets the WAVE 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 WAVE 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
IEnumAAFClassDefs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFClassDefs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFClassDefs::Clone
The Clone method clone() Creates another class definition enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another class definition enumerator with the
same state as the current enumerator to iterate over the same
list. This method makes it possible to record a point in the
enumeration sequence in order to return to that point at a later
time. comm The caller must release this new enumerator separately
from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFClassDefs::Next
The Next method next() Enumerates the next count elements (AAFClassDef pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFClassDef** ppClassDefs,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppClassDefs
If the method succeeds, specifies a pointer to a variable containing a pointer to a class defs object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFClassDef pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive class definitions.
ppClassDefs: number of actual ClassDefinitions fetched into ppClassDefs
array.
See Also
IEnumAAFClassDefs::NextOne
The NextOne method ************************ Interface IEnumAAFClassDefs ************************ This interface is used to enumerate across Class Definition objects.
Syntax
HRESULT NextOne(
IAAFClassDef** ppClassDef
);
Parameters
[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
************************ Interface IEnumAAFClassDefs ************************
This interface is used to enumerate across Class Definition 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. * Stub only. Implementation not yet
added * D-11D2-BF78-00104BC9156D NextOne() Enumerates to the
next element in the enumerators list. The caller is responsible
for properly releasing the returned pointer when it is no longer
needed. comm This is a just simplified version of the Next method.
ppClassDef: The Next ClassDefinition.
See Also
IEnumAAFClassDefs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFClassDefs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFClassDefs::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFClassDefs::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFCodecDefs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFCodecDefs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFCodecDefs::Clone
The Clone method clone() Creates another Pluggable definition enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another Pluggable definition enumerator with
the same state as the current enumerator to iterate over the
same list. This method makes it possible to record a point in
the enumeration sequence in order to return to that point at
a later time. comm The caller must release this new enumerator
separately from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFCodecDefs::Next
The Next method next() Enumerates the next count elements (AAFCodecDef pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFCodecDef** ppPluggableDefs,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppPluggableDefs
If the method succeeds, specifies a pointer to a variable containing a pointer to a pluggable defs object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFCodecDef pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive Pluggable definitions.
ppPluggableDefs: number of actual PluggableDefs fetched into
ppPluggableDefs array.
See Also
IEnumAAFCodecDefs::NextOne
The NextOne method ************************ Interface IEnumAAFCodecDefs ************************ A-11d3-80A6-006008143E6F NextOne() Enumerates to the next element in the enumerators list.
Syntax
HRESULT NextOne(
IAAFCodecDef** ppPluggableDef
);
Parameters
[out] ppPluggableDef
If the method succeeds, specifies a pointer to a variable containing a pointer to a pluggable def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFCodecDefs ************************
A-11d3-80A6-006008143E6F NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed. comm
This is a just simplified version of the Next method.
ppPluggableDef: The Next PluggableDefinition.
See Also
IEnumAAFCodecDefs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFCodecDefs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFCodecDefs::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFCodecDefs::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFCodecFlavours Interface
In addition to the methods inherited from IUnknown, the IEnumAAFCodecFlavours interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFCodecFlavours::Clone
The Clone method clone() Creates another EnumAAFCodecFlavours enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another EnumAAFCodecFlavours enumerator with
the same state as the current enumerator to iterate over the
same list. This method makes it possible to record a point in
the enumeration sequence in order to return to that point at
a later time. comm The caller must release this new enumerator
separately from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFCodecFlavours::Next
The Next method next() Enumerates the next count elements (codec flavour IDs) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pFetched.
Syntax
HRESULT Next(
aafUInt32 count,
aafUID_t* pAAFCodecFlavours,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] pAAFCodecFlavours
If the method succeeds, specifies a pointer to an AAFCodecFlavours object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (codec flavour IDs)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pFetched. The
caller is responsible for passing in a pointer to an array of
aafUID_t, and retains control over the pointer.
count: array to receive flavour codes.
pAAFCodecFlavours: number of actual flavour IDs fetched into
pAAFCodecFlavours array.
See Also
IEnumAAFCodecFlavours::NextOne
The NextOne method ************************ Interface IEnumAAFCodecFlavours ************************ An object which allows iteration over all of the flavour codes which a given codec is able to handle.
Syntax
HRESULT NextOne(
aafUID_t* pAAFCodecFlavour
);
Parameters
[out] pAAFCodecFlavour
If the method succeeds, specifies a pointer to an AAFCodecFlavour object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFCodecFlavours ************************
An object which allows iteration over all of the flavour codes
which a given codec is able to handle. 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.
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. 9-11d2-809C-006008143E6F NextOne()
Enumerates to the next element in the enumerators list. The caller
is responsible for passing in a pointer to an aafUID_t, and retains
control over the pointer. comm This is a just simplified version
of the Next method.
pAAFCodecFlavour: The Next flavour code.
See Also
IEnumAAFCodecFlavours::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFCodecFlavours::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFCodecFlavours::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFCodecFlavours::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFComponents Interface
In addition to the methods inherited from IUnknown, the IEnumAAFComponents interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFComponents::Clone
The Clone method clone() Creates another component enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFComponents** 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
Clone() Creates another component enumerator with the same state
as the current enumerator to iterate over the same list. This
method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. Note:
The caller must release this new enumerator separately from the
first enumerator. Succeeds if all of the following are true:
- the ppEnum pointer is valid. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - ppEnum is null.
ppEnum: new enumeration.
See Also
IEnumAAFComponents::Next
The Next method next() Enumerates the next count elements (AAFComponent pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pNumFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFComponent** ppComponents,
aafUInt32* pNumFetched
);
Parameters
[in] count
Specifies count.
[out] ppComponents
If the method succeeds, specifies a pointer to a variable containing a pointer to a components object.
[out] pNumFetched
If the method succeeds, specifies a pointer to a num fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFComponent pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pNumFetched.
The caller is responsible for properly releasing the returned
pointers. Succeeds if all of the following are true: - The ppComponents
pointer is valid. - The pNumFetched pointer is valid. If count
is 1, pNumFetched can be NULL. - There are Component objects
remaining to be returned. If this method fails nothing is written
to *ppComponents or pNumFetched. This method will return the
following codes. If more than one of the listed errors is in
effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - either ppComponents
or pNumFetched is null.
count: array to receive components.
ppComponents: number of actual Components fetched into ppComponents
array.
See Also
IEnumAAFComponents::NextOne
The NextOne method ************************ Interface IEnumAAFComponents ************************ This interface is used to enumerate over the AAFComponents contained in an AAFSequence.
Syntax
HRESULT NextOne(
IAAFComponent** ppComponent
);
Parameters
[out] ppComponent
If the method succeeds, specifies a pointer to a variable containing a pointer to a component object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFComponents ************************
This interface is used to enumerate over the AAFComponents contained
in an AAFSequence. 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
NextOne() Enumerates to the next element in the enumerators list.
The caller is responsible for properly releasing the returned
pointer when it is no longer needed. Succeeds if all of the following
are true: - the ppComponent pointer is valid. - there are Component
objects remaining to be returned. If this method fails nothing
is written to *ppComponent. 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 - ppComponent is null. AAFRESULT_NO_MORE_OBJECTS
- no Components remaining to be returned.
ppComponent: The Next Component.
See Also
IEnumAAFComponents::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. Always succeeds. This method will return
the following code: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.)
See Also
IEnumAAFComponents::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to Next will not return
those elements. Succeeds if all of the following are true: -
count is less than or equal to the number of remaining objects.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
AAFRESULT_NO_MORE_OBJECTS - count exceeded number of remaining
objects.
count: Number of elements to skip.
See Also
IEnumAAFContainerDefs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFContainerDefs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFContainerDefs::Clone
The Clone method clone() Creates another Pluggable definition enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another Pluggable definition enumerator with
the same state as the current enumerator to iterate over the
same list. This method makes it possible to record a point in
the enumeration sequence in order to return to that point at
a later time. comm The caller must release this new enumerator
separately from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFContainerDefs::Next
The Next method next() Enumerates the next count elements (AAFContainerDef pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFContainerDef** ppContainerDefs,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppContainerDefs
If the method succeeds, specifies a pointer to a variable containing a pointer to a container defs object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFContainerDef pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive container definitions.
ppContainerDefs: number of actual container definitions fetched
into ppContainerDefs array.
See Also
IEnumAAFContainerDefs::NextOne
The NextOne method ************************ Interface IEnumAAFContainerDefs ************************ A-11d3-80A6-006008143E6F NextOne() Enumerates to the next element in the enumerators list.
Syntax
HRESULT NextOne(
IAAFContainerDef** ppPluggableDef
);
Parameters
[out] ppPluggableDef
If the method succeeds, specifies a pointer to a variable containing a pointer to a pluggable def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFContainerDefs ************************
A-11d3-80A6-006008143E6F NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed. comm
This is a just simplified version of the Next method.
ppPluggableDef: The Next container Definition.
See Also
IEnumAAFContainerDefs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFContainerDefs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFContainerDefs::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFContainerDefs::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFControlPoints Interface
In addition to the methods inherited from IUnknown, the IEnumAAFControlPoints interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFControlPoints::Clone
The Clone method clone() Creates another control point enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFControlPoints** 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
Clone() Creates another control point enumerator with the same
state as the current enumerator to iterate over the same list.
This method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. comm
The caller must release this new enumerator separately from the
first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFControlPoints::Next
The Next method next() Enumerates the next count elements (AAFControlPoint pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFControlPoint** ppControlPoints,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppControlPoints
If the method succeeds, specifies a pointer to a variable containing a pointer to a control points object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFControlPoint pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive control points.
ppControlPoints: number of actual ControlPoints fetched into
ppControlPoints array.
See Also
IEnumAAFControlPoints::NextOne
The NextOne method ************************ Interface IEnumAAFControlPoints ************************ D-11D2-BF78-00104BC9156D NextOne() Enumerates to the next element in the enumerators list.
Syntax
HRESULT NextOne(
IAAFControlPoint** ppControlPoint
);
Parameters
[out] ppControlPoint
If the method succeeds, specifies a pointer to a variable containing a pointer to a control point object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFControlPoints ************************
D-11D2-BF78-00104BC9156D NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed. comm
This is a just simplified version of the Next method.
ppControlPoint: The Next ControlPoint.
See Also
IEnumAAFControlPoints::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFControlPoints::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFControlPoints::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFControlPoints::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFDataDefs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFDataDefs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFDataDefs::Clone
The Clone method clone() Creates another data definition enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another data definition enumerator with the same
state as the current enumerator to iterate over the same list.
This method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. comm
The caller must release this new enumerator separately from the
first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFDataDefs::Next
The Next method next() Enumerates the next count elements (AAFDataDef pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFDataDef** ppDataDef,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppDataDef
If the method succeeds, specifies a pointer to a variable containing a pointer to a data def object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFDataDef pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive data definitions.
ppDataDef: number of actual DataDefinition fetched into ppDataDefinition
array.
See Also
IEnumAAFDataDefs::NextOne
The NextOne method ************************ Interface IEnumAAFDataDefs ************************ e-11d2-841B-00600832ACB8 NextOne() Enumerates to the next element in the enumerators list.
Syntax
HRESULT NextOne(
IAAFDataDef** ppDataDef
);
Parameters
[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
************************ Interface IEnumAAFDataDefs ************************
e-11d2-841B-00600832ACB8 NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed. comm
This is a just simplified version of the Next method.
ppDataDef: The Next DataDefinition.
See Also
IEnumAAFDataDefs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFDataDefs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFDataDef::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFDataDef::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFEssenceData Interface
In addition to the methods inherited from IUnknown, the IEnumAAFEssenceData interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFEssenceData::Clone
The Clone method clone() Creates another essence data enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another essence data enumerator with the same
state as the current enumerator to iterate over the same list.
This method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. comm
The caller must release this new enumerator separately from the
first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFEssenceData::Next
The Next method next() Enumerates the next count elements (AAFEssenceData pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFEssenceData** ppEssenceData,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppEssenceData
If the method succeeds, specifies a pointer to a variable containing a pointer to an essence data object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFEssenceData pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive EssenceData.
ppEssenceData: number of actual EssenceData fetched into ppEssenceData
array.
See Also
IEnumAAFEssenceData::NextOne
The NextOne method ************************ Interface IEnumAAFEssenceData ************************ The IEnumAAFEssenceData interface is used enumerate all of the AAFEssenceData objects in a file.
Syntax
HRESULT NextOne(
IAAFEssenceData** ppEssenceData
);
Parameters
[out] ppEssenceData
If the method succeeds, specifies a pointer to a variable containing a 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
************************ Interface IEnumAAFEssenceData ************************
The IEnumAAFEssenceData interface is used enumerate all of the
AAFEssenceData objects in a file. The AAFEssenceData objects
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. D-11D2-BF78-00104BC9156D
NextOne() Enumerates to the next element in the enumerators list.
The caller is responsible for properly releasing the returned
pointer when it is no longer needed. comm This is a just simplified
version of the Next method.
ppEssenceData: The Next EssenceData.
See Also
IEnumAAFEssenceData::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFEssenceData::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFEssenceData::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFEssenceData::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFIdentifications Interface
In addition to the methods inherited from IUnknown, the IEnumAAFIdentifications interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFIdentifications::Clone
The Clone method clone() // Creates another identification enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() // Creates another identification enumerator with the
same state as the current enumerator to iterate over the same
list. This method makes it possible to record a point in the
enumeration sequence in order to return to that point at a later
time. Note: The caller must release this new enumerator separately
from the first enumerator. Succeeds if all of the following are
true: - the ppEnum pointer is valid. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - ppEnum is null.
ppEnum: new enumeration.
See Also
IEnumAAFIdentifications::Next
The Next method .
Syntax
HRESULT Next(
aafUInt32 count,
IAAFIdentification** ppIdentifications,
aafUInt32* pNumFetched
);
Parameters
[in] count
Specifies count.
[out] ppIdentifications
If the method succeeds, specifies a pointer to a variable containing a pointer to an identifications object.
[out] pNumFetched
If the method succeeds, specifies a pointer to a num fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() // Enumerates the next count elements (AAFIdentification
pointers) in the enumerator's list, returning them in the given
array along with the actual number of enumerated elements in
pNumFetched. The caller is responsible for properly releasing
the returned pointers when thery are no longer needed. Succeeds
if all of the following are true: - the ppIdentifications pointer
is valid. - the pNumFetched pointer is valid. - there are Identification
objects remaining to be returned. If this method fails nothing
is written to *ppIdentifications or pNumFetched. This method
will return the following codes. If more than one of the listed
errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
either ppIdentification or pNumFetched is null.
count: array to receive identification objects.
ppIdentifications: number of actual Identifications fetched into
ppIdentifications array.
See Also
IEnumAAFIdentifications::NextOne
The NextOne method ************************ Interface IEnumAAFIdentifications ************************ This interfaces allows access to individual IAAFIdentification-supporting objects within a collection.
Syntax
HRESULT NextOne(
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
************************ Interface IEnumAAFIdentifications ************************
This interfaces allows access to individual IAAFIdentification-supporting
objects within a collection. 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 NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed.
Succeeds if all of the following are true: - the ppIdentification
pointer is valid. - there are Identification objects remaining
to be returned. If this method fails nothing is written to *ppIdentification.
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. AAFRESULT_NO_MORE_OBJECTS - no Identifications
remaining to be returned.
ppIdentification: The Next Identification.
See Also
IEnumAAFIdentifications::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. Always succeeds. This method will return
the following code: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.)
See Also
IEnumAAFIdentifications::Skip
The Skip method skip() // Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFIdentifications::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() // Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFIdentifications::Next
will not return those elements. Succeeds if all of the following
are true: - count is less than or equal to the number of remaining
objects. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NO_MORE_OBJECTS
- count exceeded number of remaining objects.
count: Number of elements to skip.
See Also
IEnumAAFInterpolationDefs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFInterpolationDefs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFInterpolationDefs::Clone
The Clone method clone() Creates another Pluggable definition enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another Pluggable definition enumerator with
the same state as the current enumerator to iterate over the
same list. This method makes it possible to record a point in
the enumeration sequence in order to return to that point at
a later time. comm The caller must release this new enumerator
separately from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFInterpolationDefs::Next
The Next method next() Enumerates the next count elements (AAFInterpolationDef pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFInterpolationDef** ppPluggableDefs,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppPluggableDefs
If the method succeeds, specifies a pointer to a variable containing a pointer to a pluggable defs object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFInterpolationDef
pointers) in the enumerator's list, returning them in the given
array along with the actual number of enumerated elements in
pcFetched. The caller is responsible for properly releasing the
returned pointers.
count: array to receive Pluggable definitions.
ppPluggableDefs: number of actual PluggableDefs fetched into
ppPluggableDefs array.
See Also
IEnumAAFInterpolationDefs::NextOne
The NextOne method ************************ Interface IEnumAAFInterpolationDefs ************************ 7-11d3-80A9-006008143E6F NextOne() Enumerates to the next element in the enumerators list.
Syntax
HRESULT NextOne(
IAAFInterpolationDef** ppPluggableDef
);
Parameters
[out] ppPluggableDef
If the method succeeds, specifies a pointer to a variable containing a pointer to a pluggable def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFInterpolationDefs
************************ 7-11d3-80A9-006008143E6F NextOne() Enumerates
to the next element in the enumerators list. The caller is responsible
for properly releasing the returned pointer when it is no longer
needed. comm This is a just simplified version of the Next method.
ppPluggableDef: The Next PluggableDefinition.
See Also
IEnumAAFInterpolationDefs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFInterpolationDefs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFInterpolationDefs::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFInterpolationDefs::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFLoadedPlugins Interface
In addition to the methods inherited from IUnknown, the IEnumAAFLoadedPlugins interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFLoadedPlugins::Clone
The Clone method clone() Creates another EnumAAFLoadedPlugins enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFLoadedPlugins** 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
Clone() Creates another EnumAAFLoadedPlugins enumerator with
the same state as the current enumerator to iterate over the
same list. This method makes it possible to record a point in
the enumeration sequence in order to return to that point at
a later time. comm The caller must release this new enumerator
separately from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFLoadedPlugins::Next
The Next method next() Enumerates the next count elements (AAFPluginDesc pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFPluginDescriptor** ppAAFPluginDesc,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppAAFPluginDesc
If the method succeeds, specifies a pointer to a variable containing a pointer to an AAFPluginDesc object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFPluginDesc pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive AAFPluginDescriptors.
ppAAFPluginDesc: number of actual AAFPluginDescriptor fetched
into ppAAFPluginDesc array.
See Also
IEnumAAFLoadedPlugins::NextOne
The NextOne method ************************ Interface IEnumAAFLoadedPlugins ************************ An object which allows iteration over all of the AAFDefObject managed by the AAFPluginManager.
Syntax
HRESULT NextOne(
IAAFPluginDescriptor** ppAAFPluginDescriptor
);
Parameters
[out] ppAAFPluginDescriptor
If the method succeeds, specifies a pointer to a variable containing a pointer to an AAFPluginDescriptor object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFLoadedPlugins ************************
An object which allows iteration over all of the AAFDefObject
managed by the AAFPluginManager. This is useful when adding something
pluggable into an AAF file, as you know what choices are locally
available. 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. 9-11d2-809C-006008143E6F
NextOne() Enumerates to the next element in the enumerators list.
The caller is responsible for properly releasing the returned
pointer when it is no longer needed. comm This is a just simplified
version of the Next method.
ppAAFPluginDescriptor: The Next AAFPluginDescriptor.
See Also
IEnumAAFLoadedPlugins::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFLoadedPlugins::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFLoadedPlugins::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFLoadedPlugins::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFLocators Interface
In addition to the methods inherited from IUnknown, the IEnumAAFLocators interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFLocators::Clone
The Clone method clone() Creates another locator enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another locator enumerator with the same state
as the current enumerator to iterate over the same list. This
method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. Note:
The caller must release this new enumerator separately from the
first enumerator. Succeeds if all of the following are true:
- the ppEnum pointer is valid. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - ppEnum is null.
ppEnum: new enumeration.
See Also
IEnumAAFLocators::Next
The Next method next() Enumerates the next count elements (AAFLocator pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFLocator** ppLocators,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppLocators
If the method succeeds, specifies a pointer to a variable containing a pointer to a locators object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFLocator pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
Succeeds if all of the following are true: - The ppLocators pointer
is valid. - The pNumFetched pointer is valid. If count is 1,
pNumFetched can be NULL. - There are Locator objects remaining
to be returned. If this method fails nothing is written to *ppLocators
or pNumFetched. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- either ppLocators or pNumFetched is null.
count: array to receive locators.
ppLocators: number of actual Locators fetched into ppLocators
array.
See Also
IEnumAAFLocators::NextOne
The NextOne method .
Syntax
HRESULT NextOne(
IAAFLocator** ppLocator
);
Parameters
[out] ppLocator
If the method succeeds, specifies a pointer to a variable containing a pointer to a locator object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFLocators ************************
This interface is for the enumerator which is generated by IAAFEssenceDescriptor
and is used for enumerating over IAAFLocators attached to EssenceDescriptor
attached to an AAFSourceMob. 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 NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed.
Succeeds if all of the following are true: - the ppLocator pointer
is valid. - there are Locator objects remaining to be returned.
If this method fails nothing is written to *ppLocator. 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 -
ppLocator is null. AAFRESULT_NO_MORE_OBJECTS - no Locators remaining
to be returned.
ppLocator: The Next Locator.
See Also
IEnumAAFLocators::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. Always succeeds. This method will return
the following code: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.)
See Also
IEnumAAFLocators::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFLocators::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFLocators::Next
will not return those elements. Succeeds if all of the following
are true: - count is less than or equal to the number of remaining
objects. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. AAFRESULT_NO_MORE_OBJECTS - count exceeded number
of remaining objects.
count: Number of elements to skip.
See Also
IEnumAAFMobs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFMobs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFMobs::Clone
The Clone method clone() Creates another mob enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFMobs** 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
Clone() Creates another mob enumerator with the same state as
the current enumerator to iterate over the same list. This method
makes it possible to record a point in the enumeration sequence
in order to return to that point at a later time. Note: The caller
must release this new enumerator separately from the first enumerator.
Succeeds if all of the following are true: - the ppEnum pointer
is valid. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppEnum is null.
ppEnum: new enumeration.
See Also
IEnumAAFMobs::Next
The Next method next() Enumerates the next count elements (AAFMob pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pNumFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFMob** ppMobs,
aafUInt32* pNumFetched
);
Parameters
[in] count
Specifies count.
[out] ppMobs
If the method succeeds, specifies a pointer to a variable containing a pointer to a mobs object.
[out] pNumFetched
If the method succeeds, specifies a pointer to a num fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFMob pointers) in
the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pNumFetched.
The caller is responsible for properly releasing the returned
pointers. Succeeds if all of the following are true: - the ppMobs
pointer is valid. - the pNumFetched pointer is valid. - there
are Mob objects remaining to be returned. If this method fails
nothing is written to *ppMobs or pNumFetched. This method will
return the following codes. If more than one of the listed errors
is in effect, it will return the first one encountered in the
order given below: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.) AAFRESULT_NULL_PARAM - either
ppMob or pNumFetched is null.
count: array to receive mobs.
ppMobs: number of actual Mobs fetched into ppMobs array.
See Also
IEnumAAFMobs::NextOne
The NextOne method .
Syntax
HRESULT NextOne(
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 IEnumAAFMobs ************************
This interface is for the enumerator which is generated by IAAFHeader
and is used for enumerating over IAAFMobs attached to the content
storage attached to the header. The call to generate this enumerator
takes a mob kind [see below], and enumerates over a subset of
the mobs attached to the content storage. This is because importing
programs often import starting with the source mobs, and ending
with the composition mobs, so that no dangling references must
be maintained in their internal representation. The possible
values for mobKind are: kCompMob -- Iterate over AAFCompositionMob.
kMasterMob -- iterate over AAFMasterMob. kFileMob -- Iterate
over AAFSourceMob with attached AAFFileDescriptor. kTapeMob --
Iterate over AAFSourceMob with attached AAFTapeDescriptor. kFilmMob
-- Iterate over AAFSourceMob with attached AAFFilmDescriptor.
kAllMob -- Iterate over all IAAMob. 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 NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed.
Succeeds if all of the following are true: - the ppMob pointer
is valid. - there are Mob objects remaining to be returned.
If this method fails nothing is 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 -
ppMob is null. AAFRESULT_NO_MORE_OBJECTS - no Mobs remaining
to be returned.
ppMob: The Next Mob.
See Also
IEnumAAFMobs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. Always succeeds. This method will return
the following code: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.)
See Also
IEnumAAFMobs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFMobs::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFMobs::Next
will not return those elements. Succeeds if all of the following
are true: - count is less than or equal to the number of remaining
objects. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NO_MORE_OBJECTS
- count exceeded number of remaining objects.
count: Number of elements to skip.
See Also
IEnumAAFMobSlots Interface
In addition to the methods inherited from IUnknown, the IEnumAAFMobSlots interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFMobSlots::Clone
The Clone method clone() Creates another mob slot enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFMobSlots** 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
Clone() Creates another mob slot enumerator with the same state
as the current enumerator to iterate over the same list. This
method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. Note:
The caller must release this new enumerator separately from the
first enumerator. 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: new enumeration.
See Also
IEnumAAFMobSlots::Next
The Next method next() Enumerates the next count elements (AAFMobSlot pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pNumFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFMobSlot** ppMobSlots,
aafUInt32* pNumFetched
);
Parameters
[in] count
Specifies count.
[out] ppMobSlots
If the method succeeds, specifies a pointer to a variable containing a pointer to a mob slots object.
[out] pNumFetched
If the method succeeds, specifies a pointer to a num fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFMobSlot pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pNumFetched.
The caller is responsible for properly releasing the returned
pointers. Succeeds if all of the following are true: - the ppMobSlots
pointer is valid. - the pNumFetched pointer is valid. - there
are Mob Slot objects remaining to be returned. If this method
fails nothing is written to *ppMobSlots or pNumFetched. This
method will return the following codes. If more than one of the
listed errors is in effect, it will return the first one encountered
in the order given below: AAFRESULT_SUCCESS - succeeded. (This
is the only code indicating success.) AAFRESULT_NULL_PARAM -
either ppMob or pNumFetched is null. E_INVALIDARG - Hit the end
of the list of slots being enumerated over.
count: array to receive mob slots.
ppMobSlots: number of actual MobSlots fetched into ppMobSlots
array.
See Also
IEnumAAFMobSlots::NextOne
The NextOne method .
Syntax
HRESULT NextOne(
IAAFMobSlot** ppMobSlot
);
Parameters
[out] ppMobSlot
If the method succeeds, specifies a pointer to a variable containing a pointer to a mob slot object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFMobSlots ************************
This interface is for the enumerator which is generated by IAAFMob
and is used for enumerating over IAAFMobSlots attached to the
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. D-11D2-BF78-00104BC9156D
NextOne() Enumerates to the next element in the enumerators list.
The caller is responsible for properly releasing the returned
pointer when it is no longer needed. Succeeds if all of the following
are true: - the ppMobSlot pointer is valid. - there are Mob Slot
objects remaining to be returned. If this method fails nothing
is written to *ppMobSlot. 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 - ppMobSlot is null. AAFRESULT_NO_MORE_OBJECTS
- Hit the end of the list of slots being enumerated over.
ppMobSlot: The Next MobSlot.
See Also
IEnumAAFMobSlots::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. Always succeeds. This method will return
the following code: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.)
See Also
IEnumAAFMobSlots::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFMobSlots::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFMobSlots::Next
will not return those elements. Succeeds if all of the following
are true: - count is less than or equal to the number of remaining
objects. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NO_MORE_OBJECTS
- count exceeded number of remaining objects.
count: Number of elements to skip.
See Also
IEnumAAFOperationDefs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFOperationDefs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFOperationDefs::Clone
The Clone method clone() Creates another operation definition enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another operation definition enumerator with
the same state as the current enumerator to iterate over the
same list. This method makes it possible to record a point in
the enumeration sequence in order to return to that point at
a later time. comm The caller must release this new enumerator
separately from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFOperationDefs::Next
The Next method next() Enumerates the next count elements (AAFOperationDef pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFOperationDef** ppOperationDefs,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppOperationDefs
If the method succeeds, specifies a pointer to a variable containing a pointer to an operation defs object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFOperationDef pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive operation definitions.
ppOperationDefs: number of actual OperationDefinitions fetched
into ppOperationDefs array.
See Also
IEnumAAFOperationDefs::NextOne
The NextOne method ************************ Interface IEnumAAFOperationDefs ************************ B-11D2-BF7E-00104BC9156D NextOne() Enumerates to the next element in the enumerators list.
Syntax
HRESULT NextOne(
IAAFOperationDef** ppOperationDef
);
Parameters
[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
************************ Interface IEnumAAFOperationDefs ************************
B-11D2-BF7E-00104BC9156D NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed. comm
This is a just simplified version of the Next method.
ppOperationDef: The Next OperationDefinition.
See Also
IEnumAAFOperationDefs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFOperationDefs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFOperationDefs::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFOperationDefs::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFParameterDefs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFParameterDefs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFParameterDefs::Clone
The Clone method comm There is no guarantee that the same set of elements will be enumerated on each pass through the list, nor will the elements necessarily be enumerated in the same order.
Syntax
HRESULT Clone(
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
comm There is no guarantee that the same set of elements will
be enumerated on each pass through the list, nor will the elements
necessarily be enumerated in the same order. The exact behavior
depends on the collection being enumerated.) Clone() Creates
another EnumAAFParameterDefs enumerator with the same state as
the current enumerator to iterate over the same list. This method
makes it possible to record a point in the enumeration sequence
in order to return to that point at a later time. Note: The caller
must release this new enumerator separately from the first enumerator.
Succeeds if all of the following are true: - the ppEnum pointer
is valid. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppEnum is null.
ppEnum: new enumeration.
See Also
IEnumAAFParameterDefs::Next
The Next method next() Enumerates the next count elements (AAFParameterDef pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pNumFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFParameterDef** ppParameterDefs,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppParameterDefs
If the method succeeds, specifies a pointer to a variable containing a pointer to a parameter defs object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFParameterDef pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pNumFetched.
The caller is responsible for properly releasing the returned
pointers. Succeeds if all of the following are true: - The ppParameterDefs
pointer is valid. - The pNumFetched pointer is valid. If count
is 1, pNumFetched can be NULL. - There are AAFParameterDef objects
remaining to be returned. If this method fails nothing is written
to *ppComponents or pNumFetched. This method will return the
following codes. If more than one of the listed errors is in
effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - either ppParameterDefs
or pNumFetched is null.
count: array to receive control code definitions.
ppParameterDefs: number of actual ParameterDefs fetched into
ppParameterDefs array.
See Also
IEnumAAFParameterDefs::NextOne
The NextOne method .
Syntax
HRESULT NextOne(
IAAFParameterDef** ppParameterDef
);
Parameters
[out] ppParameterDef
If the method succeeds, specifies a pointer to a variable containing a pointer to a parameter def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFParameterDefs ************************
This interface is used to enumerate over the AAFParameterDefinitions
referenced from in an AAFOperationDefinition or AAFParameter,
and contained within the AAFDictionary. 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 NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed.
Succeeds if all of the following are true: - the ppParameterDef
pointer is valid. - there are ParameterDef objects remaining
to be returned. If this method fails nothing is written to *ppParameterDef.
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
- ppParameterDef is null. AAFRESULT_NO_MORE_OBJECTS - no ParameterDefs
remaining to be returned.
ppParameterDef: The Next ParameterDefinition.
See Also
IEnumAAFParameterDefs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. Always succeeds. This method will return
the following code: AAFRESULT_SUCCESS - succeeded. (This is the
only code indicating success.)
See Also
IEnumAAFParameterDefs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to Next will not return
those elements. Succeeds if all of the following are true: -
count is less than or equal to the number of remaining objects.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
AAFRESULT_NO_MORE_OBJECTS - count exceeded number of remaining
objects.
count: Number of elements to skip.
See Also
IEnumAAFPluginDescriptors Interface
In addition to the methods inherited from IUnknown, the IEnumAAFPluginDescriptors interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFPluginDescriptors::Clone
The Clone method clone() Creates another AAFPluginDescriptor enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another AAFPluginDescriptor enumerator with the
same state as the current enumerator to iterate over the same
list. This method makes it possible to record a point in the
enumeration sequence in order to return to that point at a later
time. comm The caller must release this new enumerator separately
from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFPluginDescriptors::Next
The Next method next() Enumerates the next count elements (AAFPluginDescriptor pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFPluginDescriptor** ppAAFPluginDescriptors,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppAAFPluginDescriptors
If the method succeeds, specifies a pointer to a variable containing a pointer to an AAFPluginDescriptors object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFPluginDescriptor
pointers) in the enumerator's list, returning them in the given
array along with the actual number of enumerated elements in
pcFetched. The caller is responsible for properly releasing the
returned pointers.
count: array to receive AAFPluginDescriptors.
ppAAFPluginDescriptors: number of actual AAFPluginDescriptors
fetched into ppAAFPluginDescriptors array.
See Also
IEnumAAFPluginDescriptors::NextOne
The NextOne method ************************ Interface IEnumAAFPluginDescriptors ************************ An object which allows iteration over all of the AAFPluginDescriptors attached to an AAFPluggableDef.
Syntax
HRESULT NextOne(
IAAFPluginDescriptor** ppAAFPluginDescriptor
);
Parameters
[out] ppAAFPluginDescriptor
If the method succeeds, specifies a pointer to a variable containing a pointer to an AAFPluginDescriptor object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFPluginDescriptors
************************ An object which allows iteration over
all of the AAFPluginDescriptors attached to an AAFPluggableDef.
These descriptors describe particular implementation of the particular
plugin interface. 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
NextOne() Enumerates to the next element in the enumerators list.
The caller is responsible for properly releasing the returned
pointer when it is no longer needed. comm This is a just simplified
version of the Next method.
ppAAFPluginDescriptor: The Next AAFPluginDescriptor.
See Also
IEnumAAFPluginDescriptors::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFPluginDescriptors::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFPluginDescriptors::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFPluginDescriptors::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFPluginLocators Interface
In addition to the methods inherited from IUnknown, the IEnumAAFPluginLocators interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFPluginLocators::Clone
The Clone method clone() Creates another AAFPluginLocators enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFPluginLocators** 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
Clone() Creates another AAFPluginLocators enumerator with the
same state as the current enumerator to iterate over the same
list. This method makes it possible to record a point in the
enumeration sequence in order to return to that point at a later
time. comm The caller must release this new enumerator separately
from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFPluginLocators::Next
The Next method next() Enumerates the next count elements (AAFLocator pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFLocator** ppAAFLocators,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppAAFLocators
If the method succeeds, specifies a pointer to a variable containing a pointer to an AAFLocators object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFLocator pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive AAFLocators.
ppAAFLocators: number of actual AAFLocators fetched into ppAAFLocators
array.
See Also
IEnumAAFPluginLocators::NextOne
The NextOne method ************************ Interface IEnumAAFPluginLocators ************************ An object which allows iteration over all of the AAFLocators attached to an AAFPluginDescriptor.
Syntax
HRESULT NextOne(
IAAFLocator** ppAAFLocator
);
Parameters
[out] ppAAFLocator
If the method succeeds, specifies a pointer to a variable containing a pointer to an AAFLocator object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFPluginLocators ************************
An object which allows iteration over all of the AAFLocators
attached to an AAFPluginDescriptor. These locators describe how
to locate the exact object code described in the AAFPluginDescriptor.
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 NextOne()
Enumerates to the next element in the enumerators list. The caller
is responsible for properly releasing the returned pointer when
it is no longer needed. comm This is a just simplified version
of the Next method.
ppAAFLocator: The Next AAFLocator.
See Also
IEnumAAFPluginLocators::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFPluginLocators::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFPluginLocators::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFPluginLocators::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFProperties Interface
In addition to the methods inherited from IUnknown, the IEnumAAFProperties interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFProperties::Clone
The Clone method clone() Creates another enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFProperties** 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
Clone() Creates another enumerator with the same state as the
current enumerator to iterate over the same list. This method
makes it possible to record a point in the enumeration sequence
in order to return to that point at a later time. Note: The caller
must release this new enumerator separately from the first enumerator.
Succeeds if all of the following are true: - the ppEnum pointer
is valid. This method will return the following codes. If more
than one of the listed errors is in effect, it will return the
first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- ppEnum arg is NULL.
ppEnum: new enumeration.
See Also
IEnumAAFProperties::Next
The Next method next() Enumerates the next count elements (AAFProperty pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pNumFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFProperty** ppProperties,
aafUInt32* pNumFetched
);
Parameters
[in] count
Specifies count.
[out] ppProperties
If the method succeeds, specifies a pointer to a variable containing a pointer to a properties object.
[out] pNumFetched
If the method succeeds, specifies a pointer to a num fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFProperty pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pNumFetched.
The caller is responsible for properly releasing the returned
pointers. Succeeds if all of the following are true: - The ppProperties
pointer is valid. - The pNumFetched pointer is valid. If count
is 1, pNumFetched can be NULL. - There are Property objects remaining
to be returned. If this method fails nothing is written to *ppProperties
or pNumFetched. This method will return the following codes.
If more than one of the listed errors is in effect, it will return
the first one encountered in the order given below: AAFRESULT_SUCCESS
- succeeded. (This is the only code indicating success.) AAFRESULT_NULL_PARAM
- Either ppProperties or pNumFetched arg is NULL.
count: array to receive elements.
ppProperties: number of actual Property objects fetched into
ppProperties array.
See Also
IEnumAAFProperties::NextOne
The NextOne method ************************ Interface IEnumAAFProperties ************************ This interface is used to enumerate over the AAFProperties contained in a collection.
Syntax
HRESULT NextOne(
IAAFProperty** ppProperties
);
Parameters
[out] ppProperties
If the method succeeds, specifies a pointer to a variable containing a pointer to a properties object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFProperties ************************
This interface is used to enumerate over the AAFProperties contained
in a collection. 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 * 3-11D2-841D-00600832ACB8 NextOne()
Enumerates to the next element in the enumerators list. The caller
is responsible for properly releasing the returned pointer when
it is no longer needed. Succeeds if all of the following are
true: - the ppProperties pointer is valid. - there are Property
objects remaining to be returned. If this method fails nothing
is written to *ppProperties. 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 - ppProperties arg is NULL. AAFRESULT_NO_MORE_OBJECTS
- no Property objects remaining to be returned.
ppProperties: The Next Property.
See Also
IEnumAAFProperties::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.)
See Also
IEnumAAFProperties::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to Next will not return
those elements. Succeeds if all of the following are true: -
count is less than or equal to the number of remaining objects.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
(This is the only code indicating success.) AAFRESULT_NO_MORE_OBJECTS
- count exceeded number of remaining objects.
count: Number of elements to skip.
See Also
IEnumAAFPropertyDefs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFPropertyDefs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFPropertyDefs::Clone
The Clone method clone() Creates another property definition enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another property definition enumerator with the
same state as the current enumerator to iterate over the same
list. This method makes it possible to record a point in the
enumeration sequence in order to return to that point at a later
time. comm The caller must release this new enumerator separately
from the first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFPropertyDefs::Next
The Next method next() Enumerates the next count elements (AAFPropertyDef pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFPropertyDef** ppPropertyDefs,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppPropertyDefs
If the method succeeds, specifies a pointer to a variable containing a pointer to a property defs object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFPropertyDef pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive property definitions.
ppPropertyDefs: number of actual PropertyDefs fetched into ppPropertyDefs
array.
See Also
IEnumAAFPropertyDefs::NextOne
The NextOne method ************************ Interface IEnumAAFPropertyDefs ************************ * Stub only.
Syntax
HRESULT NextOne(
IAAFPropertyDef** ppPropertyDef
);
Parameters
[out] ppPropertyDef
If the method succeeds, specifies a pointer to a variable containing a pointer to a property def object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFPropertyDefs ************************
* Stub only. Implementation not yet added * 9-11D2-BF80-00104BC9156D
NextOne() Enumerates to the next element in the enumerators list.
The caller is responsible for properly releasing the returned
pointer when it is no longer needed. comm This is a just simplified
version of the Next method.
ppPropertyDef: The Next PropertyDefinition.
See Also
IEnumAAFPropertyDefs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFPropertyDefs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFPropertyDefs::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFPropertyDefs::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFPropertyValues Interface
In addition to the methods inherited from IUnknown, the IEnumAAFPropertyValues interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFPropertyValues::Clone
The Clone method clone() Creates another Property Value enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFPropertyValues** 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
Clone() Creates another Property Value enumerator with the same
state as the current enumerator to iterate over the same list.
This method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. Note:
The caller must release this new enumerator separately from the
first enumerator. Succeeds if all of the following are true:
- the ppEnum pointer is valid. This method will return the following
codes. If more than one of the listed errors is in effect, it
will return the first one encountered in the order given below:
AAFRESULT_SUCCESS - succeeded. (This is the only code indicating
success.) AAFRESULT_NULL_PARAM - ppEnum is null.
ppEnum: new enumeration.
See Also
IEnumAAFPropertyValues::Next
The Next method next() Enumerates the next count elements (AAFPropertyValue pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pNumFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFPropertyValue** ppPropertyValues,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppPropertyValues
If the method succeeds, specifies a pointer to a variable containing a pointer to a property values object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFPropertyValue pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pNumFetched.
The caller is responsible for properly releasing the returned
pointers. Succeeds if all of the following are true: - The ppMobs
pointer is valid. - The pNumFetched pointer is valid. If count
is 1, pNumFetched can be NULL. - There are Property Value objects
remaining to be returned. If this method fails nothing is written
to *ppPropertyValues or pNumFetched. This method will return
the following codes. If more than one of the listed errors is
in effect, it will return the first one encountered in the order
given below: AAFRESULT_SUCCESS - succeeded. (This is the only
code indicating success.) AAFRESULT_NULL_PARAM - either ppCompoents
or pNumFetched is null.
count: array to receive Property Values.
ppPropertyValues: array.
See Also
IEnumAAFPropertyValues::NextOne
The NextOne method ************************ Interface IEnumAAFPropertyValues ************************ This interface is used to enumerate over the AAFPropertyValues contained in a collection.
Syntax
HRESULT NextOne(
IAAFPropertyValue** ppPropertyValue
);
Parameters
[out] ppPropertyValue
If the method succeeds, specifies a pointer to a variable containing a pointer to a property value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFPropertyValues ************************
This interface is used to enumerate over the AAFPropertyValues
contained in a collection. 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 * 4-11d2-841f-00600832acb8
NextOne() Enumerates to the next element in the enumerators list.
The caller is responsible for properly releasing the returned
pointer when it is no longer needed. Succeeds if all of the following
are true: - the ppPropertyValue pointer is valid. - there are
Property Values remaining to be returned. If this method fails
nothing is written to *ppPropertyValue. 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 - ppPropertyValue
is null. AAFRESULT_NO_MORE_OBJECTS - no Components remaining
to be returned.
ppPropertyValue: The Next Property Value.
See Also
IEnumAAFPropertyValues::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. 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.)
See Also
IEnumAAFPropertyValues::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to Next will not return
those elements. Succeeds if all of the following are true: -
count is less than or equal to the number of remaining objects.
This method will return the following codes. If more than one
of the listed errors is in effect, it will return the first one
encountered in the order given below: AAFRESULT_SUCCESS - succeeded.
AAFRESULT_NO_MORE_OBJECTS - count exceeded number of remaining
objects.
count: Number of elements to skip.
See Also
IEnumAAFSegments Interface
In addition to the methods inherited from IUnknown, the IEnumAAFSegments interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFSegments::Clone
The Clone method clone() Creates another segment enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFSegments** 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
Clone() Creates another segment enumerator with the same state
as the current enumerator to iterate over the same list. This
method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. comm
The caller must release this new enumerator separately from the
first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFSegments::Next
The Next method next() Enumerates the next count elements (AAFSegment pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFSegment** ppSegments,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppSegments
If the method succeeds, specifies a pointer to a variable containing a pointer to a segments object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFSegment pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive segments.
ppSegments: number of actual Segments fetched into ppSegments
array.
See Also
IEnumAAFSegments::NextOne
The NextOne method ************************ Interface IEnumAAFSegments ************************ D-11D2-BF78-00104BC9156D NextOne() Enumerates to the next element in the enumerators list.
Syntax
HRESULT NextOne(
IAAFSegment** ppSegment
);
Parameters
[out] ppSegment
If the method succeeds, specifies a pointer to a variable containing a pointer to a segment object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFSegments ************************
D-11D2-BF78-00104BC9156D NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed. comm
This is a just simplified version of the Next method.
ppSegment: The Next Segment.
See Also
IEnumAAFSegments::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFSegments::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFSegments::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFSegments::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFTaggedValues Interface
In addition to the methods inherited from IUnknown, the IEnumAAFTaggedValues interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFTaggedValues::Clone
The Clone method clone() Creates another Tagged Value enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
IEnumAAFTaggedValues** 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
Clone() Creates another Tagged Value enumerator with the same
state as the current enumerator to iterate over the same list.
This method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. comm
The caller must release this new enumerator separately from the
first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFTaggedValues::Next
The Next method next() Enumerates the next count elements (AAFTaggedValue pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFTaggedValue** ppTaggedValues,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppTaggedValues
If the method succeeds, specifies a pointer to a variable containing a pointer to a tagged values object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFTaggedValue pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive container definitions.
ppTaggedValues: number of actual Tagged Values fetched into ppTaggedValues
array.
See Also
IEnumAAFTaggedValues::NextOne
The NextOne method ************************ Interface IEnumAAFTaggedValues ************************ 7-11d3-8a3e-0050040ef7d2 NextOne() Enumerates to the next element in the enumerators list.
Syntax
HRESULT NextOne(
IAAFTaggedValue** ppTaggedValue
);
Parameters
[out] ppTaggedValue
If the method succeeds, specifies a pointer to a variable containing a pointer to a tagged value object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
************************ Interface IEnumAAFTaggedValues ************************
7-11d3-8a3e-0050040ef7d2 NextOne() Enumerates to the next element
in the enumerators list. The caller is responsible for properly
releasing the returned pointer when it is no longer needed. comm
This is a just simplified version of the Next method.
ppTaggedValue: The Next Tagged Value.
See Also
IEnumAAFTaggedValues::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFTaggedValues::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFTaggedValues::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFTaggedValues::Next
will not return those elements.
count: Number of elements to skip.
See Also
IEnumAAFTypeDefs Interface
In addition to the methods inherited from IUnknown, the IEnumAAFTypeDefs interface exposes the following methods.
Clone
Next
NextOne
Reset
Skip
IEnumAAFTypeDefs::Clone
The Clone method clone() Creates another type definition enumerator with the same state as the current enumerator to iterate over the same list.
Syntax
HRESULT Clone(
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
Clone() Creates another type definition enumerator with the same
state as the current enumerator to iterate over the same list.
This method makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time. comm
The caller must release this new enumerator separately from the
first enumerator.
ppEnum: new enumeration.
See Also
IEnumAAFTypeDefs::Next
The Next method next() Enumerates the next count elements (AAFTypeDef pointers) in the enumerator's list, returning them in the given array along with the actual number of enumerated elements in pcFetched.
Syntax
HRESULT Next(
aafUInt32 count,
IAAFTypeDef** ppTypeDefs,
aafUInt32* pFetched
);
Parameters
[in] count
Specifies count.
[out] ppTypeDefs
If the method succeeds, specifies a pointer to a variable containing a pointer to a type defs object.
[out] pFetched
If the method succeeds, specifies a pointer to a fetched object.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Next() Enumerates the next count elements (AAFTypeDef pointers)
in the enumerator's list, returning them in the given array along
with the actual number of enumerated elements in pcFetched. The
caller is responsible for properly releasing the returned pointers.
count: array to receive type definition definitions.
ppTypeDefs: number of actual TypeDefs fetched into ppTypeDefs
array.
See Also
IEnumAAFTypeDefs::NextOne
The NextOne method ************************ Interface IEnumAAFTypeDefs ************************ * Stub only.
Syntax
HRESULT NextOne(
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
************************ Interface IEnumAAFTypeDefs ************************
* Stub only. Implementation not yet added * D-11D2-BF78-00104BC9156D
NextOne() Enumerates to the next element in the enumerators list.
The caller is responsible for properly releasing the returned
pointer when it is no longer needed. comm This is a just simplified
version of the Next method.
ppTypeDef: The Next TypeDefinition.
See Also
IEnumAAFTypeDefs::Reset
The Reset method reset() Instructs the enumerator to position itself at the beginning of the list of elements.
Syntax
HRESULT Reset();
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
Reset() Instructs the enumerator to position itself at the beginning
of the list of elements. comm There is no guarantee that the
same set of elements will be enumerated on each pass through
the list, nor will the elements necessarily be enumerated in
the same order. The exact behavior depends on the collection
being enumerated.
See Also
IEnumAAFTypeDefs::Skip
The Skip method skip() Instructs the enumerator to skip the next count elements in the enumeration so that the next call to EnumAAFTypeDefs::Next will not return those elements.
Syntax
HRESULT Skip(
aafUInt32 count
);
Parameters
[in] count
Specifies count.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
Skip() Instructs the enumerator to skip the next count elements
in the enumeration so that the next call to EnumAAFTypeDefs::Next
will not return those elements.
count: Number of elements to skip.
See Also