共用方式為


IDiaEnumFrameData

列舉各種資料來源中所包含的框架資料項目。

IDiaEnumFrameData : IUnknown

方法 Vtable 順序

下表顯示的方法IDiaEnumFrameData

方法

描述

IDiaEnumFrameData::get__NewEnum

擷取IEnumVARIANT Interface版的這個列舉值。

IDiaEnumFrameData::get_Count

擷取畫面格的資料元素數目。

IDiaEnumFrameData::Item

擷取畫面格的資料元素的索引中。

IDiaEnumFrameData::Next

擷取指定的圖文框列舉序列中的資料元素。

IDiaEnumFrameData::Skip

略過指定的列舉型別序列中的框架資料項目數。

IDiaEnumFrameData::Reset

將列舉型別序列重設至開頭。

IDiaEnumFrameData::Clone

建立列舉值,包含目前的列舉值的列舉型別狀態。

IDiaEnumFrameData::frameByRVA

傳回相對虛擬位址 (RVA) 的框架。

IDiaEnumFrameData::frameByVA

傳回虛擬位址 (VA) 框架。

備註

呼叫者的備忘稿

取得這個介面,從IDiaSession::getEnumTables方法。 範例中的,如需詳細資訊,請參閱。

範例

本範例示範如何取得 ( GetEnumFrameData函式),並使用 ( ShowFrameData函式) IDiaEnumFrameData介面。 請參閱IDiaFrameData介面的範例, PrintFrameData函式。

IDiaEnumFrameData* GetEnumFrameData(IDiaSession *pSession)
{
    IDiaEnumFrameData* pUnknown    = NULL;
    REFIID             iid         = __uuidof(IDiaEnumFrameData);
    IDiaEnumTables*    pEnumTables = NULL;
    IDiaTable*         pTable      = NULL;
    ULONG              celt        = 0;

    if (pSession->getEnumTables(&pEnumTables) != S_OK)
    {
        wprintf(L"ERROR - GetTable() getEnumTables\n");
        return NULL;
    }
    while (pEnumTables->Next(1, &pTable, &celt) == S_OK && celt == 1)
    {
        // There is only one table that matches the given iid
        HRESULT hr = pTable->QueryInterface(iid, (void**)&pUnknown);
        pTable->Release();
        if (hr == S_OK)
        {
            break;
        }
    }
    pEnumTables->Release();
    return pUnknown;
}


void ShowFrameData(IDiaSession *pSession)
{
    IDiaEnumFrameData* pEnumFrameData = GetEnumFrameData(pSession);;

    if (pEnumFrameData != NULL)
    {
        IDiaFrameData* pFrameData;
        ULONG celt = 0;

        while(pEnumFrameData->Next(1, &pFrameData, &celt) == S_OK &&
              celt == 1)
        {
            PrintFrameData(pFrameData);
            pFrameData->Release();
        }
        pEnumFrameData->Release(); 
    }
}

需求

標頭: Dia2.h

圖書館: diaguids.lib

DLL: msdia80.dll

請參閱

參考

IDiaSession::getEnumTables

IDiaFrameData

其他資源

介面 (偵錯介面存取 SDK)