Поделиться через


Класс IObjectSafetyImpl

Замечание

Библиотека активных шаблонов (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.

См. также

Интерфейс IObjectSafety
Общие сведения о классе