Udostępnij za pośrednictwem


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

Zobacz też