| 80 | #pragma mark - IUnknown |
| 81 | |
| 82 | STDMETHODIMP CProgressBarControl::QueryInterface(REFIID riid, void **ppvObject) { |
| 83 | if (ppvObject == NULL) { |
| 84 | return E_POINTER; |
| 85 | } |
| 86 | |
| 87 | *ppvObject = NULL; |
| 88 | |
| 89 | if (IsEqualIID(riid, IID_IOleObject)) { |
| 90 | *ppvObject = (IOleObject *)&m_IOleObject; |
| 91 | AddRef(); |
| 92 | return S_OK; |
| 93 | } else if (IsEqualIID(riid, IID_IViewObject) || IsEqualIID(riid, IID_IViewObject2) || IsEqualIID(riid, IID_IViewObjectEx)) { |
| 94 | *ppvObject = (IViewObjectEx *)&m_IViewObjectEx; |
| 95 | AddRef(); |
| 96 | return S_OK; |
| 97 | } else if (IsEqualIID(riid, IID_IOleInPlaceObject) || IsEqualIID(riid, IID_IOleWindow) || IsEqualIID(riid, IID_IOleInPlaceObjectWindowless)) { |
| 98 | *ppvObject = (IOleInPlaceObject *)&m_IOleInPlaceObject; |
| 99 | AddRef(); |
| 100 | return S_OK; |
| 101 | } else if (IsEqualIID(riid, IID_IOleInPlaceActiveObject)) { |
| 102 | *ppvObject = (IOleInPlaceActiveObject *)&m_IOleInPlaceActiveObject; |
| 103 | AddRef(); |
| 104 | return S_OK; |
| 105 | } else if (IsEqualIID(riid, IID_IQuickActivate)) { |
| 106 | *ppvObject = (IQuickActivate *)&m_IQuickActivateImpl; |
| 107 | AddRef(); |
| 108 | return S_OK; |
| 109 | } |
| 110 | |
| 111 | return IDispatchImpl<IProgressBarControl, &LIBID_LegacyUpdateLib>::QueryInterface(riid, ppvObject); |
| 112 | } |
| 113 | |
| 114 | STDMETHODIMP_(ULONG) CProgressBarControl::AddRef(void) { |
| 115 | return InterlockedIncrement(&m_refCount); |
no outgoing calls
no test coverage detected