Condividi tramite


IDiaDataSourceEx2::findNamedStreams

Recupera tutti i nomi dei flussi denominati all'interno dell'origine dati che corrispondono al modello specificato facoltativamente.

Sintassi

HRESULT findNamedStreams ( 
   [in, optional] LPCOLESTR              name,
   [in]           DWORD                  compareFlags,
   [out]          IDiaEnumNamedStreams** ppResult
);

Parametri

[in, optional] name

Facoltativamente, specifica il nome dei flussi da recuperare. Impostare su NULL per il recupero di tutti i flussi.

[in] compareFlags

Specifica le opzioni di confronto applicate alla corrispondenza dei nomi. I valori dell'enumerazione NameSearchOptions'enumerazione possono essere utilizzati da soli o in combinazione. Se name è NULL, questo parametro deve essere nsNone.

[out] ppResult

Restituisce un oggetto IDiaEnumNamedStreams che contiene l'elenco di flussi denominati recuperati.

Valore restituito

Se ha esito positivo, restituisce S_OK; in caso contrario, restituisce un codice di errore.

Esempio

L'esempio seguente illustra come trovare tutti i flussi denominati che iniziano con "sourcelink" e ne esegue il dump della lunghezza.

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

Vedere anche