다음을 통해 공유


IDiaEnumSectionContribs

데이터 원본에 포함 된 다양 한 섹션 기여도 열거 합니다.

IDiaEnumSectionContribs : IUnknown

메서드에서 Vtable 순서

다음 표에서 메서드를 IDiaEnumSectionContribs.

메서드

설명

IDiaEnumSectionContribs::get__NewEnum

검색은 IEnumVARIANT Interface 이 열거자의 버전입니다.

IDiaEnumSectionContribs::get_Count

공헌 섹션의 수를 검색합니다.

IDiaEnumSectionContribs::Item

절 기 고물 방법으로 인덱스를 검색합니다.

IDiaEnumSectionContribs::Next

절 기 고물 열거 시퀀스에서 지정 된 시간을 검색합니다.

IDiaEnumSectionContribs::Skip

지정한 수 만큼 열거 시퀀스에서 절 기 고물 건너뜁니다.

IDiaEnumSectionContribs::Reset

열거형 시퀀스를 처음으로 다시 설정합니다.

IDiaEnumSectionContribs::Clone

현재 열거자와 열거 상태가 같은 포함 하는 열거자를 만듭니다.

설명

호출자에 대 한 참고

이 인터페이스에서 구할에서 IDiaSession::getEnumTables 메서드.자세한 내용은 예제를 참조 하십시오.

예제

가져오는 방법을 보여 주는이 예제 (의 GetEnumSectionContribs 함수) 사용 (는 ShowSectionContribs 함수)는 IDiaEnumSectionContribs 인터페이스입니다.섹션 기여도 사용 하는 전체 예제를 참조 하십시오은 IDiaSectionContrib 인터페이스입니다.

IDiaEnumSectionContribs* GetEnumSectionContribs(IDiaSession *pSession)
{
    IDiaEnumSectionContribs* pUnknown    = NULL;
    REFIID                   iid         = __uuidof(IDiaEnumSectionContribs);
    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 ShowSectionContribs(IDiaSession *pSession)
{
    IDiaEnumSectionContribs* pEnumSectionContribs;

    pEnumSectionContribs = GetEnumSectionContribs(pSession);
    if (pSectionContrib != NULL)
    {
        IDiaSectionContrib* pSectionContrib;
        ULONG celt = 0;

        while(pEnumSectionContribs->Next(1, &pSectionContrib, &celt) == S_OK &&
              celt == 1)
        {
            PrintSectionContrib(pSectionContrib, pSession);
            pSectionContrib->Release();
        }
        pSectionContrib->Release(); 
    }
}

요구 사항

헤더: Dia2.h

라이브러리: diaguids.lib

DLL: msdia80.dll

참고 항목

참조

IDiaSession::getEnumTables

IDiaSectionContrib

기타 리소스

인터페이스(디버그 인터페이스 액세스 SDK)