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 derSetInterfaceSafetyOptions
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::QueryInterface
des 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::QueryInterface
des 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.