Udostępnij za pośrednictwem


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 IObjectSafetyImplklasy .

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 parametr riid 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::QueryInterfaceprzez 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.

Zobacz też

IObjectSafety, interfejs
Omówienie klasy