MCPcopy Create free account
hub / github.com/LegacyUpdate/LegacyUpdate / QueryInterface

Method QueryInterface

LegacyUpdate/ProgressBarControl.cpp:82–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80#pragma mark - IUnknown
81
82STDMETHODIMP 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
114STDMETHODIMP_(ULONG) CProgressBarControl::AddRef(void) {
115 return InterlockedIncrement(&m_refCount);

Callers 2

CreateMethod · 0.45
InvalidateContainerMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected