IObjectSafetyImpl – třída
Tato třída poskytuje výchozí implementaci IObjectSafety
rozhraní umožňující klientovi načíst a nastavit úrovně zabezpečení objektu.
Důležité
Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.
Syntaxe
template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl
Parametry
T
Vaše třída odvozená z IObjectSafetyImpl
.
dwSupportedSafety
Určuje podporované možnosti zabezpečení pro ovládací prvek. Může to být jedna z následujících hodnot:
INTERFACESAFE_FOR_UNTRUSTED_CALLER Rozhraní identifikované parametrem
riid
SetInterfaceSafetyOptions by mělo být bezpečné pro skriptování.INTERFACESAFE_FOR_UNTRUSTED_DATA Rozhraní identifikované parametrem
SetInterfaceSafetyOptions
riid
by mělo být bezpečné pro nedůvěryhodná data během inicializace.
Členové
Veřejné metody
Název | Popis |
---|---|
IObjectSafetyImpl::GetInterfaceSafetyOptions | Načte možnosti zabezpečení podporované objektem a také možnosti zabezpečení, které jsou pro objekt aktuálně nastavené. |
IObjectSafetyImpl::SetInterfaceSafetyOptions | Objekt je bezpečný pro inicializaci nebo skriptování. |
Veřejné datové členy
Název | Popis |
---|---|
IObjectSafetyImpl::m_dwCurrentSafety | Uloží aktuální úroveň zabezpečení objektu. |
Poznámky
Třída IObjectSafetyImpl
poskytuje výchozí implementaci IObjectSafety
. Rozhraní IObjectSafety
umožňuje klientovi načíst a nastavit úrovně zabezpečení objektu. Například webový prohlížeč může volat IObjectSafety::SetInterfaceSafetyOptions
, aby ovládací prvek byl bezpečný pro inicializaci nebo bezpečný pro skriptování.
Všimněte si, že použití makra IMPLEMENTED_CATEGORY s kategoriemi komponent CATID_SafeForScripting a CATID_SafeForInitializing poskytuje alternativní způsob určení, že je komponenta bezpečná.
Související články ATL – kurz, vytvoření projektu ATL
Hierarchie dědičnosti
IObjectSafety
IObjectSafetyImpl
Požadavky
Hlavička: atlctl.h
IObjectSafetyImpl::GetInterfaceSafetyOptions
Načte možnosti zabezpečení podporované objektem a také možnosti zabezpečení, které jsou pro objekt aktuálně nastavené.
HRESULT GetInterfaceSafetyOptions(
REFIID riid,
DWORD* pdwSupportedOptions,
DWORD* pdwEnabledOptions);
Poznámky
Implementace vrátí odpovídající hodnoty pro jakékoli rozhraní podporované implementací objektu IUnknown::QueryInterface
.
Důležité
Každý objekt, který podporuje IObjectSafety
, zodpovídá za vlastní zabezpečení a objekt, který deleguje. Programátor musí vzít v úvahu problémy vyplývající ze spuštění kódu v kontextu uživatele, skriptování mezi weby a provést vhodnou kontrolu zóny.
Viz IObjectSafety::GetInterfaceSafetyOptions v sadě Windows SDK.
IObjectSafetyImpl::m_dwCurrentSafety
Uloží aktuální úroveň zabezpečení objektu.
DWORD m_dwCurrentSafety;
IObjectSafetyImpl::SetInterfaceSafetyOptions
Objekt je bezpečný pro inicializaci nebo skriptování nastavením m_dwCurrentSafety člen na odpovídající hodnotu.
HRESULT SetInterfaceSafetyOptions(
REFIID riid,
DWORD dwOptionsSetMask,
DWORD dwEnabledOptions);
Poznámky
Implementace vrátí E_NOINTERFACE pro jakékoli rozhraní, které není podporováno implementací objektu IUnknown::QueryInterface
.
Důležité
Každý objekt, který podporuje IObjectSafety
, zodpovídá za vlastní zabezpečení a objekt, který deleguje. Programátor musí vzít v úvahu problémy vyplývající ze spuštění kódu v kontextu uživatele, skriptování mezi weby a provést vhodnou kontrolu zóny.
Viz IObjectSafety::SetInterfaceSafetyOptions v sadě Windows SDK.