Класс IObjectSafetyImpl
Этот класс предоставляет реализацию IObjectSafety
интерфейса по умолчанию, чтобы разрешить клиенту получать и задавать уровни безопасности объекта.
Внимание
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl
Параметры
T
Класс, производный от IObjectSafetyImpl
.
dwSupportedSafety
Задает поддерживаемые параметры безопасности для элемента управления. Может использоваться одно из следующих значений:
INTERFACESAFE_FOR_UNTRUSTED_CALLER Интерфейс, определенный параметром
riid
SetInterfaceSafetyOptions, должен быть безопасным для скриптов.INTERFACESAFE_FOR_UNTRUSTED_DATA интерфейс, определенный параметром
SetInterfaceSafetyOptions
riid
, должен быть безопасным для ненадежных данных во время инициализации.
Участники
Открытые методы
Имя | Описание |
---|---|
IObjectSafetyImpl::GetInterfaceSafetyOptions | Извлекает параметры безопасности, поддерживаемые объектом, а также параметры безопасности, заданные в данный момент для объекта. |
IObjectSafetyImpl::SetInterfaceSafetyOptions | Делает объект безопасным для инициализации или скрипта. |
Открытые члены данных
Имя | Описание |
---|---|
IObjectSafetyImpl::m_dwCurrentSafety | Сохраняет текущий уровень безопасности объекта. |
Замечания
Класс IObjectSafetyImpl
предоставляет реализацию IObjectSafety
по умолчанию. Интерфейс IObjectSafety
позволяет клиенту получать и задавать уровни безопасности объекта. Например, веб-браузер может вызвать IObjectSafety::SetInterfaceSafetyOptions
элемент управления, безопасный для инициализации или безопасного для сценариев.
Обратите внимание, что использование макроса IMPLEMENTED_CATEGORY с CATID_SafeForScripting и категориями компонентов CATID_SafeForInitializing предоставляет альтернативный способ указания того, что компонент является безопасным.
Руководство по созданию проекта ATL в статьях ATL
Иерархия наследования
IObjectSafety
IObjectSafetyImpl
Требования
Header: atlctl.h
IObjectSafetyImpl::GetInterfaceSafetyOptions
Извлекает параметры безопасности, поддерживаемые объектом, а также параметры безопасности, заданные в данный момент для объекта.
HRESULT GetInterfaceSafetyOptions(
REFIID riid,
DWORD* pdwSupportedOptions,
DWORD* pdwEnabledOptions);
Замечания
Реализация возвращает соответствующие значения для любого интерфейса, поддерживаемого IUnknown::QueryInterface
реализацией объекта.
Внимание
Любой объект, поддерживающий IObjectSafety
собственную безопасность, и любой объект, который он делегирует. Программист должен учитывать проблемы, возникающие при выполнении кода в контексте пользователя, межстраничном скрипте и выполнении подходящей проверки зоны.
См. раздел IObjectSafety::GetInterfaceSafetyOptions в пакете SDK для Windows.
IObjectSafetyImpl::m_dwCurrentSafety
Сохраняет текущий уровень безопасности объекта.
DWORD m_dwCurrentSafety;
IObjectSafetyImpl::SetInterfaceSafetyOptions
Делает объект безопасным для инициализации или скрипта, задав элемент m_dwCurrentSafety соответствующее значение.
HRESULT SetInterfaceSafetyOptions(
REFIID riid,
DWORD dwOptionsSetMask,
DWORD dwEnabledOptions);
Замечания
Реализация возвращает E_NOINTERFACE для любого интерфейса, который не поддерживается реализацией IUnknown::QueryInterface
объекта.
Внимание
Любой объект, поддерживающий IObjectSafety
собственную безопасность, и любой объект, который он делегирует. Программист должен учитывать проблемы, возникающие при выполнении кода в контексте пользователя, межстраничном скрипте и выполнении подходящей проверки зоны.
См. раздел IObjectSafety::SetInterfaceSafetyOptions в пакете SDK для Windows.