2012-02-10 23 views
0

我想解析一個.X文件(用於DirectX)的動畫網格的fps ... .X文件使用模板數據。我想在模板中獲取變量:AnimTicksPerSecond,但是,我不能告訴解析器識別這個模板,因爲我沒有GUID ...有沒有一種查找GUID的方法?這是我的解析器代碼,它與標準模板一起工作,但AnimTicksPerSecond沒有在同一個文件中定義(由DirectX SDK提供)。AnimTicksPerSecond GUID

BOOL cAnimationCollection::ParseObject(LPD3DXFILEDATA pDataObj, DWORD Depth, void **data) 
{ 
    if(pDataObj->IsReference()) 
     return true; 

    if(CompareDataObjectType(pDataObj, TID_D3DRMAnimationSet)) //Animation Set is defined in rmxfguid.h(comes with DX SDK) 
    { 
     // Create and link Object 
     cAnimationSet *AnimSet = new cAnimationSet(); 
     AnimSet->m_Next = m_AnimationSets; 
     m_AnimationSets = AnimSet; 

     // Increment # Animation Sets by 1 
     m_NumAnimationSets++; 

     // Set Animation Index to global count 
     AnimSet->m_index = index; 
     index++; 

     LPD3DXFILEDATA pSubData; 
     SIZE_T nChildren; 

     if(!strcmp(GetObjectName(pDataObj), "Unknown") || !(AnimSet->m_Name = GetObjectName(pDataObj))) 
      AnimSet->m_Name = _strdup("NewAnimationSet"); 
     if(SUCCEEDED(pDataObj->GetChildren(&nChildren))) 
     for(SIZE_T index = 0; index < nChildren; index++) 
      if(SUCCEEDED(pDataObj->GetChild(index, &pSubData))){ 
       ParseChildObjects(pSubData, Depth, data); 
      } 
    } 
    return true; 
} 

回答

0

第一款谷歌結果爲AnimTicksPerSecondMSDN documentation,其中有這樣的聲明:

template AnimTicksPerSecond 
{ 
    < 9E415A43-7BA6-4a73-8743-B73D47E88476 > 
    DWORD AnimTicksPerSecond; 
} 

看起來像一個GUID給我。

+0

我正在尋找IID,對不起 – 2012-02-10 19:20:38

+0

這就是IID * * *。 – 2012-02-10 19:38:46

+0

當我在代碼中引用AnimTicksPerSecond時,出現錯誤,指出AnimTicksPerSecond是「未引用的變量」。系統中的某個位置包含的文件是對AnimTicksPerSecond的正確IID的引用...例如...在rmxfguid.h中,可以找到具有IID:TID_D3DRMAnimation的動畫模板的DEFINE_GUID宏。 TnimTicksPerSecond不在rmxfguid.h的列表中......它在哪裏?我如何參考它? – 2012-02-10 20:09:24