本文整理汇总了C++中IAAFDictionary::GetDataDefs方法的典型用法代码示例。如果您正苦于以下问题:C++ IAAFDictionary::GetDataDefs方法的具体用法?C++ IAAFDictionary::GetDataDefs怎么用?C++ IAAFDictionary::GetDataDefs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IAAFDictionary
的用法示例。
在下文中一共展示了IAAFDictionary::GetDataDefs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ReadAAFFile
static HRESULT ReadAAFFile(aafWChar* pFileName)
{
IAAFFile* pFile = NULL;
IAAFHeader* pHeader = NULL;
IEnumAAFMobs* pMobIter = NULL;
IAAFMob* pMob;
IEnumAAFMobSlots* pSlotIter = NULL;
IAAFMobSlot* pSlot = NULL;
IAAFComponent* pComp = NULL;
IAAFSegment* pSegment = NULL;
IAAFDataDef* pDataDef = NULL;
IAAFSequence* pSequence = NULL;
IAAFDictionary* pDictionary = NULL;
IEnumAAFDataDefs* pEnumDataDef = NULL;
IEnumAAFDataDefs* pCloneEnum = NULL;
IEnumAAFComponents* pCompIter = NULL;
IAAFDataDef* pArray[2] = { NULL, NULL };
aafNumSlots_t numMobs;
aafInt32 index;
aafSearchCrit_t criteria;
HRESULT hr = S_OK;
aafBool testBool;
aafUInt32 resultCount;
try
{
// Open the AAF file
checkResult(AAFFileOpenExistingRead(pFileName, 0, &pFile));
// Get the AAF file header.
checkResult(pFile->GetHeader(&pHeader));
// Validate that there is only one composition mob.
checkResult(pHeader->CountMobs(kAAFCompMob, &numMobs));
checkExpression(1 == numMobs, AAFRESULT_TEST_FAILED);
// Get the AAF Dictionary so that we can create valid AAF objects.
checkResult(pHeader->GetDictionary(&pDictionary));
// The test can't check the types on these because the order of adding data definitions
// is defined by the toolkit, and not the test. !!!Change this to determine the order on
// the first two tests, and then use to test the other functions.
checkResult(pDictionary->GetDataDefs(&pEnumDataDef));
/* Read and check the first element */
checkResult(pEnumDataDef->NextOne(&pDataDef));
checkResult(pDataDef->IsPictureKind(&testBool));
// checkExpression(testBool == kAAFTrue, AAFRESULT_TEST_FAILED);
checkResult(pDataDef->IsSoundKind(&testBool));
// checkExpression(testBool == kAAFFalse, AAFRESULT_TEST_FAILED);
pDataDef->Release();
pDataDef = NULL;
/**/
/* Read and check the second element */
checkResult(pEnumDataDef->NextOne(&pDataDef));
checkResult(pDataDef->IsSoundKind(&testBool));
// checkExpression(testBool == kAAFTrue, AAFRESULT_TEST_FAILED);
checkResult(pDataDef->IsPictureKind(&testBool));
// checkExpression(testBool == kAAFFalse, AAFRESULT_TEST_FAILED);
pDataDef->Release();
pDataDef = NULL;
/*****/
/* Reset, and check the first element again*/
checkResult(pEnumDataDef->Reset());
checkResult(pEnumDataDef->NextOne(&pDataDef));
checkResult(pDataDef->IsPictureKind(&testBool));
// checkExpression(testBool == kAAFTrue, AAFRESULT_TEST_FAILED);
checkResult(pDataDef->IsSoundKind(&testBool));
// checkExpression(testBool == kAAFFalse, AAFRESULT_TEST_FAILED);
pDataDef->Release();
pDataDef = NULL;
/* Reset, Skip, and check the second element again*/
checkResult(pEnumDataDef->Reset());
checkResult(pEnumDataDef->Skip(1));
checkResult(pEnumDataDef->NextOne(&pDataDef));
checkResult(pDataDef->IsSoundKind(&testBool));
// checkExpression(testBool == kAAFTrue, AAFRESULT_TEST_FAILED);
checkResult(pDataDef->IsPictureKind(&testBool));
// checkExpression(testBool == kAAFFalse, AAFRESULT_TEST_FAILED);
pDataDef->Release();
pDataDef = NULL;
/* Reset, and read both elements */
checkResult(pEnumDataDef->Reset());
checkResult(pEnumDataDef->Next (2, (IAAFDataDef **)&pArray, &resultCount));
checkExpression (resultCount == 2, AAFRESULT_TEST_FAILED);
checkResult(pArray[0]->IsPictureKind(&testBool));
// checkExpression(testBool == kAAFTrue, AAFRESULT_TEST_FAILED);
checkResult(pArray[0]->IsSoundKind(&testBool));
// checkExpression(testBool == kAAFFalse, AAFRESULT_TEST_FAILED);
pArray[0]->Release();
pArray[0] = NULL;
checkResult(pArray[1]->IsSoundKind(&testBool));
// checkExpression(testBool == kAAFTrue, AAFRESULT_TEST_FAILED);
checkResult(pArray[1]->IsPictureKind(&testBool));
// checkExpression(testBool == kAAFFalse, AAFRESULT_TEST_FAILED);
//.........这里部分代码省略.........