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();
}
}