IDiaDataSourceEx2::findNamedStreams
Hämtar alla namn på namngivna strömmar i datakällan som matchar det valfritt angivna mönstret.
Syntax
HRESULT findNamedStreams (
[in, optional] LPCOLESTR name,
[in] DWORD compareFlags,
[out] IDiaEnumNamedStreams** ppResult
);
Parametrar
[in, optional] name
Du kan också ange namnet på de strömmar som ska hämtas. Ange till NULL
för alla strömmar som ska hämtas.
[in] compareFlags
Anger de jämförelsealternativ som tillämpas på namnmatchning. Värden från NameSearchOptions
uppräkning uppräkning kan användas ensam eller i kombination. Om name
är NULL
måste den här parametern vara nsNone
.
[out] ppResult
Returnerar ett IDiaEnumNamedStreams
objekt som innehåller listan över namngivna strömmar som hämtats.
Returvärde
Om det lyckas returnerar S_OK
; annars returneras en felkod.
Exempel
I följande exempel visas hur du hittar alla namngivna strömmar som börjar med "sourcelink"
och dumpar längden.
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);