Security Manager
От: alexxx_ltd  
Дата: 05.06.06 11:40
Оценка:
Добрый день.

Возникла необходимость написания этого самого менеджера (нужно получить достут к событиям DHTML во фреймовом документе в частности).
...первые неприятности... пишу:

    CComPtr<IInternetSecureManager> pSM = NULL;
    CComPtr<IInternetSecurityManager> pSecurityMgr = NULL;
    CComPtr<IServiceProvider> pSp = NULL;

            CoCreateInstance(CLSID_InternetSecurityManager, NULL, CLSCTX_INPROC_SERVER,
                IID_IInternetSecurityManager, (void**)&pSecurityMgr);
            if (pSecurityMgr)
            {
                                // 1
                AfxMessageBox("pSecurityMgr");
                CComPtr<IUnknown> pUnk = NULL;
                pSecurityMgr->QueryInterface(IID_IUnknown, (void **) &pUnk);
                if (pUnk)
                {
                                        // 2
                    AfxMessageBox("pUnk");
                    CComPtr<IServiceProvider> pSp = NULL;
                    pUnk->QueryInterface (IID_IServiceProvider,    (void **) &pSp);
                    if (pSp)
                    {
                                                // 3
                        AfxMessageBox("pSp");
                        pSp->QueryService (SID_SInternetSecurityManager, __uuidof(IInternetSecurityManager), (void**) &pSM);
                        if (pSM)
                        {
                            AfxMessageBox("pSm");
                        }
                    }
                }
            }


Причем 3-й мессаджбокс никогда не появляется (pSp всегда NULL. т.е IInternetSecurityManager не поддерживает IServiceProvider ? ). На сколько я понял из ПОИСКа и МСДН, проблем в этом месте быть не должно или в чем я не прав ?

Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.