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