IDiaDataSourceEx2::findNamedStreams
Pobiera wszystkie nazwy nazwanych strumieni w źródle danych, które są zgodne z opcjonalnym wzorcem.
Składnia
HRESULT findNamedStreams (
[in, optional] LPCOLESTR name,
[in] DWORD compareFlags,
[out] IDiaEnumNamedStreams** ppResult
);
Parametry
[in, optional] name
Opcjonalnie określa nazwę strumieni do pobrania. Ustaw wartość NULL
dla wszystkich strumieni do pobrania.
[in] compareFlags
Określa opcje porównania zastosowane do dopasowania nazw. Wartości z NameSearchOptions
Wyliczenie mogą być używane samodzielnie lub w połączeniu. Jeśli name
jest NULL
, ten parametr musi być nsNone
.
[out] ppResult
Zwraca obiekt IDiaEnumNamedStreams
zawierający listę pobranych nazwanych strumieni.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK
; w przeciwnym razie zwraca kod błędu.
Przykład
W poniższym przykładzie pokazano, jak znaleźć wszystkie nazwane strumienie rozpoczynające się od "sourcelink"
i zrzucić ich długość.
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);