IDiaEnumSectionContribs
데이터 원본에 포함 된 다양 한 섹션 기여도 열거 합니다.
IDiaEnumSectionContribs : IUnknown
메서드에서 Vtable 순서
다음 표에서 메서드를 IDiaEnumSectionContribs.
메서드 |
설명 |
---|---|
검색은 IEnumVARIANT Interface 이 열거자의 버전입니다. |
|
공헌 섹션의 수를 검색합니다. |
|
절 기 고물 방법으로 인덱스를 검색합니다. |
|
절 기 고물 열거 시퀀스에서 지정 된 시간을 검색합니다. |
|
지정한 수 만큼 열거 시퀀스에서 절 기 고물 건너뜁니다. |
|
열거형 시퀀스를 처음으로 다시 설정합니다. |
|
현재 열거자와 열거 상태가 같은 포함 하는 열거자를 만듭니다. |
설명
호출자에 대 한 참고
이 인터페이스에서 구할에서 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