Dela via


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 NULLmå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);

Se även