After it has called QueryService to get a pointer to an interface that is part of a service, an ActiveX designer can simply call the interface through the pointer. For example, the following two lines of code get a pointer to the ICodeNavigate interface in the SCodeNavigate service, as described in the preceding section:
hr = pClientSite->QueryInterface(IID_IServiceProvider, &pISP); hr = pISP->QueryService(SID_SCodeNavigate, IID_ICodeNavigate, &pICN);
Assuming that the QueryService call returns without error, the following code fragment calls the DisplayDefaultEventHandler method of ICodeNavigate:
hr = pICN->DisplayDefaultEventHandler(lpMyObject);
Typically called in response to an event such as a mouse-click, this method displays the default event handler for the object named in lpMyObject.