Klasa IObjectSafetyImpl
Ta klasa udostępnia domyślną implementację interfejsu IObjectSafety
, aby umożliwić klientowi pobieranie i ustawianie poziomów bezpieczeństwa obiektu.
Ważne
Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.
Składnia
template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl
Parametry
T
Klasa pochodząca z IObjectSafetyImpl
klasy .
dwSupportedSafety
Określa obsługiwane opcje bezpieczeństwa dla kontrolki. Może być jedną z następujących wartości:
INTERFACESAFE_FOR_UNTRUSTED_CALLER Interfejs zidentyfikowany przez parametr
riid
SetInterfaceSafetyOptions powinien być bezpieczny dla skryptów.INTERFACESAFE_FOR_UNTRUSTED_DATA Interfejs zidentyfikowany przez
SetInterfaceSafetyOptions
parametrriid
powinien być bezpieczny dla niezaufanych danych podczas inicjowania.
Elementy członkowskie
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
IObjectSafetyImpl::GetInterfaceSafetyOptions | Pobiera opcje bezpieczeństwa obsługiwane przez obiekt, a także opcje bezpieczeństwa ustawione obecnie dla obiektu. |
IObjectSafetyImpl::SetInterfaceSafetyOptions | Sprawia, że obiekt jest bezpieczny do inicjowania lub tworzenia skryptów. |
Publiczne elementy członkowskie danych
Nazwa/nazwisko | opis |
---|---|
IObjectSafetyImpl::m_dwCurrentSafety | Przechowuje bieżący poziom bezpieczeństwa obiektu. |
Uwagi
Klasa IObjectSafetyImpl
udostępnia domyślną implementację klasy IObjectSafety
. Interfejs IObjectSafety
umożliwia klientowi pobieranie i ustawianie poziomów bezpieczeństwa obiektu. Na przykład przeglądarka internetowa może wywołać IObjectSafety::SetInterfaceSafetyOptions
metodę , aby zapewnić bezpieczeństwo kontroli na potrzeby inicjowania lub bezpiecznego tworzenia skryptów.
Należy pamiętać, że użycie makra IMPLEMENTED_CATEGORY z kategoriami składników CATID_SafeForScripting i CATID_SafeForInitializing zapewnia alternatywny sposób określania, że składnik jest bezpieczny.
Powiązane artykuły ATL Tutorial, Creating an ATL Project (Samouczek dotyczący tworzenia projektu ATL)
Hierarchia dziedziczenia
IObjectSafety
IObjectSafetyImpl
Wymagania
Nagłówek: atlctl.h
IObjectSafetyImpl::GetInterfaceSafetyOptions
Pobiera opcje bezpieczeństwa obsługiwane przez obiekt, a także opcje bezpieczeństwa ustawione obecnie dla obiektu.
HRESULT GetInterfaceSafetyOptions(
REFIID riid,
DWORD* pdwSupportedOptions,
DWORD* pdwEnabledOptions);
Uwagi
Implementacja zwraca odpowiednie wartości dla dowolnego interfejsu obsługiwanego IUnknown::QueryInterface
przez implementację obiektu .
Ważne
Każdy obiekt, który obsługuje IObjectSafety
, jest odpowiedzialny za własne zabezpieczenia i dowolny obiekt, który deleguje. Programista musi wziąć pod uwagę problemy wynikające z uruchamiania kodu w kontekście użytkownika, wykonywanie skryptów między witrynami i przeprowadzanie odpowiedniego sprawdzania strefy.
Zobacz IObjectSafety::GetInterfaceSafetyOptions w zestawie Windows SDK.
IObjectSafetyImpl::m_dwCurrentSafety
Przechowuje bieżący poziom bezpieczeństwa obiektu.
DWORD m_dwCurrentSafety;
IObjectSafetyImpl::SetInterfaceSafetyOptions
Sprawia, że obiekt jest bezpieczny do inicjowania lub tworzenia skryptów, ustawiając element członkowski m_dwCurrentSafety na odpowiednią wartość.
HRESULT SetInterfaceSafetyOptions(
REFIID riid,
DWORD dwOptionsSetMask,
DWORD dwEnabledOptions);
Uwagi
Implementacja zwraca E_NOINTERFACE dla żadnego interfejsu IUnknown::QueryInterface
, który nie jest obsługiwany przez implementację obiektu .
Ważne
Każdy obiekt, który obsługuje IObjectSafety
, jest odpowiedzialny za własne zabezpieczenia i dowolny obiekt, który deleguje. Programista musi wziąć pod uwagę problemy wynikające z uruchamiania kodu w kontekście użytkownika, wykonywanie skryptów między witrynami i przeprowadzanie odpowiedniego sprawdzania strefy.
Zobacz IObjectSafety::SetInterfaceSafetyOptions w zestawie Windows SDK.