Класс IObjectSafetyImpl
Этот класс предоставляет реализацию IObjectSafety
интерфейса по умолчанию, чтобы разрешить клиенту получать и задавать уровни безопасности объекта.
Важно!
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl
Параметры
T
Класс, производный от IObjectSafetyImpl
.
dwSupported Сейф ty
Задает поддерживаемые параметры безопасности для элемента управления. Может использоваться одно из следующих значений:
INTERFACESAFE_FOR_UNTRUSTED_CALLER Интерфейс, определенный параметром
riid
SetInterface Сейф tyOptions, должен быть безопасным для сценариев.INTERFACESAFE_FOR_UNTRUSTED_DATA интерфейс, определенный параметром
SetInterfaceSafetyOptions
riid
, должен быть безопасным для ненадежных данных во время инициализации.
Участники
Открытые методы
Имя | Описание |
---|---|
IObject Сейф tyImpl::GetInterface Сейф tyOptions | Извлекает параметры безопасности, поддерживаемые объектом, а также параметры безопасности, заданные в данный момент для объекта. |
IObject Сейф tyImpl::SetInterface Сейф tyOptions | Делает объект безопасным для инициализации или скрипта. |
Открытые члены данных
Имя | Описание |
---|---|
IObject Сейф tyImpl::m_dwCurrentСейф ty | Сохраняет текущий уровень безопасности объекта. |
Замечания
Класс IObjectSafetyImpl
предоставляет реализацию IObjectSafety
по умолчанию. Интерфейс IObjectSafety
позволяет клиенту получать и задавать уровни безопасности объекта. Например, веб-браузер может вызвать IObjectSafety::SetInterfaceSafetyOptions
элемент управления, безопасный для инициализации или безопасного для сценариев.
Обратите внимание, что использование макроса IMPLEMENTED_CATEGORY с категориями компонентов CATID_Сейф ForScripting и CATID_Сейф ForInitializing предоставляет альтернативный способ указания того, что компонент является безопасным.
Руководство по созданию проекта ATL в статьяхATL
Иерархия наследования
IObjectSafety
IObjectSafetyImpl
Требования
Header: atlctl.h
IObject Сейф tyImpl::GetInterface Сейф tyOptions
Извлекает параметры безопасности, поддерживаемые объектом, а также параметры безопасности, заданные в данный момент для объекта.
HRESULT GetInterfaceSafetyOptions(
REFIID riid,
DWORD* pdwSupportedOptions,
DWORD* pdwEnabledOptions);
Замечания
Реализация возвращает соответствующие значения для любого интерфейса, поддерживаемого IUnknown::QueryInterface
реализацией объекта.
Важно!
Любой объект, поддерживающий IObjectSafety
собственную безопасность, и любой объект, который он делегирует. Программист должен учитывать проблемы, возникающие при выполнении кода в контексте пользователя, межстраничном скрипте и выполнении подходящей зоны проверка.
См. раздел IObject Сейф ty::GetInterface Сейф tyOptions в пакете SDK для Windows.
IObject Сейф tyImpl::m_dwCurrentСейф ty
Сохраняет текущий уровень безопасности объекта.
DWORD m_dwCurrentSafety;
IObject Сейф tyImpl::SetInterface Сейф tyOptions
Делает объект безопасным для инициализации или скрипта, задав элемент m_dwCurrentСейф ty соответствующим значением.
HRESULT SetInterfaceSafetyOptions(
REFIID riid,
DWORD dwOptionsSetMask,
DWORD dwEnabledOptions);
Замечания
Реализация возвращает E_NOINTERFACE для любого интерфейса, который не поддерживается реализацией IUnknown::QueryInterface
объекта.
Важно!
Любой объект, поддерживающий IObjectSafety
собственную безопасность, и любой объект, который он делегирует. Программист должен учитывать проблемы, возникающие при выполнении кода в контексте пользователя, межстраничном скрипте и выполнении подходящей зоны проверка.
См. раздел IObject Сейф ty::SetInterface Сейф tyOptions в пакете SDK для Windows.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по