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 .

dwSupported Sejf ty
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 SetInterface Sejf tyOptions powinien być bezpieczny dla skryptów.

  • INTERFACESAFE_FOR_UNTRUSTED_DATA Interfejs zidentyfikowany przez SetInterfaceSafetyOptions parametr riid powinien być bezpieczny dla niezaufanych danych podczas inicjowania.

Członkowie

Metody publiczne

Nazwa/nazwisko opis
IObject Sejf tyImpl::GetInterface Sejf tyOptions Pobiera opcje bezpieczeństwa obsługiwane przez obiekt, a także opcje bezpieczeństwa ustawione obecnie dla obiektu.
IObject Sejf tyImpl::SetInterface Sejf tyOptions Sprawia, że obiekt jest bezpieczny do inicjowania lub tworzenia skryptów.

Publiczne elementy członkowskie danych

Nazwa/nazwisko opis
IObject Sejf tyImpl::m_dwCurrentSejf ty 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 CATID_Sejf ForScripting i CATID_Sejf ForInitializing kategorii składników zapewnia alternatywny sposób określania, że składnik jest bezpieczny.

Powiązane artykułyATL Tutorial, Creating an ATL Project (Samouczek dotyczący tworzenia projektu ATL)

Hierarchia dziedziczenia

IObjectSafety

IObjectSafetyImpl

Wymagania

Nagłówek: atlctl.h

IObject Sejf tyImpl::GetInterface Sejf tyOptions

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 IObject Sejf ty::GetInterface Sejf tyOptions w zestawie Windows SDK.

IObject Sejf tyImpl::m_dwCurrentSejf ty

Przechowuje bieżący poziom bezpieczeństwa obiektu.

DWORD m_dwCurrentSafety;

IObject Sejf tyImpl::SetInterface Sejf tyOptions

Sprawia, że obiekt jest bezpieczny do inicjowania lub tworzenia skryptów, ustawiając element członkowski m_dwCurrentSejf ty 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 IObject Sejf ty::SetInterface Sejf tyOptions w zestawie Windows SDK.

Zobacz też

IObject Sejf ty, interfejs
Omówienie klasy