Classe IObjectSafetyImpl

Essa classe fornece uma implementação padrão da interface IObjectSafety para permitir que um cliente recupere e defina os níveis de segurança de um objeto.

Importante

Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.

Sintaxe

template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl

Parâmetros

T
Sua classe, derivada de IObjectSafetyImpl.

dwSupportedSafety
Especifica as opções de segurança com suporte para o controle. Pode ser um dos seguintes valores:

  • INTERFACESAFE_FOR_UNTRUSTED_CALLER A interface identificada pelo parâmetro SetInterfaceSafetyOptionsriid deverá ser segura para scripts.

  • INTERFACESAFE_FOR_UNTRUSTED_DATA A interface identificada pelo parâmetro SetInterfaceSafetyOptionsriid deverá ser segura para dados não confiáveis durante a inicialização.

Membros

Métodos públicos

Nome Descrição
IObjectSafetyImpl::GetInterfaceSafetyOptions Recupera as opções de segurança com suporte para objeto, bem como as opções de segurança atualmente definidas para o objeto.
IObjectSafetyImpl::SetInterfaceSafetyOptions Torna o objeto seguro para inicialização ou script.

Membros de Dados Públicos

Nome Descrição
IObjectSafetyImpl::m_dwCurrentSafety Armazena o nível de segurança atual do objeto.

Comentários

A classe IObjectSafetyImpl fornece uma implementação padrão de IObjectSafety. A interface IObjectSafety permite que um cliente recupere e defina os níveis de segurança de um objeto. Por exemplo, um navegador da Web poderá chamar IObjectSafety::SetInterfaceSafetyOptions para tornar um controle seguro para inicialização ou seguro para script.

Observe que o uso da macro IMPLEMENTED_CATEGORY com as categorias de componente CATID_SafeForScripting e CATID_SafeForInitializing fornece uma maneira alternativa de especificar que um componente é seguro.

Artigos relacionadosTutorial da ATL, Criando um projeto da ATL

Hierarquia de herança

IObjectSafety

IObjectSafetyImpl

Requisitos

Cabeçalho: atlctl.h

IObjectSafetyImpl::GetInterfaceSafetyOptions

Recupera as opções de segurança com suporte para objeto, bem como as opções de segurança atualmente definidas para o objeto.

HRESULT GetInterfaceSafetyOptions(
    REFIID riid,
    DWORD* pdwSupportedOptions,
    DWORD* pdwEnabledOptions);

Comentários

A implementação retorna os valores apropriados para qualquer interface com suporte pela implementação do objeto de IUnknown::QueryInterface.

Importante

Todos os objetos com suporte para IObjectSafety são responsáveis pela sua própria segurança e de todos os respectivos objetos delegados. O programador deverá levar em conta os problemas decorrentes da execução de código no contexto do usuário, scripts entre sites e realizar uma verificação de zona adequada.

Consulte IObjectSafety::GetInterfaceSafetyOptionsno SDK do Windows.

IObjectSafetyImpl::m_dwCurrentSafety

Armazena o nível de segurança atual do objeto.

DWORD m_dwCurrentSafety;

IObjectSafetyImpl::SetInterfaceSafetyOptions

Torna o objeto seguro para inicialização ou script definindo o membro m_dwCurrentSafety para o valor apropriado.

HRESULT SetInterfaceSafetyOptions(
    REFIID riid,
    DWORD dwOptionsSetMask,
    DWORD dwEnabledOptions);

Comentários

A implementação retorna E_NOINTERFACE para qualquer interface sem suporte pela implementação do objeto de IUnknown::QueryInterface.

Importante

Todos os objetos com suporte para IObjectSafety são responsáveis pela sua própria segurança e de todos os respectivos objetos delegados. O programador deverá levar em conta os problemas decorrentes da execução de código no contexto do usuário, scripts entre sites e realizar uma verificação de zona adequada.

Consulte IObjectSafety::SetInterfaceSafetyOptions no SDK do Windows.

Confira também

Interface IObjectSafety
Visão geral da classe