Partilhar via


IObjectSafetyImpl Class

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta 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

Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.

Sintaxe

template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl

Parâmetros

T
A sua classe, derivada de IObjectSafetyImpl.

dwSuportadoSegurança
Especifica as opções de segurança suportadas para o controlo. Pode ser um dos seguintes valores:

  • INTERFACESAFE_FOR_UNTRUSTED_CALLER A interface identificada pelo parâmetro riidSetInterfaceSafetyOptions deve ser tornada segura para scripting.

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

Membros

Métodos Públicos

Nome Description
IObjectSafetyImpl::GetInterfaceSafetyOptions Recupera as opções de segurança suportadas pelo objeto, bem como as opções de segurança atualmente definidas para o objeto.
IObjectSafetyImpl::SetInterfaceSafetyOptions. Torna o objeto seguro para inicialização ou scripting.

Membros de Dados Públicos

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

Observações

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 web pode chamar IObjectSafety::SetInterfaceSafetyOptions para tornar um controlo seguro para inicialização ou seguro para scripting.

Note-se que usar a macro IMPLEMENTED_CATEGORY com as categorias CATID_SafeForScripting e CATID_SafeForInitializing componentes oferece uma forma alternativa de especificar que um componente é seguro.

Artigos RelacionadosTutorial ATL, Criação de um Projeto ATL

Hierarquia de herança

IObjectSafety

IObjectSafetyImpl

Requerimentos

Cabeçalho: atlctl.h

IObjectSafetyImpl::GetInterfaceSafetyOptions

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

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

Observações

A implementação devolve os valores apropriados para qualquer interface suportada pela implementação do objeto de IUnknown::QueryInterface.

Importante

Qualquer objeto que suporte IObjectSafety é responsável pela sua própria segurança, e pela de qualquer objeto que delegue. O programador deve ter em conta questões resultantes da execução de código no contexto do utilizador, scripting cross-site e realizar verificações de zonas adequadas.

Veja 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 scripting ao definir o membro m_dwCurrentSafety para o valor apropriado.

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

Observações

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

Importante

Qualquer objeto que suporte IObjectSafety é responsável pela sua própria segurança, e pela de qualquer objeto que delegue. O programador deve ter em conta questões resultantes da execução de código no contexto do utilizador, scripting cross-site e realizar verificações de zonas adequadas.

Veja IObjectSafety::SetInterfaceSafetyOptions no SDK do Windows.

Consulte também

Interface de Segurança IObject
Visão geral da classe