共用方式為


IDiaDataSourceEx2::findNamedStreams

擷取數據源內符合選擇性指定模式的所有具名數據流名稱。

語法

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

參數

[in, optional] name

選擇性地指定要擷取之數據流的名稱。 針對要擷取的所有數據流,設定為 NULL

[in] compareFlags

指定套用至名稱比對的比較選項。 NameSearchOptions 列舉 列舉的值可以單獨或組合使用。 如果 nameNULL,這個參數必須 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);

另請參閱