Partilhar via


IDiaDataSourceEx2::findNamedStreams

Recupera todos os nomes de fluxos nomeados dentro da fonte de dados que correspondem ao padrão opcionalmente fornecido.

Sintaxe

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

Parâmetros

[in, optional] name

Opcionalmente, especifica o nome dos fluxos a serem recuperados. Defina como NULL para que todos os fluxos sejam recuperados.

[in] compareFlags

Especifica as opções de comparação aplicadas à correspondência de nomes. Os valores da enumeração enumeraçãoNameSearchOptions podem ser usados sozinhos ou combinados. Se name for NULL, este parâmetro deve ser nsNone.

[out] ppResult

Retorna um objeto IDiaEnumNamedStreams que contém a lista de fluxos nomeados recuperados.

Valor de retorno

Se for bem-sucedido, retorna S_OK; caso contrário, retorna um código de erro.

Exemplo

O exemplo a seguir mostra como localizar todos os fluxos nomeados que começam com "sourcelink" e despejar seu comprimento.

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

Ver também