Sdílet prostřednictvím


IDiaDataSourceEx2::findNamedStreams

Načte všechny názvy pojmenovaných datových proudů v rámci zdroje dat, které odpovídají volitelnému vzoru.

Syntax

HRESULT findNamedStreams ( 
   [in, optional] LPCOLESTR              name,
   [in]           DWORD                  compareFlags,
   [out]          IDiaEnumNamedStreams** ppResult
);

Parametry

[in, optional] name

Volitelně můžete určit název datových proudů, které se mají načíst. Nastavte NULL pro načtení všech datových proudů.

[in] compareFlags

Určuje možnosti porovnání použité pro porovnávání názvů. Hodnoty z NameSearchOptions výčtu výčtu lze použít samostatně nebo v kombinaci. Pokud je nameNULL, musí být tento parametr nsNone.

[out] ppResult

Vrátí objekt IDiaEnumNamedStreams, který obsahuje seznam načtených pojmenovaných datových proudů.

Návratová hodnota

V případě úspěchu vrátí S_OK; v opačném případě vrátí kód chyby.

Příklad

Následující příklad ukazuje, jak najít všechny pojmenované streamy, které začínají "sourcelink" a výpis jejich délky.

CComPtr<IDiaEnumNamedStreams> pEnum;
HRESULT hr = pDataSource->findNamedStreams( L"sourcelink*", nsCaseSensitive | nsRegularExpression, &pEnum );
do {
    CComBSTR name;
    hr = pEnum->Next(&name);
    if (FAILED(hr)) {
        // report the error
        return hr;
    }
    if (hr != S_OK) {
        // End of the matches
        return S_OK;
    }
    ULONGLONG cb = 0;
    hr = pDataSource->getStreamSize(name.m_str, &cb);
    if (FAILED(hr)) {
        // report the error
        return hr;
    }
    printf("Stream Name: \"%ls\", Stream Size: %llu byte(s)\n", name.m_str, cb);
} while (true);

Viz také