共用方式為


IObjectSafetyImpl 類別

這個類別提供介面的預設實作 IObjectSafety ,以允許用戶端擷取和設定物件的安全等級。

重要

這個類別及其成員不能用於在 Windows 執行階段 中執行的應用程式。

語法

template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl

參數

T
您的類別衍生自 IObjectSafetyImpl

dwSupportedSafety
指定控制項支援的安全性選項。 可以是下列值之一:

  • INTERFACESAFE_FOR_UNTRUSTED_CALLER SetInterfaceSafetyOptions 參數riid識別的介面應該為腳本安全。

  • INTERFACESAFE_FOR_UNTRUSTED_DATA 在riid初始化期間,參數所識別的SetInterfaceSafetyOptions介面應該為不受信任的數據提供安全。

成員

公用方法

名稱 描述
IObjectSafetyImpl::GetInterfaceSafetyOptions 擷取物件所支援的安全性選項,以及目前為物件設定的安全選項。
IObjectSafetyImpl::SetInterfaceSafetyOptions 讓物件安全進行初始化或腳本處理。

公用資料成員

名稱 描述
IObjectSafetyImpl::m_dwCurrentSafety 儲存物件的目前安全等級。

備註

類別 IObjectSafetyImpl 提供的預設實作 IObjectSafety。 介面 IObjectSafety 可讓用戶端擷取和設定物件的安全等級。 例如,網頁瀏覽器可以呼叫 IObjectSafety::SetInterfaceSafetyOptions ,讓控件安全進行初始化,或安全地編寫腳本。

請注意,使用 IMPLEMENTED_CATEGORY 巨集搭配CATID_SafeForScripting和CATID_SafeForInitializing元件類別,提供替代方式來指定元件是安全的。

相關文章 ATL 教學課程建立 ATL 專案

繼承階層架構

IObjectSafety

IObjectSafetyImpl

需求

標頭: atlctl.h

IObjectSafetyImpl::GetInterfaceSafetyOptions

擷取物件所支援的安全性選項,以及目前為物件設定的安全選項。

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

備註

實作會傳回 物件 IUnknown::QueryInterface實作所支援之任何介面的適當值。

重要

支援 IObjectSafety 的任何對象都負責自己的安全性,以及它委派的任何物件。 程式設計人員必須考慮在用戶內容中執行程式碼、跨網站腳本並執行適當的區域檢查所產生的問題。

請參閱 Windows SDK 中的 IObjectSafety::GetInterfaceSafetyOptions

IObjectSafetyImpl::m_dwCurrentSafety

儲存物件的目前安全等級。

DWORD m_dwCurrentSafety;

IObjectSafetyImpl::SetInterfaceSafetyOptions

藉由將m_dwCurrentSafety成員設定為適當的值,讓物件安全進行初始化或編寫腳本。

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

備註

實作會針對 對象實 IUnknown::QueryInterface作不支援的任何介面傳回E_NOINTERFACE。

重要

支援 IObjectSafety 的任何對象都負責自己的安全性,以及它委派的任何物件。 程式設計人員必須考慮在用戶內容中執行程式碼、跨網站腳本並執行適當的區域檢查所產生的問題。

請參閱 Windows SDK 中的 IObjectSafety::SetInterfaceSafetyOptions

另請參閱

IObjectSafety 介面
類別概觀