Пример #1
0
        private POLICY _Policy = 0; // DefaultですべてDisAllow

        public InternetSecurityManager(WebBrowser _WebBrowser)
        {
            // ActiveXコントロール取得
            _WebBrowser.DocumentText = "about:blank"; //ActiveXを初期化する
            int hresult = 0;

            do
            {
                Thread.Sleep(100);
                Application.DoEvents();
            } while (_WebBrowser.ReadyState != WebBrowserReadyState.Complete);

            ocx = _WebBrowser.ActiveXInstance;

            // IServiceProvider.QueryService() を使って IProfferService を取得
            ocxServiceProvider = (WebBrowserAPI.IServiceProvider)ocx;

            try
            {
                hresult = ocxServiceProvider.QueryService(
                    ref WebBrowserAPI.SID_SProfferService,
                    ref WebBrowserAPI.IID_IProfferService, out profferServicePtr);
            }
            catch (SEHException ex)
            {
                MyCommon.TraceOut(ex, "ocxServiceProvider.QueryService() HRESULT:" + ex.ErrorCode.ToString("X8") + Environment.NewLine);
                return;
            }
            catch (ExternalException ex)
            {
                MyCommon.TraceOut(ex, "ocxServiceProvider.QueryService() HRESULT:" + ex.ErrorCode.ToString("X8") + Environment.NewLine);
                return;
            }


            profferService = (WebBrowserAPI.IProfferService)Marshal.GetObjectForIUnknown(profferServicePtr);

            // IProfferService.ProfferService() を使って
            // 自分を IInternetSecurityManager として提供
            try
            {
                int cookie = 0;
                hresult = profferService.ProfferService(
                    ref WebBrowserAPI.IID_IInternetSecurityManager, this, out cookie);
            }
            catch (SEHException ex)
            {
                MyCommon.TraceOut(ex, "IProfferSerive.ProfferService() HRESULT:" + ex.ErrorCode.ToString("X8") + Environment.NewLine);
                return;
            }
            catch (ExternalException ex)
            {
                MyCommon.TraceOut(ex, "IProfferSerive.ProfferService() HRESULT:" + ex.ErrorCode.ToString("X8") + Environment.NewLine);
                return;
            }
        }
Пример #2
0
        private POLICY _Policy = 0; // DefaultですべてDisAllow

        #endregion Fields

        #region Constructors

        public InternetSecurityManager(WebBrowser _WebBrowser)
        {
            // ActiveXコントロール取得
            _WebBrowser.DocumentText = "about:blank"; //ActiveXを初期化する
            int hresult = 0;

            do
            {
                Thread.Sleep(100);
                Application.DoEvents();
            } while (_WebBrowser.ReadyState != WebBrowserReadyState.Complete);

            ocx = _WebBrowser.ActiveXInstance;

            // IServiceProvider.QueryService() を使って IProfferService を取得
            ocxServiceProvider = (WebBrowserAPI.IServiceProvider)ocx;

            try
            {
                hresult = ocxServiceProvider.QueryService(
                                ref WebBrowserAPI.SID_SProfferService,
                                ref WebBrowserAPI.IID_IProfferService, out profferServicePtr);
            }
            catch (SEHException ex)
            {
                MyCommon.TraceOut(ex, "ocxServiceProvider.QueryService() HRESULT:" + ex.ErrorCode.ToString("X8") + Environment.NewLine);
                return;
            }
            catch (ExternalException ex)
            {
                MyCommon.TraceOut(ex, "ocxServiceProvider.QueryService() HRESULT:" + ex.ErrorCode.ToString("X8") + Environment.NewLine);
                return;
            }

            profferService = (WebBrowserAPI.IProfferService)Marshal.GetObjectForIUnknown(profferServicePtr);

            // IProfferService.ProfferService() を使って
            // 自分を IInternetSecurityManager として提供
            try
            {
                int cookie = 0;
                hresult = profferService.ProfferService(
                                ref WebBrowserAPI.IID_IInternetSecurityManager, this, out cookie);
            }
            catch (SEHException ex)
            {
                MyCommon.TraceOut(ex, "IProfferSerive.ProfferService() HRESULT:" + ex.ErrorCode.ToString("X8") + Environment.NewLine);
                return;
            }
            catch (ExternalException ex)
            {
                MyCommon.TraceOut(ex, "IProfferSerive.ProfferService() HRESULT:" + ex.ErrorCode.ToString("X8") + Environment.NewLine);
                return;
            }
        }
Пример #3
0
        public InternetSecurityManager(WebBrowser webBrowser)
        {
            // ActiveXコントロール取得
            webBrowser.DocumentText = "about:blank";

            // ActiveXを初期化する
            do
            {
                Thread.Sleep(100);
                Application.DoEvents();
            }
            while (webBrowser.ReadyState != WebBrowserReadyState.Complete);

            _ocx = webBrowser.ActiveXInstance;

            // IServiceProvider.QueryService() を使って IProfferService を取得
            _ocxServiceProvider = (WebBrowserAPI.IServiceProvider)_ocx;
            try
            {
                _ocxServiceProvider.QueryService(ref WebBrowserAPI.SID_SProfferService, ref WebBrowserAPI.IID_IProfferService, out _profferServicePtr);
            }
            catch (SEHException)
            {
            }
            catch (ExternalException ex)
            {
                MyCommon.TraceOut(ex, string.Format("ocxServiceProvider.QueryService() HRESULT:{0:X8}{1}", ex.ErrorCode, Environment.NewLine));
                return;
            }

            _profferService = (WebBrowserAPI.IProfferService)Marshal.GetObjectForIUnknown(_profferServicePtr);

            // IProfferService.ProfferService() を使って
            // 自分を IInternetSecurityManager として提供
            try
            {
                int cookie;
                _profferService.ProfferService(ref WebBrowserAPI.IID_IInternetSecurityManager, this, out cookie);
            }
            catch (SEHException)
            {
            }
            catch (ExternalException ex)
            {
                MyCommon.TraceOut(ex, string.Format("IProfferSerive.ProfferService() HRESULT:{0:X8}{1}", ex.ErrorCode, Environment.NewLine));
            }
        }
Пример #4
0
        public InternetSecurityManager(WebBrowser webBrowser)
        {
            // ActiveXコントロール取得
            webBrowser.DocumentText = "about:blank";

            // ActiveXを初期化する
            do
            {
                Thread.Sleep(100);
                Application.DoEvents();
            }while (webBrowser.ReadyState != WebBrowserReadyState.Complete);

            _ocx = webBrowser.ActiveXInstance;

            // IServiceProvider.QueryService() を使って IProfferService を取得
            _ocxServiceProvider = (WebBrowserAPI.IServiceProvider)_ocx;
            try
            {
                _ocxServiceProvider.QueryService(ref WebBrowserAPI.SID_SProfferService, ref WebBrowserAPI.IID_IProfferService, out _profferServicePtr);
            }
            catch (SEHException)
            {
            }
            catch (ExternalException ex)
            {
                MyCommon.TraceOut(ex, string.Format("ocxServiceProvider.QueryService() HRESULT:{0:X8}{1}", ex.ErrorCode, Environment.NewLine));
                return;
            }

            _profferService = (WebBrowserAPI.IProfferService)Marshal.GetObjectForIUnknown(_profferServicePtr);

            // IProfferService.ProfferService() を使って
            // 自分を IInternetSecurityManager として提供
            try
            {
                int cookie;
                _profferService.ProfferService(ref WebBrowserAPI.IID_IInternetSecurityManager, this, out cookie);
            }
            catch (SEHException)
            {
            }
            catch (ExternalException ex)
            {
                MyCommon.TraceOut(ex, string.Format("IProfferSerive.ProfferService() HRESULT:{0:X8}{1}", ex.ErrorCode, Environment.NewLine));
            }
        }