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元件類別,提供替代方式來指定元件是安全的。
繼承階層架構
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 。