Aracılığıyla paylaş


IObjectSafetyImpl Sınıfı

Bu sınıf, istemcinin bir nesnenin IObjectSafety güvenlik düzeylerini almasına ve ayarlamasına izin vermek için arabiriminin varsayılan uygulamasını sağlar.

Önemli

Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.

Sözdizimi

template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl

Parametreler

T
sınıfından IObjectSafetyImpltüretilen sınıfınız.

dwSupportedSafety
Denetim için desteklenen güvenlik seçeneklerini belirtir. Aşağıdaki değerlerden biri olabilir:

  • INTERFACESAFE_FOR_UNTRUSTED_CALLER SetInterfaceSafetyOptions parametresi riid tarafından tanımlanan arabirim betik oluşturma için güvenli hale getirilmelidir.

  • INTERFACESAFE_FOR_UNTRUSTED_DATA Parametresi riid tarafından SetInterfaceSafetyOptions tanımlanan arabirim, başlatma sırasında güvenilmeyen veriler için güvenli hale getirilmelidir.

Üyeler

Genel Yöntemler

Veri Akışı Adı Açıklama
IObjectSafetyImpl::GetInterfaceSafetyOptions Nesne tarafından desteklenen güvenlik seçeneklerinin yanı sıra nesne için ayarlanmış olan güvenlik seçeneklerini alır.
IObjectSafetyImpl::SetInterfaceSafetyOptions Nesneyi başlatma veya betik oluşturma için güvenli hale getirir.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
IObjectSafetyImpl::m_dwCurrentSafety Nesnenin geçerli güvenlik düzeyini depolar.

Açıklamalar

sınıfı IObjectSafetyImpl varsayılan uygulamasını IObjectSafetysağlar. Arabirim, IObjectSafety istemcinin nesnenin güvenlik düzeylerini almasına ve ayarlamasına olanak tanır. Örneğin, bir web tarayıcısı denetimi başlatma için güvenli veya betik oluşturma için güvenli hale getirmek için çağırabilir IObjectSafety::SetInterfaceSafetyOptions .

CATID_SafeForScripting ve CATID_SafeForInitializing bileşen kategorileri ile IMPLEMENTED_CATEGORY makronun kullanılması, bileşenin güvenli olduğunu belirtmek için alternatif bir yol sağlar.

İlgili Makaleler ATL Öğreticisi, ATL Projesi Oluşturma

Devralma Hiyerarşisi

IObjectSafety

IObjectSafetyImpl

Gereksinimler

Üst bilgi: atlctl.h

IObjectSafetyImpl::GetInterfaceSafetyOptions

Nesne tarafından desteklenen güvenlik seçeneklerinin yanı sıra nesne için ayarlanmış olan güvenlik seçeneklerini alır.

HRESULT GetInterfaceSafetyOptions(
    REFIID riid,
    DWORD* pdwSupportedOptions,
    DWORD* pdwEnabledOptions);

Açıklamalar

Uygulama, nesnesinin uygulaması IUnknown::QueryInterfacetarafından desteklenen tüm arabirimler için uygun değerleri döndürür.

Önemli

Destekleyen IObjectSafety tüm nesneler kendi güvenliğinden ve temsilci olarak atanan nesnelerden sorumludur. Programcı, kullanıcının bağlamında kod çalıştırma, siteler arası betik oluşturma ve uygun bölge denetimi gerçekleştirmeden kaynaklanan sorunları dikkate almalıdır.

Bkz . Windows SDK'sında IObjectSafety::GetInterfaceSafetyOptions .

IObjectSafetyImpl::m_dwCurrentSafety

Nesnenin geçerli güvenlik düzeyini depolar.

DWORD m_dwCurrentSafety;

IObjectSafetyImpl::SetInterfaceSafetyOptions

m_dwCurrentSafety üyesini uygun değere ayarlayarak nesneyi başlatma veya betik oluşturma için güvenli hale getirir.

HRESULT SetInterfaceSafetyOptions(
    REFIID riid,
    DWORD dwOptionsSetMask,
    DWORD dwEnabledOptions);

Açıklamalar

Uygulama, nesnesinin uygulaması IUnknown::QueryInterfacetarafından desteklenmeyen arabirimler için E_NOINTERFACE döndürür.

Önemli

Destekleyen IObjectSafety tüm nesneler kendi güvenliğinden ve temsilci olarak atanan nesnelerden sorumludur. Programcı, kullanıcının bağlamında kod çalıştırma, siteler arası betik oluşturma ve uygun bölge denetimi gerçekleştirmeden kaynaklanan sorunları dikkate almalıdır.

Bkz . Windows SDK'sında IObjectSafety::SetInterfaceSafetyOptions .

Ayrıca bkz.

IObjectSafety Arabirimi
Sınıfa Genel Bakış