Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот класс предоставляет реализацию IObjectSafety интерфейса по умолчанию, чтобы разрешить клиенту получать и задавать уровни безопасности объекта.
Внимание
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl
Параметры
T
Класс, производный от IObjectSafetyImpl.
dwSupportedSafety
Задает поддерживаемые параметры безопасности для элемента управления. Может использоваться одно из следующих значений:
INTERFACESAFE_FOR_UNTRUSTED_CALLER Интерфейс, определенный параметром
riidSetInterfaceSafetyOptions, должен быть безопасным для скриптов.INTERFACESAFE_FOR_UNTRUSTED_DATA интерфейс, определенный параметром
SetInterfaceSafetyOptionsriid, должен быть безопасным для ненадежных данных во время инициализации.
Участники
Открытые методы
| Имя | Описание |
|---|---|
| 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.