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 name
NULL
, 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);