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