Classe IObjectSafetyImpl

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

Importante

Essa classe e seus membros não podem ser usados em aplicativos que são 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 riidSetInterfaceSafetyOptions deve se tornar segura para scripts.

  • INTERFACESAFE_FOR_UNTRUSTED_DATA a interface identificada pelo SetInterfaceSafetyOptions parâmetro riid deve se tornar 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 do objeto, bem como as opções de segurança definidas no momento 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 IObjectSafety interface permite que um cliente recupere e defina os níveis de segurança de um objeto. Por exemplo, um navegador da Web pode chamar IObjectSafety::SetInterfaceSafetyOptions para tornar um controle seguro para inicialização ou seguro para scripts.

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

Tutorial sobre oATLde artigos relacionados, criando um Project de ATL

Hierarquia de herança

IObjectSafety

IObjectSafetyImpl

Requisitos

Cabeçalho: atlctl. h

IObjectSafetyImpl::GetInterfaceSafetyOptions

Recupera as opções de segurança com suporte do objeto, bem como as opções de segurança definidas no momento 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 da implementação do objeto do IUnknown::QueryInterface .

Importante

Qualquer objeto que dê suporte IObjectSafety é responsável por sua própria segurança e de qualquer objeto delegado por ele. O programador deve levar em conta os problemas decorrentes da execução de código no contexto do usuário, script entre sites e execução adequada da verificação de zona.

consulte IObjectSafety:: GetInterfaceSafetyOptions no 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 como o valor apropriado.

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

Comentários

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

Importante

Qualquer objeto que dê suporte IObjectSafety é responsável por sua própria segurança e de qualquer objeto delegado por ele. O programador deve levar em conta os problemas decorrentes da execução de código no contexto do usuário, script entre sites e execução adequada da verificação de zona.

consulte IObjectSafety:: SetInterfaceSafetyOptions no SDK do Windows.

Confira também

Interface IObjectSafety
Visão geral da classe