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í určené parametrem
riid
SetInterfaceSafetyOptions by mělo být bezpečné pro skriptování.INTERFACESAFE_FOR_UNTRUSTED_DATA Rozhraní určené parametrem
SetInterfaceSafetyOptions
riid
by mělo být během inicializace bezpečné pro nedůvěryhodná data.
Členové
Veřejné metody
Název | Description |
---|---|
IObjectSafetyImpl::GetInterfaceSafetyOptions | Načte možnosti zabezpečení podporované objektem a také možnosti zabezpečení aktuálně nastavené pro objekt. |
IObjectSafetyImpl::SetInterfaceSafetyOptions | Vytvoří objekt bezpečný pro inicializaci nebo skriptování. |
Veřejné datové členy
Název | Description |
---|---|
IObjectSafetyImpl::m_dwCurrentSafety | Ukládá 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. Webový prohlížeč může například volat IObjectSafety::SetInterfaceSafetyOptions
, aby ovládací prvek byl bezpečný pro inicializaci nebo pro skriptování.
Všimněte si, že použití makra IMPLEMENTED_CATEGORY s kategoriemi CATID_SafeForScripting a CATID_SafeForInitializing komponent poskytuje alternativní způsob, jak určit, že je součást bezpečná.
Související článkyKURZ KNIHOVNY ATL, 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í aktuálně nastavené pro objekt.
HRESULT GetInterfaceSafetyOptions(
REFIID riid,
DWORD* pdwSupportedOptions,
DWORD* pdwEnabledOptions);
Poznámky
Implementace vrátí příslušné hodnoty pro všechna rozhraní podporovaná implementací objektu IUnknown::QueryInterface
.
Důležité
Každý objekt, který podporuje IObjectSafety
, je zodpovědný za vlastní zabezpečení a za zabezpečení jakéhokoli objektu, 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
Ukládá aktuální úroveň zabezpečení objektu.
DWORD m_dwCurrentSafety;
IObjectSafetyImpl::SetInterfaceSafetyOptions
Umožňuje objekt bezpečný pro inicializaci nebo skriptování nastavením člena m_dwCurrentSafety na odpovídající hodnotu.
HRESULT SetInterfaceSafetyOptions(
REFIID riid,
DWORD dwOptionsSetMask,
DWORD dwEnabledOptions);
Poznámky
Implementace vrátí E_NOINTERFACE pro jakékoli rozhraní nepodporované implementací objektu IUnknown::QueryInterface
.
Důležité
Každý objekt, který podporuje IObjectSafety
, je zodpovědný za vlastní zabezpečení a za zabezpečení jakéhokoli objektu, 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.