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