IObjectSafetyImpl-Klasse

Diese Klasse stellt eine Standardimplementierung der Schnittstelle bereit, mit der IObjectSafety ein Client die Sicherheitsstufen eines Objekts abrufen und festlegen kann.

Wichtig

Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.

Syntax

template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl

Parameter

T
Ihre Klasse, abgeleitet von IObjectSafetyImpl.

dwSupportedSafety
Gibt die unterstützten Sicherheitsoptionen für das Steuerelement an. Folgenden Werte sind möglich:

  • INTERFACESAFE_FOR_UNTRUSTED_CALLER Die vom Parameter riid "SetInterfaceSafetyOptions" identifizierte Schnittstelle sollte für die Skripterstellung sicher gemacht werden.

  • INTERFACESAFE_FOR_UNTRUSTED_DATA Die vom Parameter riid identifizierte Schnittstelle sollte während der SetInterfaceSafetyOptions Initialisierung für nicht vertrauenswürdige Daten sicher gemacht werden.

Member

Öffentliche Methoden

Name Beschreibung
IObjectSafetyImpl::GetInterfaceSafetyOptions Ruft die vom Objekt unterstützten Sicherheitsoptionen sowie die derzeit für das Objekt festgelegten Sicherheitsoptionen ab.
IObjectSafetyImpl::SetInterfaceSafetyOptions Macht das Objekt für die Initialisierung oder Skripterstellung sicher.

Öffentliche Datenmember

Name Beschreibung
IObjectSafetyImpl::m_dwCurrentSafety Speichert die aktuelle Sicherheitsstufe des Objekts.

Hinweise

Klasse IObjectSafetyImpl stellt eine Standardimplementierung von IObjectSafety. Die IObjectSafety Schnittstelle ermöglicht es einem Client, die Sicherheitsstufen eines Objekts abzurufen und festzulegen. Ein Webbrowser kann z. B. aufrufen IObjectSafety::SetInterfaceSafetyOptions , um ein Steuerelement für die Initialisierung oder für skripterstellung sicher zu machen.

Beachten Sie, dass die Verwendung des IMPLEMENTED_CATEGORY-Makros mit den CATID_SafeForScripting- und CATID_SafeForInitializing Komponentenkategorien eine alternative Möglichkeit bietet, anzugeben, dass eine Komponente sicher ist.

Verwandte Artikel ATL-Lernprogramm, Erstellen eines ATL-Projekts

Vererbungshierarchie

IObjectSafety

IObjectSafetyImpl

Anforderungen

Header: atlctl.h

IObjectSafetyImpl::GetInterfaceSafetyOptions

Ruft die vom Objekt unterstützten Sicherheitsoptionen sowie die derzeit für das Objekt festgelegten Sicherheitsoptionen ab.

HRESULT GetInterfaceSafetyOptions(
    REFIID riid,
    DWORD* pdwSupportedOptions,
    DWORD* pdwEnabledOptions);

Hinweise

Die Implementierung gibt die entsprechenden Werte für jede Schnittstelle zurück, die von der Implementierung IUnknown::QueryInterfacedes Objekts unterstützt wird.

Wichtig

Jedes Objekt, das unterstützt IObjectSafety wird, ist für seine eigene Sicherheit verantwortlich und das von jedem Objekt, das es delegiert. Der Programmierer muss Probleme berücksichtigen, die sich aus dem Ausführen von Code im Kontext des Benutzers, der websiteübergreifenden Skripterstellung und der geeigneten Zonenüberprüfung ergeben.

Siehe IObjectSafety::GetInterfaceSafetyOptions im Windows SDK.

IObjectSafetyImpl::m_dwCurrentSafety

Speichert die aktuelle Sicherheitsstufe des Objekts.

DWORD m_dwCurrentSafety;

IObjectSafetyImpl::SetInterfaceSafetyOptions

Macht das Objekt für die Initialisierung oder Skripterstellung sicher, indem das m_dwCurrentSafety-Element auf den entsprechenden Wert festgelegt wird.

HRESULT SetInterfaceSafetyOptions(
    REFIID riid,
    DWORD dwOptionsSetMask,
    DWORD dwEnabledOptions);

Hinweise

Die Implementierung gibt E_NOINTERFACE für alle Schnittstellen zurück, die von der Implementierung IUnknown::QueryInterfacedes Objekts nicht unterstützt werden.

Wichtig

Jedes Objekt, das unterstützt IObjectSafety wird, ist für seine eigene Sicherheit verantwortlich und das von jedem Objekt, das es delegiert. Der Programmierer muss Probleme berücksichtigen, die sich aus dem Ausführen von Code im Kontext des Benutzers, der websiteübergreifenden Skripterstellung und der geeigneten Zonenüberprüfung ergeben.

Siehe IObjectSafety::SetInterfaceSafetyOptions im Windows SDK.

Siehe auch

IObjectSafety-Schnittstelle
Klassenübersicht