Help with Implementing IInternetSecurityManager in Web Browser control

Hi

I am currently designing my own web browser based on Microsofts Web Browser control

I am using Visual Basic.net 2003 with the .Net Framework 1.1

My problem is i can't get it to work, and i am getting errors in code for reasons i just cna't figure out as my code seems logical, maybe i just need someone else to look at it, maybe someone else can see an error i can't see. Neways here is what my code for it looks like:

Public Class Form1
Inherits System.Windows.Forms.Form
Implements WebBrowserAPI.IServiceProvider
Implements WebBrowserAPI.IInternetSecurityManager

I also get errors trying to implement these statements as well






Public Sub New()
MyBase.New()

'
InitializeComponent()

' InitializeComponent()

' Microsoft Web Browser
' ActiveX
Dim ocx As Object = Me.AxWebBrowser1.GetOcx()

' Microsoft Web Browser IServiceProvider
Dim ocxServiceProvider As WebBrowserAPI.IServiceProvider = _
DirectCast(ocx, WebBrowserAPI.IServiceProvider)

' IServiceProvider.QueryService() IProfferService
Dim profferServicePtr As IntPtr = New IntPtr
ocxServiceProvider.QueryService( _
WebBrowserAPI.SID_SProfferService, _
WebBrowserAPI.IID_IProfferService, profferServicePtr)
Dim profferService As WebBrowserAPI.IProfferService = _
DirectCast(Marshal.GetObjectForIUnknown(profferServicePtr), _
WebBrowserAPI.IProfferService)

' IProfferService.ProfferService()
' IInternetSecurityManager
Dim cookie As Integer = 0
profferService.ProfferService( _
WebBrowserAPI.IID_IInternetSecurityManager, Me, cookie)
End Sub




Public Function QueryService(ByRef guidService As System.Guid, _
ByRef riid As System.Guid, ByRef ppvObject As System.IntPtr) _
As Integer Implements WebBrowserAPI.IServiceProvider.QueryService

ppvObject = IntPtr.Zero
If guidService.CompareTo( _
WebBrowserAPI.IID_IInternetSecurityManager) = 0 Then
' IID_IInternetSecurityManager
' QueryInterface
Dim punk As IntPtr = Marshal.GetIUnknownForObject(Me)
Return Marshal.QueryInterface(punk, riid, ppvObject)
End If
Return HRESULT.E_NOINTERFACE
End Function





Public Function GetSecurityId(ByVal pwszUrl As String, _
ByVal pbSecurityId() As Byte, _
ByRef pcbSecurityId As System.UInt32, _
ByVal dwReserved As System.UInt32) As Integer Implements _
WebBrowserAPI.IInternetSecurityManager.GetSecurityId

Return WebBrowserAPI.INET_E_DEFAULT_ACTION
End Function

Public Function GetSecuritySite(ByRef pSite As _
WebBrowserAPI.IInternetSecurityMgrSite) As Integer _
Implements WebBrowserAPI.IInternetSecurityManager.GetSecuritySite

Return WebBrowserAPI.INET_E_DEFAULT_ACTION
End Function

Public Function GetZoneMappings(ByVal dwZone As Integer, _
ByRef ppenumString As _
System.Runtime.InteropServices.UCOMIEnumString, _
ByVal dwFlags As Integer) As Integer _
Implements WebBrowserAPI.IInternetSecurityManager.GetZoneMappings

ppenumString = Nothing
Return WebBrowserAPI.INET_E_DEFAULT_ACTION
End Function

Public Function MapUrlToZone(ByVal pwszUrl As String, _
ByRef pdwZone As Integer, ByVal dwFlags As Integer) As Integer _
Implements WebBrowserAPI.IInternetSecurityManager.MapUrlToZone

pdwZone = 0
Return WebBrowserAPI.INET_E_DEFAULT_ACTION
End Function

Public Function ProcessUrlAction(ByVal pwszUrl As String, _
ByVal dwAction As Integer, ByRef pPolicy As Byte, _
ByVal cbPolicy As Integer, ByVal pContext As Byte, _
ByVal cbContext As Integer, ByVal dwFlags As Integer, _
ByVal dwReserved As Integer) As Integer _
Implements WebBrowserAPI.IInternetSecurityManager.ProcessUrlAction

If WebBrowserAPI.URLACTION_SCRIPT_MIN <= dwAction And _
dwAction <= WebBrowserAPI.URLACTION_SCRIPT_MAX Then
If Me.CheckBox1.Checked Then
pPolicy = WebBrowserAPI.URLPOLICY_ALLOW
Else
pPolicy = WebBrowserAPI.URLPOLICY_DISALLOW
End If
Return HRESULT.S_OK
ElseIf WebBrowserAPI.URLACTION_ACTIVEX_MIN <= dwAction And _
dwAction <= WebBrowserAPI.URLACTION_ACTIVEX_MAX Then
If Me.CheckBox2.Checked Then
pPolicy = WebBrowserAPI.URLPOLICY_ALLOW
Else
pPolicy = WebBrowserAPI.URLPOLICY_DISALLOW
End If
Return HRESULT.S_OK
End If
Return WebBrowserAPI.INET_E_DEFAULT_ACTION
End Function

Public Function QueryCustomPolicy(ByVal pwszUrl As String, _
ByRef guidKey As System.Guid, ByVal ppPolicy As Byte, _
ByVal pcbPolicy As Integer, ByVal pContext As Byte, _
ByVal cbContext As Integer, ByVal dwReserved As Integer) _
As Integer Implements _
WebBrowserAPI.IInternetSecurityManager.QueryCustomPolicy

Return WebBrowserAPI.INET_E_DEFAULT_ACTION
End Function

Public Function SetSecuritySite(ByVal pSite As _
WebBrowserAPI.IInternetSecurityMgrSite) As Integer _
Implements WebBrowserAPI.IInternetSecurityManager.SetSecuritySite

Return WebBrowserAPI.INET_E_DEFAULT_ACTION
End Function

Public Function SetZoneMapping(ByVal dwZone As Integer, _
ByVal lpszPattern As String, ByVal dwFlags As Integer) As Integer _
Implements WebBrowserAPI.IInternetSecurityManager.SetZoneMapping

Return WebBrowserAPI.INET_E_DEFAULT_ACTION
End Function






Private internetSecurityManagerHelper As InternetSecurityManagerHelper




Public Sub New()
MyBase.New()


InitializeComponent()

' InitializeComponent()

Me.internetSecurityManagerHelper = _
New InternetSecurityManagerHelper
Me.internetSecurityManagerHelper.Attach(Me.AxWebBrowser1)
Me.internetSecurityManagerHelper.ProcessUrlAction = _
New ProcessUrlActionEventHandler( _
AddressOf internetSecurityManagerHelper_ProcessUrlAction)
End Sub




Private Function internetSecurityManagerHelper_ProcessUrlAction( _
ByVal pwszUrl As String, ByVal dwAction As Integer, _
ByRef pPolicy As Byte, ByVal cbPolicy As Integer, _
ByVal pContext As Byte, ByVal cbContext As Integer, _
ByVal dwFlags As Integer, ByVal dwReserved As Integer) As Integer

If WebBrowserAPI.URLACTION_SCRIPT_MIN <= dwAction And _
dwAction <= WebBrowserAPI.URLACTION_SCRIPT_MAX Then
If Me.CheckBox1.Checked Then
pPolicy = WebBrowserAPI.URLPOLICY_ALLOW
Else
pPolicy = WebBrowserAPI.URLPOLICY_DISALLOW
End If
Return HRESULT.S_OK
ElseIf WebBrowserAPI.URLACTION_ACTIVEX_MIN <= dwAction And _
dwAction <= WebBrowserAPI.URLACTION_ACTIVEX_MAX Then
If Me.CheckBox2.Checked Then
pPolicy = WebBrowserAPI.URLPOLICY_ALLOW
Else
pPolicy = WebBrowserAPI.URLPOLICY_DISALLOW
End If
Return HRESULT.S_OK
End If
Return WebBrowserAPI.INET_E_DEFAULT_ACTION
End Function


I get errors saying WebBrowserapi.IServiceProvidor is not defined among other things. Is there something i need to reference in my project or a namespace i need to import

Any help on how to properly Implement this interface would be greatly appreciated thank you very much for any help you could possibly offer






Answer this question

Help with Implementing IInternetSecurityManager in Web Browser control

  • Orest Bolohan

    can anyone help me at all

  • Help with Implementing IInternetSecurityManager in Web Browser control