Changeset 545 for trunk/DirectShowSpy/SystemDeviceEnumeratorSpy.h
- Timestamp:
- Nov 26, 2015, 3:24:03 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/DirectShowSpy/SystemDeviceEnumeratorSpy.h
r376 r545 44 44 DECLARE_GET_CONTROLLING_UNKNOWN() 45 45 46 DECLARE_QI_TRACE(CSystemDeviceEnumeratorSpy )47 48 BEGIN_COM_MAP(CSystemDeviceEnumeratorSpy )46 DECLARE_QI_TRACE(CSystemDeviceEnumeratorSpyT) 47 48 BEGIN_COM_MAP(CSystemDeviceEnumeratorSpyT) 49 49 COM_INTERFACE_ENTRY(ISystemDeviceEnumeratorSpy) 50 50 COM_INTERFACE_ENTRY(ICreateDevEnum) … … 95 95 96 96 // IPropertyBag 97 STDMETHOD(Read)(LPCOLESTR pszPropertyName, VARIANT* pvValue, IErrorLog* pErrorLog) throw()97 STDMETHOD(Read)(LPCOLESTR pszPropertyName, VARIANT* pvValue, IErrorLog* pErrorLog) override 98 98 { 99 99 _Z4(atlTraceCOM, 4, _T("pszPropertyName %s\n"), CString(pszPropertyName)); … … 104 104 //if(nResult == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) && pszPropertyName && _wcsicmp(pszPropertyName, L"DevicePath") == 0 && pvValue) 105 105 //{ 106 // _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x\n"), nResult);106 // _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X\n"), nResult); 107 107 // CComVariant vValue = L"\\\\?\\fake"; 108 108 // _V(vValue.Detach(pvValue)); … … 116 116 if(SUCCEEDED(vStringValue.ChangeType(VT_BSTR, pvValue))) 117 117 sValue = CString(vStringValue.bstrVal); 118 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x, pvValue->vt 0x%x, %s\n"), nResult, pvValue->vt, sValue);118 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X, pvValue->vt 0x%X, %s\n"), nResult, pvValue->vt, sValue); 119 119 } else 120 120 { 121 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x\n"), nResult);121 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X\n"), nResult); 122 122 } 123 123 return nResult; … … 129 129 return S_OK; 130 130 } 131 STDMETHOD(Write)(LPCOLESTR pszPropertyName, VARIANT* pvValue) throw()132 { 133 _Z4(atlTraceCOM, 4, _T("pszPropertyName %s, pvValue->vt 0x% x\n"), CString(pszPropertyName), pvValue->vt);131 STDMETHOD(Write)(LPCOLESTR pszPropertyName, VARIANT* pvValue) override 132 { 133 _Z4(atlTraceCOM, 4, _T("pszPropertyName %s, pvValue->vt 0x%X\n"), CString(pszPropertyName), pvValue->vt); 134 134 _ATLTRY 135 135 { 136 136 const HRESULT nResult = m_pPropertyBag->Write(pszPropertyName, pvValue); 137 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x\n"), nResult);137 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X\n"), nResult); 138 138 return nResult; 139 139 } … … 146 146 147 147 // IPropertyBag2 148 STDMETHOD(Read)(ULONG cProperties, PROPBAG2 *pPropBag, IErrorLog *pErrLog, VARIANT *pvarValue, HRESULT *phrError) throw()148 STDMETHOD(Read)(ULONG cProperties, PROPBAG2 *pPropBag, IErrorLog *pErrLog, VARIANT *pvarValue, HRESULT *phrError) override 149 149 { 150 150 _Z4(atlTraceCOM, 4, _T("...\n")); … … 152 152 { 153 153 const HRESULT nResult = m_pPropertyBag2->Read(cProperties, pPropBag, pErrLog, pvarValue, phrError); 154 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x\n"), nResult);154 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X\n"), nResult); 155 155 return nResult; 156 156 } … … 161 161 return S_OK; 162 162 } 163 STDMETHOD(Write)(ULONG cProperties, PROPBAG2 *pPropBag, VARIANT *pvarValue) throw()163 STDMETHOD(Write)(ULONG cProperties, PROPBAG2 *pPropBag, VARIANT *pvarValue) override 164 164 { 165 165 _Z4(atlTraceCOM, 4, _T("...\n")); … … 167 167 { 168 168 const HRESULT nResult = m_pPropertyBag2->Write(cProperties, pPropBag, pvarValue); 169 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x\n"), nResult);169 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X\n"), nResult); 170 170 return nResult; 171 171 } … … 176 176 return S_OK; 177 177 } 178 STDMETHOD(CountProperties)(ULONG *pcProperties) throw()178 STDMETHOD(CountProperties)(ULONG *pcProperties) override 179 179 { 180 180 _Z4(atlTraceCOM, 4, _T("...\n")); … … 182 182 { 183 183 const HRESULT nResult = m_pPropertyBag2->CountProperties(pcProperties); 184 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x\n"), nResult);184 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X\n"), nResult); 185 185 return nResult; 186 186 } … … 191 191 return S_OK; 192 192 } 193 STDMETHOD(GetPropertyInfo)(ULONG iProperty, ULONG cProperties, PROPBAG2* pPropBag, ULONG *pcProperties) throw()193 STDMETHOD(GetPropertyInfo)(ULONG iProperty, ULONG cProperties, PROPBAG2* pPropBag, ULONG *pcProperties) override 194 194 { 195 195 _Z4(atlTraceCOM, 4, _T("...\n")); … … 197 197 { 198 198 const HRESULT nResult = m_pPropertyBag2->GetPropertyInfo(iProperty, cProperties, pPropBag, pcProperties); 199 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x\n"), nResult);199 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X\n"), nResult); 200 200 return nResult; 201 201 } … … 206 206 return S_OK; 207 207 } 208 STDMETHOD(LoadObject)(LPCOLESTR pstrName, DWORD dwHint, IUnknown *pUnkObject, IErrorLog *pErrLog) throw()208 STDMETHOD(LoadObject)(LPCOLESTR pstrName, DWORD dwHint, IUnknown *pUnkObject, IErrorLog *pErrLog) override 209 209 { 210 210 _Z4(atlTraceCOM, 4, _T("...\n")); … … 212 212 { 213 213 const HRESULT nResult = m_pPropertyBag2->LoadObject(pstrName, dwHint, pUnkObject, pErrLog); 214 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x\n"), nResult);214 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X\n"), nResult); 215 215 return nResult; 216 216 } … … 261 261 262 262 // IPersist 263 STDMETHOD(GetClassID)(CLSID* pClassIdentifier) throw()263 STDMETHOD(GetClassID)(CLSID* pClassIdentifier) override 264 264 { 265 265 _Z4(atlTraceCOM, 4, _T("...\n")); … … 268 268 269 269 // IPersistStream 270 STDMETHOD(IsDirty)() throw()270 STDMETHOD(IsDirty)() override 271 271 { 272 272 _Z4(atlTraceCOM, 4, _T("...\n")); 273 273 return m_pMoniker->IsDirty(); 274 274 } 275 STDMETHOD(Load)(IStream* pStream) throw()275 STDMETHOD(Load)(IStream* pStream) override 276 276 { 277 277 _Z4(atlTraceCOM, 4, _T("...\n")); 278 278 return m_pMoniker->Load(pStream); 279 279 } 280 STDMETHOD(Save)(IStream* pStream, BOOL bClearDirty) throw()280 STDMETHOD(Save)(IStream* pStream, BOOL bClearDirty) override 281 281 { 282 282 _Z4(atlTraceCOM, 4, _T("...\n")); 283 283 return m_pMoniker->Save(pStream, bClearDirty); 284 284 } 285 STDMETHOD(GetSizeMax)(ULARGE_INTEGER* pnMaximalSize) throw()285 STDMETHOD(GetSizeMax)(ULARGE_INTEGER* pnMaximalSize) override 286 286 { 287 287 _Z4(atlTraceCOM, 4, _T("...\n")); … … 290 290 291 291 // IMoniker 292 STDMETHOD(BindToObject)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, REFIID InterfaceIdentifier, VOID** ppvObject) throw()292 STDMETHOD(BindToObject)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, REFIID InterfaceIdentifier, VOID** ppvObject) override 293 293 { 294 294 _Z4(atlTraceCOM, 4, _T("pBindCtx 0x%p, pLeftMoniker 0x%p, InterfaceIdentifier %ls\n"), pBindCtx, pLeftMoniker, _PersistHelper::StringFromInterfaceIdentifier(InterfaceIdentifier)); … … 303 303 return S_OK; 304 304 } 305 STDMETHOD(BindToStorage)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, REFIID InterfaceIdentifier, VOID** ppvObject) throw()305 STDMETHOD(BindToStorage)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, REFIID InterfaceIdentifier, VOID** ppvObject) override 306 306 { 307 307 _Z4(atlTraceCOM, 4, _T("pBindCtx 0x%p, pLeftMoniker 0x%p, InterfaceIdentifier %ls\n"), pBindCtx, pLeftMoniker, _PersistHelper::StringFromInterfaceIdentifier(InterfaceIdentifier)); … … 327 327 return S_OK; 328 328 } 329 STDMETHOD(Reduce)(IBindCtx* pBindCtx, DWORD nDepth, IMoniker** ppLeftMoniker, IMoniker** ppReducedMoniker) throw()329 STDMETHOD(Reduce)(IBindCtx* pBindCtx, DWORD nDepth, IMoniker** ppLeftMoniker, IMoniker** ppReducedMoniker) override 330 330 { 331 331 _Z4(atlTraceCOM, 4, _T("...\n")); … … 340 340 return S_OK; 341 341 } 342 STDMETHOD(ComposeWith)(IMoniker* pRightMoniker, BOOL bOnlyIfNotGeneric, IMoniker** ppCompositeMoniker) throw()342 STDMETHOD(ComposeWith)(IMoniker* pRightMoniker, BOOL bOnlyIfNotGeneric, IMoniker** ppCompositeMoniker) override 343 343 { 344 344 _Z4(atlTraceCOM, 4, _T("...\n")); … … 353 353 return S_OK; 354 354 } 355 STDMETHOD(Enum)(BOOL bForward, IEnumMoniker** ppEnumMoniker) throw()355 STDMETHOD(Enum)(BOOL bForward, IEnumMoniker** ppEnumMoniker) override 356 356 { 357 357 _Z4(atlTraceCOM, 4, _T("bForward %d\n"), bForward); … … 366 366 return S_OK; 367 367 } 368 STDMETHOD(IsEqual)(IMoniker* pMoniker) throw()368 STDMETHOD(IsEqual)(IMoniker* pMoniker) override 369 369 { 370 370 _Z4(atlTraceCOM, 4, _T("...\n")); … … 379 379 return S_OK; 380 380 } 381 STDMETHOD(Hash)(DWORD* pnHashValue) throw()381 STDMETHOD(Hash)(DWORD* pnHashValue) override 382 382 { 383 383 _Z4(atlTraceCOM, 4, _T("...\n")); … … 392 392 return S_OK; 393 393 } 394 STDMETHOD(IsRunning)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, IMoniker* pNewlyRunning) throw()394 STDMETHOD(IsRunning)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, IMoniker* pNewlyRunning) override 395 395 { 396 396 _Z4(atlTraceCOM, 4, _T("...\n")); … … 405 405 return S_OK; 406 406 } 407 STDMETHOD(GetTimeOfLastChange)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, FILETIME* pFileTime) throw()407 STDMETHOD(GetTimeOfLastChange)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, FILETIME* pFileTime) override 408 408 { 409 409 _Z4(atlTraceCOM, 4, _T("...\n")); … … 418 418 return S_OK; 419 419 } 420 STDMETHOD(Inverse)(IMoniker** ppMoniker) throw()420 STDMETHOD(Inverse)(IMoniker** ppMoniker) override 421 421 { 422 422 _Z4(atlTraceCOM, 4, _T("...\n")); … … 431 431 return S_OK; 432 432 } 433 STDMETHOD(CommonPrefixWith)(IMoniker* pMoniker, IMoniker** ppPrefixMoniker) throw()433 STDMETHOD(CommonPrefixWith)(IMoniker* pMoniker, IMoniker** ppPrefixMoniker) override 434 434 { 435 435 _Z4(atlTraceCOM, 4, _T("...\n")); … … 444 444 return S_OK; 445 445 } 446 STDMETHOD(RelativePathTo)(IMoniker* pMoniker, IMoniker** ppRelativeMoniker) throw()446 STDMETHOD(RelativePathTo)(IMoniker* pMoniker, IMoniker** ppRelativeMoniker) override 447 447 { 448 448 _Z4(atlTraceCOM, 4, _T("...\n")); … … 457 457 return S_OK; 458 458 } 459 STDMETHOD(GetDisplayName)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, LPOLESTR* ppszDisplayName) throw()459 STDMETHOD(GetDisplayName)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, LPOLESTR* ppszDisplayName) override 460 460 { 461 461 _Z4(atlTraceCOM, 4, _T("pBindCtx 0x%p, pLeftMoniker 0x%p\n"), pBindCtx, pLeftMoniker); … … 464 464 const HRESULT nResult = m_pMoniker->GetDisplayName(pBindCtx, pLeftMoniker, ppszDisplayName); 465 465 if(SUCCEEDED(nResult)) 466 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x, *ppszDisplayName %s\n"), nResult, CString(*ppszDisplayName));466 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X, *ppszDisplayName %s\n"), nResult, CString(*ppszDisplayName)); 467 467 else 468 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08 x\n"), nResult);468 _Z4(atlTraceGeneral, 4, _T("nResult 0x%08X\n"), nResult); 469 469 return nResult; 470 470 } … … 475 475 return S_OK; 476 476 } 477 STDMETHOD(ParseDisplayName)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, LPOLESTR pszDisplayName, ULONG* pnEatenLength, IMoniker** ppOutputMoniker) throw()477 STDMETHOD(ParseDisplayName)(IBindCtx* pBindCtx, IMoniker* pLeftMoniker, LPOLESTR pszDisplayName, ULONG* pnEatenLength, IMoniker** ppOutputMoniker) override 478 478 { 479 479 _Z4(atlTraceCOM, 4, _T("pBindCtx 0x%p, pLeftMoniker 0x%p, pszDisplayName %s\n"), pBindCtx, pLeftMoniker, CString(pszDisplayName)); … … 488 488 return S_OK; 489 489 } 490 STDMETHOD(IsSystemMoniker)(DWORD* pnSystemMonikerType) throw()490 STDMETHOD(IsSystemMoniker)(DWORD* pnSystemMonikerType) override 491 491 { 492 492 _Z4(atlTraceCOM, 4, _T("...\n")); … … 539 539 540 540 // IEnumMoniker 541 STDMETHOD(Next)(ULONG nElementCount, IMoniker** ppMoniker, ULONG* pnFetch edElementCount) throw()541 STDMETHOD(Next)(ULONG nElementCount, IMoniker** ppMoniker, ULONG* pnFetchElementCount) override 542 542 { 543 543 _Z4(atlTraceCOM, 4, _T("nElementCount %d\n"), nElementCount); 544 544 _ATLTRY 545 545 { 546 const HRESULT nNextResult = m_pEnumMoniker->Next(nElementCount, ppMoniker, pnFetchedElementCount); 547 _Z4(atlTraceGeneral, 4, _T("nNextResult 0x%08x, *pnFetchedElementCount %s\n"), nNextResult, pnFetchedElementCount ? (LPCTSTR) AtlFormatString(_T("%d"), *pnFetchedElementCount) : _T("(null)")); 546 const HRESULT nNextResult = m_pEnumMoniker->Next(nElementCount, ppMoniker, pnFetchElementCount); 547 CRoArrayT<CString> Array; 548 if(pnFetchElementCount) 549 Array.Add(AtlFormatString(_T("*pnFetchElementCount %d"), *pnFetchElementCount)); 550 _Z4(atlTraceGeneral, 4, _T("nNextResult 0x%08X, %s\n"), nNextResult, _StringHelper::Join(Array, _T(", "))); 548 551 if(SUCCEEDED(nNextResult)) 549 552 { 550 553 ULONG nFetchedElementCount = nElementCount; 551 if(nNextResult != S_OK && pnFetch edElementCount)552 nFetchedElementCount = *pnFetch edElementCount;553 for( SIZE_TnIndex = 0; nIndex < nFetchedElementCount; nIndex++)554 if(nNextResult != S_OK && pnFetchElementCount) 555 nFetchedElementCount = *pnFetchElementCount; 556 for(ULONG nIndex = 0; nIndex < nFetchedElementCount; nIndex++) 554 557 { 555 558 CComPtr<IMoniker>& pMoniker = reinterpret_cast<CComPtr<IMoniker>&>(ppMoniker[nIndex]); … … 569 572 return S_OK; 570 573 } 571 STDMETHOD(Skip)(ULONG nElementCount) throw()574 STDMETHOD(Skip)(ULONG nElementCount) override 572 575 { 573 576 _Z4(atlTraceCOM, 4, _T("nElementCount %d\n"), nElementCount); … … 582 585 return S_OK; 583 586 } 584 STDMETHOD(Reset)() throw()587 STDMETHOD(Reset)() override 585 588 { 586 589 _Z4(atlTraceCOM, 4, _T("...\n")); … … 595 598 return S_OK; 596 599 } 597 STDMETHOD(Clone)(IEnumMoniker** ppEnumMoniker) throw()600 STDMETHOD(Clone)(IEnumMoniker** ppEnumMoniker) override 598 601 { 599 602 _Z4(atlTraceCOM, 4, _T("...\n")); … … 627 630 return S_OK; 628 631 } 629 static HRESULT WINAPI QuerySystemDeviceEnumInterface(VOID* pvInstance, REFIID InterfaceIdentifier, VOID** ppvObject, DWORD )632 static HRESULT WINAPI QuerySystemDeviceEnumInterface(VOID* pvInstance, REFIID InterfaceIdentifier, VOID** ppvObject, DWORD_PTR) 630 633 { 631 634 return ((CSystemDeviceEnumeratorSpy*) pvInstance)->QuerySystemDeviceEnumInterface(InterfaceIdentifier, ppvObject); … … 634 637 public: 635 638 // CSystemDeviceEnumeratorSpyT 636 static LPCTSTR GetOriginalLibraryName() throw()639 static LPCTSTR GetOriginalLibraryName() 637 640 { 638 641 return _T("devenum.dll"); … … 642 645 return _StringHelper::GetLine(T::IDR, 2); 643 646 } 644 static HRESULT WINAPI UpdateRegistry(BOOL bRegister) throw()647 static HRESULT WINAPI UpdateRegistry(BOOL bRegister) 645 648 { 646 649 _Z2(atlTraceRegistrar, 2, _T("bRegister %d\n"), bRegister); … … 655 658 return S_OK; 656 659 } 657 CSystemDeviceEnumeratorSpyT() throw():660 CSystemDeviceEnumeratorSpyT() : 658 661 m_hDevEnumModule(NULL) 659 662 { 660 663 _Z4_THIS(); 661 664 } 662 ~CSystemDeviceEnumeratorSpyT() throw()665 ~CSystemDeviceEnumeratorSpyT() 663 666 { 664 667 _Z4_THIS(); 665 668 } 666 HRESULT FinalConstruct() throw()669 HRESULT FinalConstruct() 667 670 { 668 671 _ATLTRY … … 670 673 TCHAR pszPath[MAX_PATH] = { 0 }; 671 674 _W(GetModuleFileName(NULL, pszPath, DIM(pszPath))); 672 _Z4(atlTraceRefcount, 4, _T("pszPath \"%s\", this 0x% 08x, m_dwRef %d\n"), pszPath, this, m_dwRef);675 _Z4(atlTraceRefcount, 4, _T("pszPath \"%s\", this 0x%p, m_dwRef %d\n"), pszPath, this, m_dwRef); 673 676 const HINSTANCE hModule = CoLoadLibrary(const_cast<LPOLESTR>((LPCOLESTR) CT2COLE(GetOriginalLibraryName())), TRUE); 674 677 _ATLTRY … … 704 707 return S_OK; 705 708 } 706 VOID FinalRelease() throw()707 { 708 _Z5(atlTraceRefcount, 5, _T("m_dwRef 0x% x\n"), m_dwRef);709 m_pSystemDeviceEnum = NULL;710 m_pCreateDevEnum = NULL;709 VOID FinalRelease() 710 { 711 _Z5(atlTraceRefcount, 5, _T("m_dwRef 0x%X\n"), m_dwRef); 712 m_pSystemDeviceEnum.Release(); 713 m_pCreateDevEnum.Release(); 711 714 if(m_hDevEnumModule) 712 715 { … … 717 720 static CString FormatDeviceCategory(const GUID& DeviceCategory) 718 721 { 719 static const struct { const GUID* pIdentifier; LPCSTR pszName; } g_pMap[] = 722 static const struct 723 { 724 const GUID* pIdentifier; 725 LPCSTR pszName; 726 } g_pMap[] = 720 727 { 721 728 #define A(x) { &x, #x }, … … 735 742 #undef A 736 743 }; 737 for( SIZE_T nIndex = 0; nIndex < DIM(g_pMap); nIndex++)738 if(* g_pMap[nIndex].pIdentifier == DeviceCategory)739 return CString( g_pMap[nIndex].pszName);744 for(auto&& Item: g_pMap) 745 if(*Item.pIdentifier == DeviceCategory) 746 return CString(Item.pszName); 740 747 return CString(_PersistHelper::StringFromIdentifier(DeviceCategory)); 741 748 } … … 744 751 745 752 // ICreateDevEnum 746 STDMETHOD(CreateClassEnumerator)(REFCLSID DeviceCategory, IEnumMoniker** ppEnumMoniker, DWORD nFlags) throw()747 { 748 _Z4(atlTraceCOM, 4, _T("DeviceCategory %s, nFlags 0x% x\n"), FormatDeviceCategory(DeviceCategory), nFlags);753 STDMETHOD(CreateClassEnumerator)(REFCLSID DeviceCategory, IEnumMoniker** ppEnumMoniker, DWORD nFlags) override 754 { 755 _Z4(atlTraceCOM, 4, _T("DeviceCategory %s, nFlags 0x%X\n"), FormatDeviceCategory(DeviceCategory), nFlags); 749 756 _ATLTRY 750 757 { 751 __C(m_pCreateDevEnum->CreateClassEnumerator(DeviceCategory, ppEnumMoniker, nFlags)); 758 const HRESULT nCreateClassEnumeratorResult = m_pCreateDevEnum->CreateClassEnumerator(DeviceCategory, ppEnumMoniker, nFlags); 759 __C(nCreateClassEnumeratorResult); 760 _D(nCreateClassEnumeratorResult == S_OK, nCreateClassEnumeratorResult); 752 761 CComPtr<IEnumMoniker>& pEnumMoniker = reinterpret_cast<CComPtr<IEnumMoniker>&>(*ppEnumMoniker); 753 762 if(pEnumMoniker) 754 763 { 755 #pragma region Trace Moniker s764 #pragma region Trace Moniker 756 765 __C(pEnumMoniker->Reset()); 757 CComPtr<IMoniker> pMoniker; 758 while(pEnumMoniker->Next(1, &pMoniker, NULL) == S_OK) 766 for(; ; ) 759 767 { 760 _Z4(atlTraceCOM, 4, _T("pMoniker %ls\n"), _FilterGraphHelper::GetMonikerDisplayName(pMoniker)); 768 CComPtr<IMoniker> pMoniker; 769 ULONG nElementCount; 770 if(pEnumMoniker->Next(1, &pMoniker, &nElementCount) != S_OK) 771 break; 772 _Z4(atlTraceGeneral, 4, _T("pMoniker %ls\n"), _FilterGraphHelper::GetMonikerDisplayName(pMoniker)); 761 773 CComPtr<IBindCtx> pBindCtx; 762 774 __C(CreateBindCtx(0, &pBindCtx)); … … 767 779 const CStringW sDevicePath = _FilterGraphHelper::ReadPropertyBagString(pPropertyBag, OLESTR("DevicePath")); 768 780 _Z4(atlTraceCOM, 4, _T("sFriendlyName \"%ls\", sDescription \"%ls\", sDevicePath \"%ls\"\n"), sFriendlyName, sDescription, sDevicePath); 769 pMoniker.Release();770 781 } 771 782 __C(pEnumMoniker->Reset());
Note: See TracChangeset
for help on using the changeset viewer.