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 SetInterfaceSafetyOptions
riid
deverá ser segura para scripts.INTERFACESAFE_FOR_UNTRUSTED_DATA A interface identificada pelo parâmetro
SetInterfaceSafetyOptions
riid
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 relacionados Tutorial 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.