Delen via


Klasse IObjectSafetyImpl

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse biedt een standaard implementatie van de IObjectSafety interface waarmee een client de veiligheidsniveaus van een object kan ophalen en instellen.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl

Parameterwaarden

T
Uw klas, afgeleid van IObjectSafetyImpl.

dwSupportedSafety
Hiermee geeft u de ondersteunde veiligheidsopties voor het besturingselement. Dit kan een van de volgende waarden zijn:

  • INTERFACESAFE_FOR_UNTRUSTED_CALLER De interface die is geïdentificeerd door de parameter riidSetInterfaceSafetyOptions, moet veilig zijn voor het uitvoeren van scripts.

  • INTERFACESAFE_FOR_UNTRUSTED_DATA De interface die door de parameter riid wordt geïdentificeerd, moet tijdens de SetInterfaceSafetyOptions initialisatie veilig zijn voor niet-vertrouwde gegevens.

Leden

Openbare methoden

Naam Description
IObjectSafetyImpl::GetInterfaceSafetyOptions Hiermee worden de veiligheidsopties opgehaald die door het object worden ondersteund, evenals de veiligheidsopties die momenteel zijn ingesteld voor het object.
IObjectSafetyImpl::SetInterfaceSafetyOptions Maakt het object veilig voor initialisatie of scripting.

Publieke dataleden

Naam Description
IObjectSafetyImpl::m_dwCurrentSafety Slaat het huidige veiligheidsniveau van het object op.

Opmerkingen

Klasse IObjectSafetyImpl biedt een standaard implementatie van IObjectSafety. Met de IObjectSafety interface kan een client de veiligheidsniveaus van een object ophalen en instellen. Een webbrowser kan bijvoorbeeld aanroepen IObjectSafety::SetInterfaceSafetyOptions om een besturingselement veilig te maken voor initialisatie of veilig voor het uitvoeren van scripts.

Houd er rekening mee dat het gebruik van de macro IMPLEMENTED_CATEGORY met de CATID_SafeForScripting- en CATID_SafeForInitializing onderdeelcategorieën een alternatieve manier biedt om op te geven dat een onderdeel veilig is.

Gerelateerde artikelenATL-zelfstudie, een ATL-project maken

Overnamehiërarchie

IObjectSafety

IObjectSafetyImpl

Requirements

Koptekst: atlctl.h

IObjectSafetyImpl::GetInterfaceSafetyOptions

Hiermee worden de veiligheidsopties opgehaald die door het object worden ondersteund, evenals de veiligheidsopties die momenteel zijn ingesteld voor het object.

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

Opmerkingen

De implementatie retourneert de juiste waarden voor elke interface die wordt ondersteund door de implementatie van IUnknown::QueryInterfacehet object.

Belangrijk

Elk object dat ondersteuning biedt IObjectSafety , is verantwoordelijk voor zijn eigen beveiliging en dat van elk object dat het delegeert. De programmeur moet rekening houden met problemen die voortvloeien uit het uitvoeren van code in de context van de gebruiker, het uitvoeren van scripts op meerdere sites en het uitvoeren van geschikte zonecontrole.

Zie IObjectSafety::GetInterfaceSafetyOptions in de Windows SDK.

IObjectSafetyImpl::m_dwCurrentSafety

Slaat het huidige veiligheidsniveau van het object op.

DWORD m_dwCurrentSafety;

IObjectSafetyImpl::SetInterfaceSafetyOptions

Maakt het object veilig voor initialisatie of scripting door het m_dwCurrentSafety lid in te stellen op de juiste waarde.

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

Opmerkingen

De implementatie retourneert E_NOINTERFACE voor een interface die niet wordt ondersteund door de implementatie van IUnknown::QueryInterfacehet object.

Belangrijk

Elk object dat ondersteuning biedt IObjectSafety , is verantwoordelijk voor zijn eigen beveiliging en dat van elk object dat het delegeert. De programmeur moet rekening houden met problemen die voortvloeien uit het uitvoeren van code in de context van de gebruiker, het uitvoeren van scripts op meerdere sites en het uitvoeren van geschikte zonecontrole.

Zie IObjectSafety::SetInterfaceSafetyOptions in de Windows SDK.

Zie ook

IObjectSafety-interface
Overzicht van klassen