vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
Re: unsicher activex Steuerelemente 
Autor: ptahsoft
Datum: 25.09.07 11:35

Teil 2

Interface muss in das UserControl eingebaut werden

'//////////////////////////////////////////////////////////////////////////////
'//
'// IObjectSafety Interface Implementation
'//
 
'------------------------------------------------------------------------------
' IObjectSafety_GetInterfaceSafetyOptions
'------------------------------------------------------------------------------
Private Sub IObjectSafety_GetInterfaceSafetyOptions( _
                            ByVal riid As Long, _
                            pdwSupportedOptions As Long, _
                            pdwEnabledOptions As Long)
 
    Dim Rc      As Long
    Dim rClsId  As udtGUID
    Dim IID     As String
    Dim bIID()  As Byte
 
    pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER Or _
                          INTERFACESAFE_FOR_UNTRUSTED_DATA
 
    If (riid <> 0) Then
        CopyMemory rClsId, ByVal riid, Len(rClsId)
 
        bIID = String$(MAX_GUIDLEN, 0)
        Rc = StringFromGUID2(rClsId, VarPtr(bIID(0)), MAX_GUIDLEN)
        Rc = InStr(1, bIID, vbNullChar) - 1
        IID = left$(UCase(bIID), Rc)
 
        Select Case IID
            Case IID_IDispatch
                pdwEnabledOptions = IIf(m_fSafeForScripting, _
              INTERFACESAFE_FOR_UNTRUSTED_CALLER, 0)
                Exit Sub
            Case IID_IPersistStorage, IID_IPersistStream, _
               IID_IPersistPropertyBag
                pdwEnabledOptions = IIf(m_fSafeForInitializing, _
              INTERFACESAFE_FOR_UNTRUSTED_DATA, 0)
                Exit Sub
            Case Else
                Err.Raise E_NOINTERFACE
                Exit Sub
        End Select
    End If
End Sub
 
'------------------------------------------------------------------------------
' IObjectSafety_SetInterfaceSafetyOptions
'------------------------------------------------------------------------------
Private Sub IObjectSafety_SetInterfaceSafetyOptions( _
                                ByVal riid As Long, _
                                ByVal dwOptionsSetMask As Long, _
                                ByVal dwEnabledOptions As Long)
 
    Dim Rc          As Long
    Dim rClsId      As udtGUID
    Dim IID         As String
    Dim bIID()      As Byte
 
    If (riid <> 0) Then
        CopyMemory rClsId, ByVal riid, Len(rClsId)
 
        bIID = String$(MAX_GUIDLEN, 0)
        Rc = StringFromGUID2(rClsId, VarPtr(bIID(0)), MAX_GUIDLEN)
        Rc = InStr(1, bIID, vbNullChar) - 1
        IID = left$(UCase(bIID), Rc)
 
        Select Case IID
            Case IID_IDispatch
                If ((dwEnabledOptions And dwOptionsSetMask) <> _
                  INTERFACESAFE_FOR_UNTRUSTED_CALLER) Then
                    Err.Raise E_FAIL
                    Exit Sub
                Else
                    If Not m_fSafeForScripting Then
                        Err.Raise E_FAIL
                    End If
                    Exit Sub
                End If
 
            Case IID_IPersistStorage, IID_IPersistStream, _
              IID_IPersistPropertyBag
                If ((dwEnabledOptions And dwOptionsSetMask) <> _
                INTERFACESAFE_FOR_UNTRUSTED_DATA) Then
                    Err.Raise E_FAIL
                    Exit Sub
                Else
                    If Not m_fSafeForInitializing Then
                        Err.Raise E_FAIL
                    End If
                    Exit Sub
                End If
 
            Case Else
                Err.Raise E_NOINTERFACE
                Exit Sub
        End Select
    End If
End Sub
die notwendige TLB findest du unter
[url]http://www.ptahsoft.ch/test/OBJSAFE.zip[/url]
Gruss
Ralf
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
unsicher activex Steuerelemente6.120gus06.01.05 08:23
Re: unsicher activex Steuerelemente2.946ClausGM26.01.05 10:25
Re: unsicher activex Steuerelemente3.184gus26.01.05 11:44
Re: unsichere activex Steuerelemente3.015gus01.03.05 13:25
Re: unsichere activex Steuerelemente2.701ClausGM02.03.05 12:14
Re: unsichere activex Steuerelemente2.356visionauten14.09.07 06:56
Re: unsichere activex Steuerelemente2.437visionauten16.09.07 10:31
Re: unsicher activex Steuerelemente2.269ptahsoft25.09.07 11:34
Re: unsicher activex Steuerelemente2.211ptahsoft25.09.07 11:35
Re: unsicher activex Steuerelemente2.210EgonF26.09.07 11:53

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel