IDiaDataSourceEx2::findNamedStreams
检索与可选给定模式匹配的数据源中命名流的所有名称。
语法
HRESULT findNamedStreams (
[in, optional] LPCOLESTR name,
[in] DWORD compareFlags,
[out] IDiaEnumNamedStreams** ppResult
);
参数
[in, optional] name
(可选)指定要检索的流的名称。 设置为要检索的所有流的 NULL
。
[in] compareFlags
指定应用于名称匹配的比较选项。
NameSearchOptions
枚举 枚举中的值可以单独使用或组合使用。 如果 name
NULL
,则必须 nsNone
此参数。
[out] ppResult
返回一个 IDiaEnumNamedStreams
对象,该对象包含检索的命名流的列表。
返回值
如果成功,则返回 S_OK
;否则,返回错误代码。
例
以下示例演示如何查找以 "sourcelink"
开头的所有命名流并转储其长度。
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);