Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.