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 .
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
parametrriid
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::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 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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla