Compartir a través de


Clase IObjectSafetyImpl

Nota:

La biblioteca de plantillas activas (ATL) sigue siendo compatible. Sin embargo, ya no estamos agregando características ni actualizando la documentación.

Esta clase proporciona una implementación predeterminada de la interfaz IObjectSafety para permitir que un cliente recupere y establezca los niveles de seguridad de un objeto.

Importante

Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.

Sintaxis

template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl

Parámetros

T
La clase, que se deriva de IObjectSafetyImpl.

dwSupportedSafety
Especifica las opciones de seguridad admitidas para el control. Puede ser uno de los siguientes valores:

  • INTERFACESAFE_FOR_UNTRUSTED_CALLER La interfaz identificada por el parámetro de riid debe ser segura para el scripting.

  • INTERFACESAFE_FOR_UNTRUSTED_DATA La interfaz identificada por el parámetro SetInterfaceSafetyOptions de riid debe ser segura para los datos que no son de confianza durante la inicialización.

Miembros

Métodos públicos

Nombre Descripción
IObjectSafetyImpl::GetInterfaceSafetyOptions Recupera las opciones de seguridad admitidas por el objeto, así como las opciones de seguridad establecidas actualmente para el objeto.
IObjectSafetyImpl::SetInterfaceSafetyOptions Hace que el objeto sea seguro para la inicialización o scripting.

Miembros de datos públicos

Nombre Descripción
IObjectSafetyImpl::m_dwCurrentSafety Almacena el nivel de seguridad actual del objeto.

Comentarios

La clase IObjectSafetyImpl proporciona una implementación predeterminada de IObjectSafety. La interfaz IObjectSafety permite a un cliente recuperar y establecer los niveles de seguridad de un objeto. Por ejemplo, un explorador web puede llamar a IObjectSafety::SetInterfaceSafetyOptions para que un control sea seguro para la inicialización o para el scripting.

Tenga en cuenta que el uso de la macro IMPLEMENTED_CATEGORY con las categorías de componentes CATID_SafeForScripting y CATID_SafeForInitializing proporciona una manera alternativa de especificar que un componente es seguro.

Artículos relacionados Tutorial de ATL, Creación de un proyecto ATL

Jerarquía de herencia

IObjectSafety

IObjectSafetyImpl

Requisitos

Encabezado: atlctl.h

IObjectSafetyImpl::GetInterfaceSafetyOptions

Recupera las opciones de seguridad admitidas por el objeto, así como las opciones de seguridad establecidas actualmente para el objeto.

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

Comentarios

La implementación devuelve los valores adecuados para cualquier interfaz compatible con la implementación de IUnknown::QueryInterface.

Importante

Cualquier objeto que admita IObjectSafety es responsable de su propia seguridad y de la de cualquier objeto que delegue. El programador debe tener en cuenta los problemas derivados de la ejecución de código en el contexto del usuario, el scripting entre sitios y realizar una comprobación de zona adecuada.

Consulte IObjectSafety::GetInterfaceSafetyOptions en Windows SDK.

IObjectSafetyImpl::m_dwCurrentSafety

Almacena el nivel de seguridad actual del objeto.

DWORD m_dwCurrentSafety;

IObjectSafetyImpl::SetInterfaceSafetyOptions

Hace que el objeto sea seguro para la inicialización o scripting estableciendo el miembro m_dwCurrentSafety en el valor adecuado.

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

Comentarios

La implementación devuelve E_NOINTERFACE para cualquier interfaz no admitida por la implementación de IUnknown::QueryInterface.

Importante

Cualquier objeto que admita IObjectSafety es responsable de su propia seguridad y de la de cualquier objeto que delegue. El programador debe tener en cuenta los problemas derivados de la ejecución de código en el contexto del usuario, el scripting entre sitios y realizar una comprobación de zona adecuada.

Consulte IObjectSafety::SetInterfaceSafetyOptions en Windows SDK.

Consulte también

Interfaz IObjectSafety
Información general sobre la clase