Figure 4   IcodeNavigate


 void UseCodeNavService(IOleClientSite* pSite, 
                        LPSTR lpszEvent) {
    IServiceProvider* pSvcProvider = NULL;
    HRESULT hr;
 
    hr = pSite->QueryInterface(IID_IServiceProvider,
                               (void**)&pSvcProvider);
    if(SUCCEEDED(hr) {
        ICodeNavigate* pCodeNav = NULL;
      hr = pSvcProvider->QueryService(SID_SCodeNavigate,
                                      IID_ICodeNavigate, 
                                      (void**)&pCodeNav);
      if(SUCCEEDED(hr)) {
          // Use the code navigation service
          pCodeNav->DisplayDefaultEventHandler(lpszEvent);
          pCodeNav->Release();
      }
 
       pSvcProvider->Release();
    }
 }