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


Класс 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.

См. также

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