Поделиться через


IDiaEnumSourceFiles

Перечисляет различные исходные файлы, содержащиеся в источнике данных.

Синтаксис

IDiaEnumSourceFiles : IUnknown

Методы в порядке таблицы Vtable

В следующей таблице показаны методы IDiaEnumSourceFiles.

Метод Description
IDiaEnumSourceFiles::get__NewEnum Извлекает IEnumVARIANT Interface версию этого перечислителя.
IDiaEnumSourceFiles::get_Count Извлекает количество исходных файлов.
IDiaEnumSourceFiles::Item Извлекает исходный файл с помощью индекса.
IDiaEnumSourceFiles::Next Извлекает указанное количество исходных файлов в последовательности перечисления.
IDiaEnumSourceFiles::Skip Пропускает указанное число исходных файлов в последовательности перечисления.
IDiaEnumSourceFiles::Reset Сбрасывает последовательность перечисления в начало.
IDiaEnumSourceFiles::Clone Создает перечислитель, содержащий то же состояние перечисления, что и текущий перечислитель.

Замечания

Заметки для вызывающих абонентов

Получите этот интерфейс, вызвав QueryInterface метод в объекте IDiaTable . Этот вариант подробно представлен в примере.

Пример

В этом примере показано, как получить IDiaEnumSourceFiles интерфейс из списка таблиц в объекте сеанса доступа к интерфейсу отладки (DIA). Пример доступа к данным исходного файла см. в интерфейсе IDiaSourceFile .


IDiaEnumSourceFiles* GetEnumSourceFiles(IDiaSession *pSession)
{
    IDiaEnumSourceFiles * pUnknown    = NULL;
    REFIID                iid         = __uuidof(IDiaEnumSourceFiles);
    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;
}

Требования

Заголовок: Dia2.h

Библиотека: diaguids.lib

DLL: msdia80.dll

См. также